refactor: moved grow animation to its own class
This commit is contained in:
parent
150b602dc3
commit
779af276d3
14 changed files with 224 additions and 116 deletions
|
@ -562,23 +562,6 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
text: {fileID: 379057222}
|
||||
animator: {fileID: 902566664}
|
||||
growAnimation: {fileID: 11400000, guid: 7f3b3c6fe0a532348bade08980464924, type: 2}
|
||||
endAnimation: {fileID: 11400000, guid: 8bca0def51335744994817560a43be74, type: 2}
|
||||
growEvent:
|
||||
Guid:
|
||||
Data1: 0
|
||||
Data2: 0
|
||||
Data3: 0
|
||||
Data4: 0
|
||||
Path:
|
||||
gloomEvent:
|
||||
Guid:
|
||||
Data1: 0
|
||||
Data2: 0
|
||||
Data3: 0
|
||||
Data4: 0
|
||||
Path:
|
||||
--- !u!225 &311490074
|
||||
CanvasGroup:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1402,6 +1385,7 @@ GameObject:
|
|||
- component: {fileID: 902566663}
|
||||
- component: {fileID: 902566662}
|
||||
- component: {fileID: 902566664}
|
||||
- component: {fileID: 902566665}
|
||||
m_Layer: 0
|
||||
m_Name: Rosa_Grow_0100
|
||||
m_TagString: Untagged
|
||||
|
@ -1490,6 +1474,35 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
animation: {fileID: 11400000, guid: 7f3b3c6fe0a532348bade08980464924, type: 2}
|
||||
--- !u!114 &902566665
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 902566661}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a0d2d820274a46d68d83fd6ddef1c431, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
animator: {fileID: 902566664}
|
||||
growAnimation: {fileID: 11400000, guid: 7f3b3c6fe0a532348bade08980464924, type: 2}
|
||||
endAnimation: {fileID: 11400000, guid: 8bca0def51335744994817560a43be74, type: 2}
|
||||
growEvent:
|
||||
Guid:
|
||||
Data1: -213766361
|
||||
Data2: 1214886339
|
||||
Data3: 1256039087
|
||||
Data4: -834483166
|
||||
Path: event:/SFX_grow
|
||||
gloomEvent:
|
||||
Guid:
|
||||
Data1: -2064803398
|
||||
Data2: 1237488133
|
||||
Data3: 1635234491
|
||||
Data4: 1937340427
|
||||
Path: event:/SFX_gloom
|
||||
--- !u!1 &921683578
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
@ -5,28 +5,28 @@ namespace Presenter {
|
|||
private readonly Score _score;
|
||||
private readonly IExpressionInput _view;
|
||||
private readonly IRoseGrow _grow;
|
||||
private readonly IInputCallback _onInputReceived;
|
||||
private readonly IRoseSpawner _spawner;
|
||||
|
||||
private bool CanSpawn => _score.Value % (_score.GrowIterations * _score.SpawnRate) == 0;
|
||||
|
||||
public ExpressionClick(Score score, IExpressionInput view, IRoseSpawner spawner, IRoseGrow grow) {
|
||||
public ExpressionClick(Score score, IExpressionInput view, IRoseSpawner spawner, IRoseGrow grow, IInputCallback inputCallback) {
|
||||
_score = score;
|
||||
_view = view;
|
||||
_spawner = spawner;
|
||||
_grow = grow;
|
||||
_onInputReceived = inputCallback;
|
||||
}
|
||||
|
||||
public void Execute() {
|
||||
_score.Add();
|
||||
_view.UpdateView(_score.Value, _score.GrowPercentage);
|
||||
_grow.Grow();
|
||||
|
||||
_onInputReceived.OnInputReceived();
|
||||
|
||||
if (CanSpawn)
|
||||
_spawner.SpawnRose();
|
||||
else if (_score.Value % _score.GrowIterations == 0)
|
||||
if (_score.Value % _score.GrowIterations == 0)
|
||||
_grow.GrowStep();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
5
Assets/Scripts/Presenter/IInputCallback.cs
Normal file
5
Assets/Scripts/Presenter/IInputCallback.cs
Normal file
|
@ -0,0 +1,5 @@
|
|||
namespace Presenter {
|
||||
public interface IInputCallback {
|
||||
void OnInputReceived();
|
||||
}
|
||||
}
|
3
Assets/Scripts/Presenter/IInputCallback.cs.meta
Normal file
3
Assets/Scripts/Presenter/IInputCallback.cs.meta
Normal file
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4b8d0f034669436ca57e685c00414e3f
|
||||
timeCreated: 1713517680
|
|
@ -1,6 +1,5 @@
|
|||
namespace Presenter {
|
||||
public interface IRoseGrow {
|
||||
void Grow();
|
||||
void GrowStep();
|
||||
}
|
||||
}
|
|
@ -6,18 +6,21 @@ namespace Presenter.SaveSystem {
|
|||
private readonly Score _score;
|
||||
private readonly IExpressionInput _expressionInput;
|
||||
private readonly IRoseSpawner _spawner;
|
||||
private readonly IRoseGrow _growAnimation;
|
||||
|
||||
public LoadGame(IGameRepository repository, Score score, IExpressionInput expressionInput, IRoseSpawner spawner) {
|
||||
public LoadGame(IGameRepository repository, Score score, IExpressionInput expressionInput, IRoseSpawner spawner, IRoseGrow growAnimation) {
|
||||
_repository = repository;
|
||||
_score = score;
|
||||
_expressionInput = expressionInput;
|
||||
_spawner = spawner;
|
||||
_growAnimation = growAnimation;
|
||||
}
|
||||
|
||||
public void Run() {
|
||||
Score newScore = _repository.LoadScore();
|
||||
_score.SetFromOtherScore(newScore);
|
||||
_expressionInput.UpdateView(_score.Value, _score.GrowPercentage);
|
||||
_growAnimation.GrowStep();
|
||||
|
||||
int roses = _score.Value / (_score.SpawnRate * _score.GrowIterations);
|
||||
for (int i = 0; i < roses; i++)
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
using Presenter;
|
||||
|
||||
namespace View.Collections {
|
||||
public class RoseGrowCollection : IRoseGrow {
|
||||
private readonly IRoseGrow[] _grows;
|
||||
|
||||
public RoseGrowCollection(IRoseGrow[] grows) {
|
||||
_grows = grows;
|
||||
}
|
||||
|
||||
public void Grow() {
|
||||
foreach (IRoseGrow grow in _grows)
|
||||
grow.Grow();
|
||||
}
|
||||
|
||||
public void GrowStep() {
|
||||
foreach (IRoseGrow grow in _grows)
|
||||
grow.GrowStep();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6f517298528d4766a83770b1867f905f
|
||||
timeCreated: 1713475808
|
|
@ -25,17 +25,16 @@ namespace View {
|
|||
|
||||
IRoseSpawner spawner = FindObjectOfType<RoseSpawner>();
|
||||
|
||||
IRoseGrow grow = FindObjectOfType<GrowParticlesSpawner>();
|
||||
IRoseGrow inputGrow = FindObjectOfType<ExpressionInput>();
|
||||
IRoseGrow growCollection = new RoseGrowCollection(new[] { grow, inputGrow });
|
||||
IInputCallback growParticles = FindObjectOfType<GrowParticlesSpawner>();
|
||||
IRoseGrow growAnimation = FindObjectOfType<GrowAnimation>();
|
||||
|
||||
ExpressionClick = new ExpressionClick(Score, inputCollections, spawner, growCollection);
|
||||
ExpressionClick = new ExpressionClick(Score, inputCollections, spawner, growAnimation, growParticles);
|
||||
|
||||
CustomInput = new CustomInput();
|
||||
|
||||
PlayerPrefsRepository repository = new();
|
||||
Saver = new SaveGame(repository, Score);
|
||||
Loader = new LoadGame(repository, Score, inputCollections, spawner);
|
||||
Loader = new LoadGame(repository, Score, inputCollections, spawner, growAnimation);
|
||||
}
|
||||
}
|
||||
}
|
62
Assets/Scripts/View/Scene/GrowAnimation.cs
Normal file
62
Assets/Scripts/View/Scene/GrowAnimation.cs
Normal file
|
@ -0,0 +1,62 @@
|
|||
using System;
|
||||
using Domain;
|
||||
using FMODUnity;
|
||||
using Presenter;
|
||||
using UnityEngine;
|
||||
using Animation = FramedAnimator.Animation;
|
||||
using Animator = FramedAnimator.Animator;
|
||||
|
||||
namespace View.Scene {
|
||||
public class GrowAnimation : MonoBehaviour, IRoseGrow {
|
||||
[SerializeField] private Animator animator;
|
||||
[SerializeField] private Animation growAnimation;
|
||||
[SerializeField] private Animation endAnimation;
|
||||
|
||||
[SerializeField] private EventReference growEvent;
|
||||
[SerializeField] private EventReference gloomEvent;
|
||||
|
||||
private Score _score;
|
||||
private bool _firstUpdate;
|
||||
|
||||
private void Start() {
|
||||
_score = FindObjectOfType<Dependencies>().Score;
|
||||
|
||||
animator.OnAnimationEnd += AnimationEnded;
|
||||
}
|
||||
|
||||
private void AnimationEnded(string animationName) {
|
||||
if (animationName == "Rosa_Grow") {
|
||||
animator.ChangeAnimation(endAnimation);
|
||||
RuntimeManager.PlayOneShot(gloomEvent);
|
||||
animator.PlayUntil(1f);
|
||||
return;
|
||||
}
|
||||
|
||||
if (animationName == "Rosa_End") {
|
||||
animator.ChangeAnimation(growAnimation);
|
||||
animator.PlayUntil(_score.GrowPercentage);
|
||||
}
|
||||
}
|
||||
|
||||
public void GrowStep() {
|
||||
if (animator.CurrentAnimation == "Rosa_Grow") {
|
||||
animator.PlayUntil(IsLastGrowState(_score.Value, _score.GrowPercentage) ? 1f : _score.GrowPercentage);
|
||||
if (_score.GrowPercentage < 1f)
|
||||
RuntimeManager.PlayOneShot(growEvent);
|
||||
}
|
||||
_firstUpdate = false;
|
||||
}
|
||||
|
||||
private bool IsLastGrowState(int score, float growPercentage) {
|
||||
if (growPercentage != 0)
|
||||
return false;
|
||||
bool isLastFrame = score % (_score.GrowIterations * _score.SpawnRate) == 0;
|
||||
if (!isLastFrame)
|
||||
return false;
|
||||
if (_firstUpdate)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
3
Assets/Scripts/View/Scene/GrowAnimation.cs.meta
Normal file
3
Assets/Scripts/View/Scene/GrowAnimation.cs.meta
Normal file
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a0d2d820274a46d68d83fd6ddef1c431
|
||||
timeCreated: 1713516930
|
|
@ -4,18 +4,16 @@ using UnityEngine;
|
|||
using Random = UnityEngine.Random;
|
||||
|
||||
namespace View.Scene {
|
||||
public class GrowParticlesSpawner : MonoBehaviour, IRoseGrow {
|
||||
public class GrowParticlesSpawner : MonoBehaviour, IInputCallback {
|
||||
[SerializeField] private GrowParticle growParticle;
|
||||
[SerializeField] private Transform growParticlePositions;
|
||||
[SerializeField, Range(0, 180)] private float angleRange;
|
||||
|
||||
public void Grow() {
|
||||
public void OnInputReceived() {
|
||||
float randomRotation = Random.Range(-angleRange / 2f, angleRange / 2f);
|
||||
Instantiate(growParticle, growParticlePositions.position, Quaternion.Euler(0f, 0f, randomRotation));
|
||||
}
|
||||
|
||||
public void GrowStep() { }
|
||||
|
||||
private void OnDrawGizmosSelected() {
|
||||
Gizmos.color = Color.red;
|
||||
float angle = angleRange / 2f + 90f;
|
||||
|
|
|
@ -1,81 +1,25 @@
|
|||
using Domain;
|
||||
using Domain.Input;
|
||||
using FMODUnity;
|
||||
using Presenter;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
using Animation = FramedAnimator.Animation;
|
||||
using Animator = FramedAnimator.Animator;
|
||||
|
||||
namespace View.UI {
|
||||
public class ExpressionInput : MonoBehaviour, IExpressionInput, IRoseGrow {
|
||||
public class ExpressionInput : MonoBehaviour, IExpressionInput {
|
||||
[SerializeField] private TMP_Text text;
|
||||
|
||||
private ExpressionClick _click;
|
||||
private CustomInput _customInput;
|
||||
private Score _score;
|
||||
|
||||
private bool _firstUpdate = true;
|
||||
|
||||
[SerializeField] private Animator animator;
|
||||
[SerializeField] private Animation growAnimation;
|
||||
[SerializeField] private Animation endAnimation;
|
||||
|
||||
[SerializeField] private EventReference growEvent;
|
||||
[SerializeField] private EventReference gloomEvent;
|
||||
|
||||
private void Start() {
|
||||
_click = FindObjectOfType<Dependencies>().ExpressionClick;
|
||||
_customInput = FindObjectOfType<Dependencies>().CustomInput;
|
||||
_score = FindObjectOfType<Dependencies>().Score;
|
||||
|
||||
animator.OnAnimationEnd += AnimationEnded;
|
||||
}
|
||||
|
||||
private void AnimationEnded(string animationName) {
|
||||
if (animationName == "Rosa_Grow") {
|
||||
animator.ChangeAnimation(endAnimation);
|
||||
RuntimeManager.PlayOneShot(gloomEvent);
|
||||
animator.PlayUntil(1f);
|
||||
return;
|
||||
}
|
||||
|
||||
if (animationName == "Rosa_End") {
|
||||
animator.ChangeAnimation(growAnimation);
|
||||
animator.PlayUntil(_score.GrowPercentage);
|
||||
}
|
||||
}
|
||||
|
||||
private void Update() {
|
||||
private void Update() =>
|
||||
CheckInput();
|
||||
}
|
||||
|
||||
public void UpdateView(int score, float growPercentage) {
|
||||
if (animator.CurrentAnimation == "Rosa_Grow")
|
||||
animator.PlayUntil(IsLastGrowState(score, growPercentage) ? 1f : growPercentage);
|
||||
|
||||
public void UpdateView(int score, float growPercentage) =>
|
||||
text.text = score.ToString();
|
||||
_firstUpdate = false;
|
||||
}
|
||||
|
||||
public void Grow() { }
|
||||
public void GrowStep() {
|
||||
if (animator.CurrentAnimation == "Rosa_Grow" && _score.GrowPercentage < 1f) {
|
||||
RuntimeManager.PlayOneShot(growEvent);
|
||||
}
|
||||
}
|
||||
|
||||
private bool IsLastGrowState(int score, float growPercentage) {
|
||||
if (growPercentage != 0)
|
||||
return false;
|
||||
bool isLastFrame = score % (_score.GrowIterations * _score.SpawnRate) == 0;
|
||||
if (!isLastFrame)
|
||||
return false;
|
||||
if (_firstUpdate)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
private void CheckInput() {
|
||||
_customInput.UpdateInput();
|
||||
|
|
103
fmod_editor.log
103
fmod_editor.log
|
@ -0,0 +1,103 @@
|
|||
[LOG] System::create : Header version = 2.02.06. Current version = 2.02.06.
|
||||
[LOG] Manager::init : maxchannels = 256 studioflags = 00000006 flags 00000000 extradriverdata 0000000000000000.
|
||||
[LOG] SystemI::init : Initialize version=20206 (124257), maxchannels=256, flags=0x00020000
|
||||
[LOG] SystemI::setOutputInternal : Setting output to 'FMOD WASAPI Output'
|
||||
[LOG] OutputWASAPI::init : Mix Format (WAVEFORMATEX): wFormatTag=0xFFFE, nChannels=2, nSamplesPerSec=48000, nAvgBytesPerSec=384000, nBlockAlign=8, wBitsPerSample=32, cbSize=22.
|
||||
[LOG] OutputWASAPI::init : Mix Format (WAVEFORMATEXTENSIBLE): wValidBitsPerSample=32, dwChannelMask=0x00000003, SubFormat=00000003-0000-0010-8000-00AA00389B71.
|
||||
[LOG] OutputWASAPI::init : Output buffer size: 4096 samples, latency: 0.00ms, period: 10.67ms, DSP buffer: 1024 * 4
|
||||
[LOG] Thread::initThread : Init FMOD stream thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFB, Stack Size: 98304, Semaphore: No, Sleep Time: 10, Looping: Yes.
|
||||
[LOG] Thread::initThread : Init FMOD mixer thread. Affinity: 0x4000000000000001, Priority: 0xFFFF7FFA, Stack Size: 81920, Semaphore: No, Sleep Time: 0, Looping: Yes.
|
||||
[LOG] AsyncManager::init : manager 0000020359CFD0D8 isAsync 0 updatePeriod 0.02
|
||||
[LOG] AsyncManager::init : done
|
||||
[LOG] PlaybackSystem::init :
|
||||
[LOG] Thread::initThread : Init FMOD Studio sample load thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFD, Stack Size: 98304, Semaphore: No, Sleep Time: 1, Looping: No.
|
||||
[LOG] PlaybackSystem::init : done
|
||||
[LOG] Thread::initThread : Init FMOD Studio bank load thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFD, Stack Size: 98304, Semaphore: No, Sleep Time: 1, Looping: No.
|
||||
[LOG] Manager::init : done.
|
||||
[LOG] SystemI::createSound : filename = Assets/Audio/Master.bank : mode 02010082
|
||||
[LOG] SystemI::createSound : FMOD_NONBLOCKING specified. Putting into queue to be opened asynchronously!
|
||||
[LOG] Thread::initThread : Init FMOD nonblocking thread (0). Affinity: 0x4000000000000003, Priority: 0xFFFF7FFC, Stack Size: 114688, Semaphore: Yes, Sleep Time: 0, Looping: Yes.
|
||||
[LOG] SystemI::createSound : setdata soundi = 00000202A2449798 : node = 00000202A9AFA2E0
|
||||
[LOG] SystemI::createSound : add node to async list : head = 000002023A6557E8. list count = 0
|
||||
[LOG] AsyncThread::threadFunc : Starting Asynchronous operation on sound 00000202A2449798
|
||||
[LOG] SystemI::createSound : filename = Assets/Audio/Master.bank : mode 02010082
|
||||
[LOG] SystemI::createSound : FMOD_NONBLOCKING specified. Putting into queue to be opened asynchronously!
|
||||
[LOG] SystemI::createSoundInternal : Create name='Assets/Audio/Master.bank', mode=0x02010082
|
||||
[LOG] SystemI::createSound : setdata soundi = 00000202A2449948 : node = 00000202A9AFA6A0
|
||||
[LOG] SystemI::createSoundInternal : exinfo->cbsize = 224
|
||||
[LOG] SystemI::createSound : add node to async list : head = 000002023A6557E8. list count = 0
|
||||
[LOG] SystemI::createSoundInternal : exinfo->length = 27574784
|
||||
[LOG] SystemI::createSoundInternal : exinfo->fileoffset = 10144
|
||||
[LOG] SystemI::createSoundInternal : exinfo->numsubsounds = 1
|
||||
[LOG] SystemI::createSound : filename = Assets/Audio/Master.bank : mode 02010082
|
||||
[LOG] SystemI::createSoundInternal : exinfo->inclusionlist = 00000202A9AFA3F0
|
||||
[LOG] SystemI::createSound : FMOD_NONBLOCKING specified. Putting into queue to be opened asynchronously!
|
||||
[LOG] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
|
||||
[LOG] SystemI::createSound : setdata soundi = 00000202A2449AF8 : node = 00000202A9AFA060
|
||||
[LOG] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
|
||||
[LOG] SystemI::createSound : add node to async list : head = 000002023A6557E8. list count = 1
|
||||
[LOG] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
|
||||
[LOG] SystemI::createSoundInternal : Create name='', mode=0x02000202
|
||||
[LOG] SystemI::createSoundInternal : exinfo->cbsize = 224
|
||||
[LOG] SystemI::createSoundInternal : exinfo->length = 27574784
|
||||
[LOG] SystemI::createSoundInternal : exinfo->fileoffset = 10144
|
||||
[LOG] SystemI::createSoundInternal : exinfo->numsubsounds = 1
|
||||
[LOG] SystemI::createSoundInternal : exinfo->inclusionlist = 0000003163DFF568
|
||||
[LOG] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
|
||||
[LOG] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
|
||||
[LOG] SystemI::createSoundInternal : exinfo->useropen = 00007FFBF0674660
|
||||
[LOG] SystemI::createSoundInternal : exinfo->userclose = 00007FFBF0674630
|
||||
[LOG] SystemI::createSoundInternal : exinfo->userread = 00007FFBF0674730
|
||||
[LOG] SystemI::createSoundInternal : exinfo->userseek = 00007FFBF06747F0
|
||||
[LOG] SystemI::createSoundInternal : exinfo->fileuserdata = 000002035A1A08B8
|
||||
[LOG] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
|
||||
[LOG] SystemI::createSoundInternal : Stream 0/1: name='Rosa_Melo_02', format=5, channels=2, frequency=48000, lengthbytes=3260640, lengthpcm=17145600, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.248419.
|
||||
[LOG] SystemI::DSPCodecPoolRegister : register codec pool for pool type 5
|
||||
[LOG] SystemI::createSoundInternal : Sample 0/1: name='foliage_dry_crush_squeeze_crunchy_crispy_001_55111', format=5, channels=2, frequency=48000, lengthbytes=34880, lengthpcm=101376, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.731995.
|
||||
[LOG] Thread::initThread : Init FMOD file thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFC, Stack Size: 65536, Semaphore: No, Sleep Time: 10, Looping: Yes.
|
||||
[LOG] AsyncThread::threadFunc : Finished Asynchronous operation on sound 00000202A2449798
|
||||
[LOG] AsyncThread::threadFunc : Starting Asynchronous operation on sound 00000202A2449948
|
||||
[LOG] SystemI::createSoundInternal : Create name='Assets/Audio/Master.bank', mode=0x02010082
|
||||
[LOG] SystemI::createSoundInternal : exinfo->cbsize = 224
|
||||
[LOG] SystemI::createSoundInternal : exinfo->length = 27574784
|
||||
[LOG] SystemI::createSoundInternal : exinfo->fileoffset = 10144
|
||||
[LOG] SystemI::createSoundInternal : exinfo->numsubsounds = 1
|
||||
[LOG] SystemI::createSoundInternal : exinfo->inclusionlist = 00000202A9AFA7B0
|
||||
[LOG] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
|
||||
[LOG] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
|
||||
[LOG] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
|
||||
[LOG] SystemI::createSoundInternal : Stream 0/1: name='Rosa_Base_01', format=5, channels=2, frequency=48000, lengthbytes=3775680, lengthpcm=17193600, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.174706.
|
||||
[LOG] AsyncThread::threadFunc : Finished Asynchronous operation on sound 00000202A2449948
|
||||
[LOG] AsyncThread::threadFunc : Starting Asynchronous operation on sound 00000202A2449AF8
|
||||
[LOG] SystemI::createSoundInternal : Create name='Assets/Audio/Master.bank', mode=0x02010082
|
||||
[LOG] SystemI::createSoundInternal : exinfo->cbsize = 224
|
||||
[LOG] SystemI::createSoundInternal : exinfo->length = 27574784
|
||||
[LOG] SystemI::createSoundInternal : exinfo->fileoffset = 10144
|
||||
[LOG] SystemI::createSoundInternal : exinfo->numsubsounds = 1
|
||||
[LOG] SystemI::createSoundInternal : exinfo->inclusionlist = 00000202A9AFA170
|
||||
[LOG] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
|
||||
[LOG] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
|
||||
[LOG] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
|
||||
[LOG] SystemI::createSoundInternal : Stream 0/1: name='Rosa_Ambient_Birds_01', format=5, channels=2, frequency=48000, lengthbytes=3372608, lengthpcm=17049600, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.007681.
|
||||
[LOG] AsyncThread::threadFunc : Finished Asynchronous operation on sound 00000202A2449AF8
|
||||
[LOG] SoundI::release : Rosa_Ambient_Birds_01 (00000202A2449AF8)
|
||||
[LOG] SoundI::release : Rosa_Ambient_Birds_01 (00000202A1232718)
|
||||
[LOG] SoundI::release : Rosa_Ambient_Birds_01 (0000020235D40CE8)
|
||||
[LOG] SoundI::release : Rosa_Base_01 (00000202A2449948)
|
||||
[LOG] SoundI::release : Rosa_Base_01 (00000202A1232098)
|
||||
[LOG] SoundI::release : Rosa_Base_01 (0000020235D40B38)
|
||||
[LOG] SoundI::release : Rosa_Melo_02 (00000202A2449798)
|
||||
[LOG] SoundI::release : Rosa_Melo_02 (00000202A1231A18)
|
||||
[LOG] SoundI::release : Rosa_Melo_02 (0000020235D40628)
|
||||
[LOG] SoundI::release : (00000202A4073688)
|
||||
[LOG] SoundI::release : foliage_dry_crush_squeeze_crunchy_crispy_001_55111 (00000202A3AD7F48)
|
||||
[LOG] Thread::callback : FMOD Studio update thread finished.
|
||||
[LOG] Thread::callback : FMOD Studio bank load thread finished.
|
||||
[LOG] Profile::disconnectAll : Profiler disconnecting all clients
|
||||
[LOG] Thread::callback : FMOD Studio sample load thread finished.
|
||||
[LOG] LiveUpdate::release :
|
||||
[LOG] LiveUpdate::reset : Reset connection (reason Disconnected)
|
||||
[LOG] Thread::callback : FMOD stream thread finished.
|
||||
[LOG] Thread::callback : FMOD mixer thread finished.
|
||||
[LOG] Profile::disconnectAll : Profiler disconnecting all clients
|
||||
[LOG] SystemI::close : Closed.
|
Loading…
Add table
Add a link
Reference in a new issue