Finish pre and post test random questions with dubbing per question and toggle dubbing in settings

This commit is contained in:
Sakti Harahap 2025-07-05 09:07:42 +07:00
parent d6b2e6ce19
commit a3e9255ede
65 changed files with 1528 additions and 34 deletions

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Kesehatan Gigi 1
m_EditorClassIdentifier:
dubbingName: 1
question: Berapa jumlah gigi susu yang dimiliki anak-anak?
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Kesehatan Gigi 2
m_EditorClassIdentifier:
dubbingName: 2
question: Kapan waktu yang tepat untuk menggosok gigi?
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Kesehatan Gigi 3
m_EditorClassIdentifier:
dubbingName: 3
question: 'Apa nama gigi yang tumbuh setelah gigi susu copot? '
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Kesehatan Gigi 4
m_EditorClassIdentifier:
dubbingName: 4
question: Apa fungsi fluoride dalam pasta gigi?
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Kesehatan Gigi 5
m_EditorClassIdentifier:
dubbingName: 5
question: Mengapa penting menyikat gigi sampai bagian dalam?
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Penyakit Gigi 1
m_EditorClassIdentifier:
dubbingName: 6
question: Apa penyebab utama gigi berlubang?
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Penyakit Gigi 2
m_EditorClassIdentifier:
dubbingName: 7
question: Berapa kali sebaiknya kita sikat gigi dalam sehari?
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Penyakit Gigi 3
m_EditorClassIdentifier:
dubbingName: 8
question: Apa penyakit mulut yang menyebabkan luka perih saat makan?
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Penyakit Gigi 4
m_EditorClassIdentifier:
dubbingName: 9
question: Mengapa plak gigi berbahaya jika tidak dibersihkan?
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Penyakit Gigi 5
m_EditorClassIdentifier:
dubbingName: 10
question: Apa nama penyakit yang membuat gigi terasa nyeri dan berlubang?
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Penyakit Gigi 6
m_EditorClassIdentifier:
dubbingName: 11
question: ' Mengapa menyikat lidah juga penting saat membersihkan gigi?
'

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Kesehatan Gigi 1
m_EditorClassIdentifier:
dubbingName: DubbingSoal1
question: Berapa jumlah gigi susu yang dimiliki anak-anak?
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Kesehatan Gigi 2
m_EditorClassIdentifier:
dubbingName: DubbingSoal1
question: Kapan waktu yang tepat untuk menggosok gigi?
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Kesehatan Gigi 3
m_EditorClassIdentifier:
dubbingName: DubbingSoal1
question: 'Apa nama gigi yang tumbuh setelah gigi susu copot? '
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Kesehatan Gigi 4
m_EditorClassIdentifier:
dubbingName: DubbingSoal1
question: Apa fungsi fluoride dalam pasta gigi?
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Kesehatan Gigi 5
m_EditorClassIdentifier:
dubbingName: DubbingSoal1
question: Mengapa penting menyikat gigi sampai bagian dalam?
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Penyakit Gigi 1
m_EditorClassIdentifier:
dubbingName: DubbingSoal1
question: Apa penyebab utama gigi berlubang?
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Penyakit Gigi 2
m_EditorClassIdentifier:
dubbingName: DubbingSoal1
question: Berapa kali sebaiknya kita sikat gigi dalam sehari?
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Penyakit Gigi 3
m_EditorClassIdentifier:
dubbingName: DubbingSoal1
question: Apa penyakit mulut yang menyebabkan luka perih saat makan?
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Penyakit Gigi 4
m_EditorClassIdentifier:
dubbingName: DubbingSoal1
question: Mengapa plak gigi berbahaya jika tidak dibersihkan?
imageQuestion: {fileID: 0}
answers:

View File

@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Penyakit Gigi 5
m_EditorClassIdentifier:
dubbingName: DubbingSoal1
question: Apa nama penyakit yang membuat gigi terasa nyeri dan berlubang?
imageQuestion: {fileID: 0}
answers:

View File

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

Binary file not shown.

View File

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

Binary file not shown.

View File

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

Binary file not shown.

View File

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

Binary file not shown.

View File

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

Binary file not shown.

View File

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

Binary file not shown.

View File

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

Binary file not shown.

View File

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

Binary file not shown.

View File

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

Binary file not shown.

View File

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

Binary file not shown.

View File

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

Binary file not shown.

View File

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

Binary file not shown.

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -405,7 +405,7 @@ AudioSource:
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 0}
m_PlayOnAwake: 1
m_PlayOnAwake: 0
m_Volume: 1
m_Pitch: 1
Loop: 0
@ -490,6 +490,134 @@ AudioSource:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
--- !u!1 &1673180136
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1673180138}
- component: {fileID: 1673180137}
m_Layer: 0
m_Name: Dub
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!82 &1673180137
AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1673180136}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 0}
m_PlayOnAwake: 0
m_Volume: 1
m_Pitch: 1
Loop: 0
Mute: 0
Spatialize: 0
SpatializePostEffects: 0
Priority: 128
DopplerLevel: 1
MinDistance: 1
MaxDistance: 500
Pan2D: 0
rolloffMode: 0
BypassEffects: 0
BypassListenerEffects: 0
BypassReverbZones: 0
rolloffCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
panLevelCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
spreadCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
reverbZoneMixCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
--- !u!4 &1673180138
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1673180136}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1894816134}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1811191201
GameObject:
m_ObjectHideFlags: 0
@ -533,7 +661,7 @@ AudioSource:
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 0}
m_PlayOnAwake: 1
m_PlayOnAwake: 0
m_Volume: 1
m_Pitch: 1
Loop: 0
@ -649,6 +777,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
bgmSource: {fileID: 1811191203}
sfxSource: {fileID: 1504931680}
dubbingSource: {fileID: 1673180137}
bgmClips:
- {fileID: 8300000, guid: f646d488337c94084b47e56752970960, type: 3}
- {fileID: 8300000, guid: 74db5fcd275d3724688c8bcd8ae7ae1a, type: 3}
@ -660,6 +789,20 @@ MonoBehaviour:
- {fileID: 8300000, guid: 10016c7ee6faf2b41834b9be8c91fcc1, type: 3}
- {fileID: 8300000, guid: aa6664977925e2e4d87cc2ceab2b77c5, type: 3}
- {fileID: 8300000, guid: 1115e65e9ad856644a07b5904c0750fa, type: 3}
dubsClips:
- {fileID: 8300000, guid: ff917ce84550b5d4d902ce6cb5942909, type: 3}
- {fileID: 8300000, guid: 5eeb6b1df80e6e847bdda3c696704455, type: 3}
- {fileID: 8300000, guid: b8e2feb9361115e4ba56995d23807de5, type: 3}
- {fileID: 8300000, guid: 1548ddc134c467049b5363c66a03e3bc, type: 3}
- {fileID: 8300000, guid: 83457da37c1ae3f4f9ca7983c684a613, type: 3}
- {fileID: 8300000, guid: ad35b493ef8bb104c9f3ca78cf048428, type: 3}
- {fileID: 8300000, guid: 11145781f28b9004e9cf8283bdb0bd52, type: 3}
- {fileID: 8300000, guid: 26ad37ad6a7b94643beabfc1e3dab42e, type: 3}
- {fileID: 8300000, guid: 1b1af3443155a0643b1a190020c8e5cf, type: 3}
- {fileID: 8300000, guid: 3a6d9ba58e0e67448a92c49a38c049ed, type: 3}
- {fileID: 8300000, guid: 0353eeb16e4b041418cec834b15a6be7, type: 3}
- {fileID: 8300000, guid: 9adea056d87454b4bb661e084d67fb24, type: 3}
- {fileID: 8300000, guid: 68730f8e765da6b43a31b9a976d4c3f1, type: 3}
--- !u!4 &1894816134
Transform:
m_ObjectHideFlags: 0
@ -674,6 +817,7 @@ Transform:
m_Children:
- {fileID: 1811191202}
- {fileID: 1504931679}
- {fileID: 1673180138}
m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@ -6,6 +6,9 @@ using UnityEngine;
[CreateAssetMenu(fileName = "Question", menuName = "Data Question")]
public class QuestionSO : ScriptableObject
{
[Header("Audio Name")]
public string dubbingName;
[Space]
[TextArea]
public string question;
public Sprite imageQuestion;

View File

@ -36,10 +36,17 @@ public class PostTestMenu : Menu<PostTestMenu>
int correctAnswers = 0;
int totalQuestions = 10;
private int indexEnable = 0;
private async void OnEnable()
{
LoadRandomQuestion();
indexEnable++;
await LoadAndRefresh();
if (indexEnable > 1)
{
LoadRandomQuestion();
}
}
private async Task LoadAndRefresh()
@ -103,6 +110,9 @@ public class PostTestMenu : Menu<PostTestMenu>
isAnswering = true;
hasAnsweredEarly = false;
audioController.Instance.StopDubbing();
audioController.Instance.PlayDubbing(currentQuestion.dubbingName);
}
public void OnAnswerSelected(int index)

View File

@ -35,12 +35,18 @@ public class PreTestMenu : Menu<PreTestMenu>
SaveData saveData;
int correctAnswers = 0;
int totalQuestions = 10;
int totalQuestions = 10;
private int indexEnable = 0;
private async void OnEnable()
{
indexEnable++;
await LoadAndRefresh();
LoadRandomQuestion();
if (indexEnable > 1)
{
LoadRandomQuestion();
}
}
private async Task LoadAndRefresh()
@ -53,6 +59,9 @@ public class PreTestMenu : Menu<PreTestMenu>
{
if (isComplete) return;
if(indexEnable == 0) return;
if (isComplete) return;
timer -= Time.deltaTime;
if (timer < 0f)
@ -104,6 +113,9 @@ public class PreTestMenu : Menu<PreTestMenu>
timer = timeToComplete;
isAnswering = true;
hasAnsweredEarly = false;
audioController.Instance.StopDubbing();
audioController.Instance.PlayDubbing(currentQuestion.dubbingName);
}
public void OnAnswerSelected(int index)

View File

@ -54,6 +54,8 @@ public class QuizPopUp : Menu<QuizPopUp>
SetButtonState(true);
DisplayQuestion();
PlayDubbingQuestion();
audioController.Instance.bgmSource.volume = .1f;
}
private void OnDisable()
@ -80,6 +82,9 @@ public class QuizPopUp : Menu<QuizPopUp>
{
timerImage.fillAmount = 1f;
}
audioController.Instance.bgmSource.volume = 1f;
}
void Update()
@ -266,8 +271,6 @@ public class QuizPopUp : Menu<QuizPopUp>
GameMenu.Open();
}
IEnumerator DelayAfterAnswerFalse()
{
@ -285,4 +288,10 @@ public class QuizPopUp : Menu<QuizPopUp>
button.interactable = state;
}
}
private void PlayDubbingQuestion()
{
audioController.Instance.StopDubbing();
audioController.Instance.PlayDubbing(currentQuestion.dubbingName);
}
}

View File

@ -9,6 +9,7 @@ public class SettingsMenu : Menu<SettingsMenu>
public bool isMusicOn = true;
public bool isSfxOn = true;
public bool isDubbingOn = true;
public override void OnBackPressed()
@ -56,5 +57,24 @@ public class SettingsMenu : Menu<SettingsMenu>
Debug.Log(("Music hidup"));
}
}
public void SwapSoundDubbing()
{
if (isDubbingOn)
{
audioController.Instance.PlaySFX("TombolUmum", 0.5f);
isDubbingOn = false;
audioController.Instance.dubbingSource.mute = true;
Debug.Log(("Music mati"));
}
else if (!isDubbingOn)
{
audioController.Instance.PlaySFX("TombolUmum", 0.5f);
isDubbingOn = true;
audioController.Instance.dubbingSource.mute = false;
Debug.Log(("Music hidup"));
}
}
}

View File

@ -8,12 +8,15 @@ public class audioController : MonoBehaviour
[Header("Audio Sources")]
public AudioSource bgmSource;
public AudioSource sfxSource;
public AudioSource dubbingSource;
[Header("Audio Clips")]
public AudioClip[] bgmClips;
public AudioClip[] sfxClips;
public AudioClip[] sfxClips;
public AudioClip[] dubsClips;
private Dictionary<string, AudioClip> bgmDictionary;
private Dictionary<string, AudioClip> sfxDictionary;
private Dictionary<string, AudioClip> dubsDictionary;
public static audioController Instance;
@ -34,6 +37,12 @@ public class audioController : MonoBehaviour
private void Start()
{
DontDestroyOnLoad(gameObject);
foreach(var key in dubsDictionary.Keys)
{
Debug.Log("Dubbing key: " + key);
}
}
private void InitializeAudioDictionaries()
@ -43,12 +52,18 @@ public class audioController : MonoBehaviour
{
bgmDictionary[clip.name] = clip;
}
sfxDictionary = new Dictionary<string, AudioClip>();
foreach (var clip in sfxClips)
{
sfxDictionary[clip.name] = clip;
}
dubsDictionary = new Dictionary<string, AudioClip>();
foreach (var clip in dubsClips)
{
dubsDictionary[clip.name] = clip;
}
}
public void PlayBGM(string bgmName, float volume = 1f)
@ -82,7 +97,23 @@ public class audioController : MonoBehaviour
Debug.LogWarning($"SFX '{sfxName}' not found!");
}
}
public void PlayDubbing(string dubbingName, float volume = 1f)
{
if (dubsDictionary.TryGetValue(dubbingName, out AudioClip dubsClip))
{
dubbingSource.PlayOneShot(dubsClip, volume);
}
else
{
Debug.LogWarning($"Dubbing '{dubbingName}' not found!");
}
}
public void StopDubbing()
{
dubbingSource.Stop();
}
public void StopSFX()
{