fix: Message delay working properly

This commit is contained in:
Gerard Gascón 2024-01-28 10:30:57 +01:00
parent 2f9b516605
commit 60fd82cff5
30 changed files with 538 additions and 19 deletions

8
Assets/Audio.meta Normal file
View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d020b56157df7b142924783553ab75db
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,142 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!244 &-6511063682101548802
AudioMixerEffectController:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_EffectID: 6d1279ccbb35c674fb17b93f48994ca0
m_EffectName: Attenuation
m_MixLevel: 2948ea2b892167f46ad694802f01880f
m_Parameters: []
m_SendTarget: {fileID: 0}
m_EnableWetMix: 0
m_Bypass: 0
--- !u!243 &-6183095416945886062
AudioMixerGroupController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: SFX
m_AudioMixer: {fileID: 24100000}
m_GroupID: 11e72a519d5c9d74e816d7445f758c37
m_Children: []
m_Volume: 38e58be43d67d4d4897a5e02f38677e9
m_Pitch: 7d3e0348479038c42a53c790502e9f78
m_Send: 00000000000000000000000000000000
m_Effects:
- {fileID: -6511063682101548802}
m_UserColorIndex: 0
m_Mute: 0
m_Solo: 0
m_BypassEffects: 0
--- !u!243 &-1737060409466159494
AudioMixerGroupController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Music
m_AudioMixer: {fileID: 24100000}
m_GroupID: 8acb751fd131b6346b195eae26688361
m_Children: []
m_Volume: fa30f6dfbfc36fd43a97c48c64fdac7f
m_Pitch: c0df319abfde9334891b70e36d3c447f
m_Send: 00000000000000000000000000000000
m_Effects:
- {fileID: 3641059940995687588}
m_UserColorIndex: 0
m_Mute: 0
m_Solo: 0
m_BypassEffects: 0
--- !u!241 &24100000
AudioMixerController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: MainMixer
m_OutputGroup: {fileID: 0}
m_MasterGroup: {fileID: 24300002}
m_Snapshots:
- {fileID: 24500006}
m_StartSnapshot: {fileID: 24500006}
m_SuspendThreshold: -80
m_EnableSuspend: 1
m_UpdateMode: 0
m_ExposedParameters:
- guid: fa30f6dfbfc36fd43a97c48c64fdac7f
name: MusicVolume
- guid: 38e58be43d67d4d4897a5e02f38677e9
name: SFXVolume
m_AudioMixerGroupViews:
- guids:
- 6bc7566b5886659479a6d54cb39c9d68
- 8acb751fd131b6346b195eae26688361
- 11e72a519d5c9d74e816d7445f758c37
name: View
m_CurrentViewIndex: 0
m_TargetSnapshot: {fileID: 24500006}
--- !u!243 &24300002
AudioMixerGroupController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Master
m_AudioMixer: {fileID: 24100000}
m_GroupID: 6bc7566b5886659479a6d54cb39c9d68
m_Children:
- {fileID: -1737060409466159494}
- {fileID: -6183095416945886062}
m_Volume: 574863647844a5a4d93bb1a8f5fc04f8
m_Pitch: d391a8ea20a4a0742821f109469bcc1a
m_Send: 00000000000000000000000000000000
m_Effects:
- {fileID: 24400004}
m_UserColorIndex: 0
m_Mute: 0
m_Solo: 0
m_BypassEffects: 0
--- !u!244 &24400004
AudioMixerEffectController:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_EffectID: b112aeb7ac8ce89419971208849e52c4
m_EffectName: Attenuation
m_MixLevel: ac740ae535a90664ea4c29e375810de6
m_Parameters: []
m_SendTarget: {fileID: 0}
m_EnableWetMix: 0
m_Bypass: 0
--- !u!245 &24500006
AudioMixerSnapshotController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Snapshot
m_AudioMixer: {fileID: 24100000}
m_SnapshotID: 3590c6732f84f604b9b6e4ae0e7a77f0
m_FloatValues: {}
m_TransitionOverrides: {}
--- !u!244 &3641059940995687588
AudioMixerEffectController:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_EffectID: b461dbbea07538d4cbfdf73f4d97ca6b
m_EffectName: Attenuation
m_MixLevel: 69d49c464ba25bb439ccd0673fc1cd09
m_Parameters: []
m_SendTarget: {fileID: 0}
m_EnableWetMix: 0
m_Bypass: 0

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 9cd1c823e77889746b410988e4d2e7b0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 24100000
userData:
assetBundleName:
assetBundleVariant:

8
Assets/Audio/Music.meta Normal file
View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4f0c77659dfee50478dd4fd92dbd383a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: b987ec7f011469f4188f7b067671ac77
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 0.7
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

8
Assets/Audio/SFX.meta Normal file
View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fca48387dedf5c246a7b39f2269415ca
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 9e416ecd3b54c2147bd3e0634798ec7d
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 0.7
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/Audio/SFX/borrar.mp3 Normal file

Binary file not shown.

View file

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 34730312e1e3821419bcf8f93f62f7f4
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 0.7
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/Audio/SFX/click.mp3 Normal file

Binary file not shown.

View file

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: ca758602c75d8cd47988f8b059b5caeb
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 0.7
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 9a96ec33f514f454898a3d8fc93e7967
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 0.7
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: cb963e59d7a0b64409df3d832664ac01
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 0.7
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/Audio/SFX/hover.mp3 Normal file

Binary file not shown.

View file

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: a062349ffae4ec945bba4fac92d9e263
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 0.7
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 704e74209215d2c49a7aab659e5fcf54
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 0.7
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: e51edcb3a1a1c384695415071ad225ca
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 0.7
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

98
Assets/Audio/Sounds.asset Normal file
View file

@ -0,0 +1,98 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c4ed92ae62204888802bcdb9f4ea768c, type: 3}
m_Name: Sounds
m_EditorClassIdentifier:
musicMixer: {fileID: -1737060409466159494, guid: 9cd1c823e77889746b410988e4d2e7b0, type: 2}
sfxMixer: {fileID: -6183095416945886062, guid: 9cd1c823e77889746b410988e4d2e7b0, type: 2}
sounds:
- name: Musica
clip: {fileID: 8300000, guid: b987ec7f011469f4188f7b067671ac77, type: 3}
type: 0
volume: 1
volumeVariance: 0
pitch: 1
pitchVariance: 0
loop: 1
source: {fileID: 0}
- name: 3fallos
clip: {fileID: 8300000, guid: 9e416ecd3b54c2147bd3e0634798ec7d, type: 3}
type: 1
volume: 1
volumeVariance: 0
pitch: 1
pitchVariance: 0
loop: 0
source: {fileID: 0}
- name: borrar
clip: {fileID: 8300000, guid: 34730312e1e3821419bcf8f93f62f7f4, type: 3}
type: 1
volume: 1
volumeVariance: 0
pitch: 1
pitchVariance: 0
loop: 0
source: {fileID: 0}
- name: click
clip: {fileID: 8300000, guid: ca758602c75d8cd47988f8b059b5caeb, type: 3}
type: 1
volume: 1
volumeVariance: 0
pitch: 1
pitchVariance: 0
loop: 0
source: {fileID: 0}
- name: correcto
clip: {fileID: 8300000, guid: 9a96ec33f514f454898a3d8fc93e7967, type: 3}
type: 1
volume: 1
volumeVariance: 0
pitch: 1
pitchVariance: 0
loop: 0
source: {fileID: 0}
- name: escribir
clip: {fileID: 8300000, guid: cb963e59d7a0b64409df3d832664ac01, type: 3}
type: 1
volume: 1
volumeVariance: 0
pitch: 1
pitchVariance: 0
loop: 0
source: {fileID: 0}
- name: hover
clip: {fileID: 8300000, guid: a062349ffae4ec945bba4fac92d9e263, type: 3}
type: 1
volume: 1
volumeVariance: 0
pitch: 1
pitchVariance: 0
loop: 0
source: {fileID: 0}
- name: recibir_mensaje
clip: {fileID: 8300000, guid: 704e74209215d2c49a7aab659e5fcf54, type: 3}
type: 1
volume: 1
volumeVariance: 0
pitch: 1
pitchVariance: 0
loop: 0
source: {fileID: 0}
- name: zumbido
clip: {fileID: 8300000, guid: e51edcb3a1a1c384695415071ad225ca, type: 3}
type: 1
volume: 1
volumeVariance: 0
pitch: 1
pitchVariance: 0
loop: 0
source: {fileID: 0}

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 946b525ec69fbe845a7440de624fd8a9
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View file

@ -2178,7 +2178,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!225 &1198578935
CanvasGroup:
m_ObjectHideFlags: 0
@ -3289,7 +3289,6 @@ MonoBehaviour:
- {fileID: 4900000, guid: bf2ae237b56a65648a26e0fc41a94d8a, type: 3}
- {fileID: 4900000, guid: ec37bca099ef3e847b3be147fcfe4d9e, type: 3}
sendJokeDelay: 2
sendJokeLongDelay: 8
initialSendJokeDelay: 4
--- !u!1001 &1825731470
PrefabInstance:

View file

@ -31,8 +31,8 @@ namespace Audio {
};
s.source = sound.AddComponent<AudioSource>();
if (soundList.mainMixer && soundList.sfxMixer) {
s.source.outputAudioMixerGroup = s.type == Sounds.List.Type.Music ? soundList.mainMixer : soundList.sfxMixer;
if (soundList.musicMixer && soundList.sfxMixer) {
s.source.outputAudioMixerGroup = s.type == Sounds.List.Type.Music ? soundList.musicMixer : soundList.sfxMixer;
}
s.source.clip = s.clip;

View file

@ -6,7 +6,7 @@ namespace Audio {
public class Sounds : ScriptableObject {
[Tooltip("The music mixer.")]
public AudioMixerGroup mainMixer;
public AudioMixerGroup musicMixer;
[Tooltip("The SFX mixer.")]
public AudioMixerGroup sfxMixer;

View file

@ -18,7 +18,6 @@ namespace Messaging {
[SerializeField] private TextAsset[] jokes;
[SerializeField, Min(0)] private float sendJokeDelay = 2f;
[SerializeField, Min(0)] private float sendJokeLongDelay = 8f;
[SerializeField, Min(0)] private float initialSendJokeDelay = 4f;
private List<TextAsset> _jokesBag;
@ -42,12 +41,23 @@ namespace Messaging {
}
private void Start() {
SendRandomJoke(initialSendJokeDelay);
StartCoroutine(SendRandomJoke(initialSendJokeDelay));
}
private async void SendRandomJoke(float delay) {
private IEnumerator SendRandomJoke(float delay) {
_sendButton.Lock();
await Task.Delay((int)(delay * 1000));
yield return new WaitForSeconds(delay);
_sendButton.Unlock();
_currentJoke = GetRandomJoke();
CreateMessage(_currentJoke.QuestionMessage.Key, false);
_emojiButtonManager.SetButtonImages(GenerateButtonOptions());
}
private IEnumerator SendRandomJoke(Coroutine routine, float delay) {
yield return routine;
_sendButton.Lock();
yield return new WaitForSeconds(delay);
_sendButton.Unlock();
_currentJoke = GetRandomJoke();
@ -62,17 +72,17 @@ namespace Messaging {
_currentJokeIndex = Mathf.Max(_currentJokeIndex, 0);
if (message == _currentJoke.AnswerMessage.Key) {
_sendButton.Lock();
StartCoroutine(ShowRealTexts());
Coroutine routine = StartCoroutine(ShowRealTexts());
if(_currentJokeIndex == 0)
SendRandomJoke(sendJokeLongDelay);
StartCoroutine(SendRandomJoke(routine, sendJokeDelay));
else
SendRandomJoke(sendJokeDelay);
StartCoroutine(SendRandomJoke(routine, sendJokeDelay));
} else {
_lives.Wrong();
if (_lives.CurrentLives == 0) {
_sendButton.Lock();
StartCoroutine(ShowRealTexts());
SendRandomJoke(sendJokeLongDelay);
Coroutine routine = StartCoroutine(ShowRealTexts());
StartCoroutine(SendRandomJoke(routine, initialSendJokeDelay));
_lives.ResetLives();
}
}