From 4bdc76510b9bf5ef6c71858d440d0c01fab48037 Mon Sep 17 00:00:00 2001 From: Martin Date: Thu, 22 Dec 2022 13:26:43 +0100 Subject: [PATCH] Data holders, audio --- assets/Media/Audio/Game.meta | 12 + assets/Media/Audio/{ => Game}/Music.meta | 0 .../Music/Goblins_Dance_(Battle).wav | Bin .../Music/Goblins_Dance_(Battle).wav.meta | 0 assets/Media/Audio/{ => Game}/Sound.meta | 0 .../{ => Game}/Sound/07_human_atk_sword_1.wav | Bin .../Sound/07_human_atk_sword_1.wav.meta | 0 .../{ => Game}/Sound/12_human_jump_3.wav | Bin .../{ => Game}/Sound/12_human_jump_3.wav.meta | 0 .../{ => Game}/Sound/15_human_dash_2.wav | Bin .../{ => Game}/Sound/15_human_dash_2.wav.meta | 0 .../{ => Game}/Sound/27_sword_miss_1.wav | Bin .../{ => Game}/Sound/27_sword_miss_1.wav.meta | 0 .../{ => Game}/Sound/GP_Begin_Turn_1.wav | Bin .../{ => Game}/Sound/GP_Begin_Turn_1.wav.meta | 0 .../Audio/{ => Game}/Sound/GP_Damage_8.wav | Bin .../{ => Game}/Sound/GP_Damage_8.wav.meta | 0 .../Audio/{ => Game}/Sound/GP_Damage_9.wav | Bin .../{ => Game}/Sound/GP_Damage_9.wav.meta | 0 .../Audio/{ => Game}/Sound/GP_Heal_1.wav | Bin .../Audio/{ => Game}/Sound/GP_Heal_1.wav.meta | 0 .../{ => Game}/Sound/GP_Turbo_Discard_2.wav | Bin .../Sound/GP_Turbo_Discard_2.wav.meta | 0 .../{ => Game}/Sound/Special_Powerup_10.WAV | Bin .../Sound/Special_Powerup_10.WAV.meta | 0 .../Audio/{ => Game}/Sound/UI_Select_2.wav | Bin .../{ => Game}/Sound/UI_Select_2.wav.meta | 0 .../Media/Audio/{ => Game}/Sound/coin.1.ogg | Bin .../Audio/{ => Game}/Sound/coin.1.ogg.meta | 0 assets/Media/Audio/Menu.meta | 12 + assets/Media/Audio/Shared.meta | 12 + assets/Media/Audio/Shared/UI_Click_1.wav | Bin 0 -> 72812 bytes assets/Media/Audio/Shared/UI_Click_1.wav.meta | 14 + assets/Media/Prefabs/AppRoot.prefab | 4 + assets/Media/Prefabs/GameDataHolders.prefab | 372 ++++++++++++++++++ .../Media/Prefabs/GameDataHolders.prefab.meta | 13 + .../AudioSettingsModalWindow.prefab | 310 ++++++++------- .../Pause/PauseModalWindow.prefab | 304 +++++++++----- assets/Scenes/Game.scene | 151 +++---- assets/Scenes/Menu.scene | 175 +++++--- assets/Scripts/AppRoot/AppRoot.ts | 13 +- assets/Scripts/Game/Data/Assets.meta | 12 + .../Scripts/Game/Data/Assets/AudioAssets.ts | 8 + .../Game/Data/Assets/AudioAssets.ts.meta | 9 + assets/Scripts/Game/Data/Assets/GameAssets.ts | 24 ++ .../Game/Data/Assets/GameAssets.ts.meta | 9 + .../Game/Data/Assets/MetaUpgradeIcons.ts | 30 ++ .../Game/Data/Assets/MetaUpgradeIcons.ts.meta | 9 + .../Scripts/Game/Data/Assets/UpgradeIcons.ts | 30 ++ .../Game/Data/Assets/UpgradeIcons.ts.meta | 9 + assets/Scripts/Game/Game.ts | 2 +- .../ProjectileLauncher/ProjectileLauncher.ts | 2 + assets/Scripts/Utils/UIButtonAudioPlayer.ts | 17 + .../Scripts/Utils/UIButtonAudioPlayer.ts.meta | 9 + 54 files changed, 1193 insertions(+), 369 deletions(-) create mode 100644 assets/Media/Audio/Game.meta rename assets/Media/Audio/{ => Game}/Music.meta (100%) rename assets/Media/Audio/{ => Game}/Music/Goblins_Dance_(Battle).wav (100%) rename assets/Media/Audio/{ => Game}/Music/Goblins_Dance_(Battle).wav.meta (100%) rename assets/Media/Audio/{ => Game}/Sound.meta (100%) rename assets/Media/Audio/{ => Game}/Sound/07_human_atk_sword_1.wav (100%) rename assets/Media/Audio/{ => Game}/Sound/07_human_atk_sword_1.wav.meta (100%) rename assets/Media/Audio/{ => Game}/Sound/12_human_jump_3.wav (100%) rename assets/Media/Audio/{ => Game}/Sound/12_human_jump_3.wav.meta (100%) rename assets/Media/Audio/{ => Game}/Sound/15_human_dash_2.wav (100%) rename assets/Media/Audio/{ => Game}/Sound/15_human_dash_2.wav.meta (100%) rename assets/Media/Audio/{ => Game}/Sound/27_sword_miss_1.wav (100%) rename assets/Media/Audio/{ => Game}/Sound/27_sword_miss_1.wav.meta (100%) rename assets/Media/Audio/{ => Game}/Sound/GP_Begin_Turn_1.wav (100%) rename assets/Media/Audio/{ => Game}/Sound/GP_Begin_Turn_1.wav.meta (100%) rename assets/Media/Audio/{ => Game}/Sound/GP_Damage_8.wav (100%) rename assets/Media/Audio/{ => Game}/Sound/GP_Damage_8.wav.meta (100%) rename assets/Media/Audio/{ => Game}/Sound/GP_Damage_9.wav (100%) rename assets/Media/Audio/{ => Game}/Sound/GP_Damage_9.wav.meta (100%) rename assets/Media/Audio/{ => Game}/Sound/GP_Heal_1.wav (100%) rename assets/Media/Audio/{ => Game}/Sound/GP_Heal_1.wav.meta (100%) rename assets/Media/Audio/{ => Game}/Sound/GP_Turbo_Discard_2.wav (100%) rename assets/Media/Audio/{ => Game}/Sound/GP_Turbo_Discard_2.wav.meta (100%) rename assets/Media/Audio/{ => Game}/Sound/Special_Powerup_10.WAV (100%) rename assets/Media/Audio/{ => Game}/Sound/Special_Powerup_10.WAV.meta (100%) rename assets/Media/Audio/{ => Game}/Sound/UI_Select_2.wav (100%) rename assets/Media/Audio/{ => Game}/Sound/UI_Select_2.wav.meta (100%) rename assets/Media/Audio/{ => Game}/Sound/coin.1.ogg (100%) rename assets/Media/Audio/{ => Game}/Sound/coin.1.ogg.meta (100%) create mode 100644 assets/Media/Audio/Menu.meta create mode 100644 assets/Media/Audio/Shared.meta create mode 100644 assets/Media/Audio/Shared/UI_Click_1.wav create mode 100644 assets/Media/Audio/Shared/UI_Click_1.wav.meta create mode 100644 assets/Media/Prefabs/GameDataHolders.prefab create mode 100644 assets/Media/Prefabs/GameDataHolders.prefab.meta create mode 100644 assets/Scripts/Game/Data/Assets.meta create mode 100644 assets/Scripts/Game/Data/Assets/AudioAssets.ts create mode 100644 assets/Scripts/Game/Data/Assets/AudioAssets.ts.meta create mode 100644 assets/Scripts/Game/Data/Assets/GameAssets.ts create mode 100644 assets/Scripts/Game/Data/Assets/GameAssets.ts.meta create mode 100644 assets/Scripts/Game/Data/Assets/MetaUpgradeIcons.ts create mode 100644 assets/Scripts/Game/Data/Assets/MetaUpgradeIcons.ts.meta create mode 100644 assets/Scripts/Game/Data/Assets/UpgradeIcons.ts create mode 100644 assets/Scripts/Game/Data/Assets/UpgradeIcons.ts.meta create mode 100644 assets/Scripts/Utils/UIButtonAudioPlayer.ts create mode 100644 assets/Scripts/Utils/UIButtonAudioPlayer.ts.meta diff --git a/assets/Media/Audio/Game.meta b/assets/Media/Audio/Game.meta new file mode 100644 index 0000000..5040f33 --- /dev/null +++ b/assets/Media/Audio/Game.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.1.0", + "importer": "directory", + "imported": true, + "uuid": "f4ca52c1-6685-4c48-964c-f4b56cf4b828", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/Media/Audio/Music.meta b/assets/Media/Audio/Game/Music.meta similarity index 100% rename from assets/Media/Audio/Music.meta rename to assets/Media/Audio/Game/Music.meta diff --git a/assets/Media/Audio/Music/Goblins_Dance_(Battle).wav b/assets/Media/Audio/Game/Music/Goblins_Dance_(Battle).wav similarity index 100% rename from assets/Media/Audio/Music/Goblins_Dance_(Battle).wav rename to assets/Media/Audio/Game/Music/Goblins_Dance_(Battle).wav diff --git a/assets/Media/Audio/Music/Goblins_Dance_(Battle).wav.meta b/assets/Media/Audio/Game/Music/Goblins_Dance_(Battle).wav.meta similarity index 100% rename from assets/Media/Audio/Music/Goblins_Dance_(Battle).wav.meta rename to assets/Media/Audio/Game/Music/Goblins_Dance_(Battle).wav.meta diff --git a/assets/Media/Audio/Sound.meta b/assets/Media/Audio/Game/Sound.meta similarity index 100% rename from assets/Media/Audio/Sound.meta rename to assets/Media/Audio/Game/Sound.meta diff --git a/assets/Media/Audio/Sound/07_human_atk_sword_1.wav b/assets/Media/Audio/Game/Sound/07_human_atk_sword_1.wav similarity index 100% rename from assets/Media/Audio/Sound/07_human_atk_sword_1.wav rename to assets/Media/Audio/Game/Sound/07_human_atk_sword_1.wav diff --git a/assets/Media/Audio/Sound/07_human_atk_sword_1.wav.meta b/assets/Media/Audio/Game/Sound/07_human_atk_sword_1.wav.meta similarity index 100% rename from assets/Media/Audio/Sound/07_human_atk_sword_1.wav.meta rename to assets/Media/Audio/Game/Sound/07_human_atk_sword_1.wav.meta diff --git a/assets/Media/Audio/Sound/12_human_jump_3.wav b/assets/Media/Audio/Game/Sound/12_human_jump_3.wav similarity index 100% rename from assets/Media/Audio/Sound/12_human_jump_3.wav rename to assets/Media/Audio/Game/Sound/12_human_jump_3.wav diff --git a/assets/Media/Audio/Sound/12_human_jump_3.wav.meta b/assets/Media/Audio/Game/Sound/12_human_jump_3.wav.meta similarity index 100% rename from assets/Media/Audio/Sound/12_human_jump_3.wav.meta rename to assets/Media/Audio/Game/Sound/12_human_jump_3.wav.meta diff --git a/assets/Media/Audio/Sound/15_human_dash_2.wav b/assets/Media/Audio/Game/Sound/15_human_dash_2.wav similarity index 100% rename from assets/Media/Audio/Sound/15_human_dash_2.wav rename to assets/Media/Audio/Game/Sound/15_human_dash_2.wav diff --git a/assets/Media/Audio/Sound/15_human_dash_2.wav.meta b/assets/Media/Audio/Game/Sound/15_human_dash_2.wav.meta similarity index 100% rename from assets/Media/Audio/Sound/15_human_dash_2.wav.meta rename to assets/Media/Audio/Game/Sound/15_human_dash_2.wav.meta diff --git a/assets/Media/Audio/Sound/27_sword_miss_1.wav b/assets/Media/Audio/Game/Sound/27_sword_miss_1.wav similarity index 100% rename from assets/Media/Audio/Sound/27_sword_miss_1.wav rename to assets/Media/Audio/Game/Sound/27_sword_miss_1.wav diff --git a/assets/Media/Audio/Sound/27_sword_miss_1.wav.meta b/assets/Media/Audio/Game/Sound/27_sword_miss_1.wav.meta similarity index 100% rename from assets/Media/Audio/Sound/27_sword_miss_1.wav.meta rename to assets/Media/Audio/Game/Sound/27_sword_miss_1.wav.meta diff --git a/assets/Media/Audio/Sound/GP_Begin_Turn_1.wav b/assets/Media/Audio/Game/Sound/GP_Begin_Turn_1.wav similarity index 100% rename from assets/Media/Audio/Sound/GP_Begin_Turn_1.wav rename to assets/Media/Audio/Game/Sound/GP_Begin_Turn_1.wav diff --git a/assets/Media/Audio/Sound/GP_Begin_Turn_1.wav.meta b/assets/Media/Audio/Game/Sound/GP_Begin_Turn_1.wav.meta similarity index 100% rename from assets/Media/Audio/Sound/GP_Begin_Turn_1.wav.meta rename to assets/Media/Audio/Game/Sound/GP_Begin_Turn_1.wav.meta diff --git a/assets/Media/Audio/Sound/GP_Damage_8.wav b/assets/Media/Audio/Game/Sound/GP_Damage_8.wav similarity index 100% rename from assets/Media/Audio/Sound/GP_Damage_8.wav rename to assets/Media/Audio/Game/Sound/GP_Damage_8.wav diff --git a/assets/Media/Audio/Sound/GP_Damage_8.wav.meta b/assets/Media/Audio/Game/Sound/GP_Damage_8.wav.meta similarity index 100% rename from assets/Media/Audio/Sound/GP_Damage_8.wav.meta rename to assets/Media/Audio/Game/Sound/GP_Damage_8.wav.meta diff --git a/assets/Media/Audio/Sound/GP_Damage_9.wav b/assets/Media/Audio/Game/Sound/GP_Damage_9.wav similarity index 100% rename from assets/Media/Audio/Sound/GP_Damage_9.wav rename to assets/Media/Audio/Game/Sound/GP_Damage_9.wav diff --git a/assets/Media/Audio/Sound/GP_Damage_9.wav.meta b/assets/Media/Audio/Game/Sound/GP_Damage_9.wav.meta similarity index 100% rename from assets/Media/Audio/Sound/GP_Damage_9.wav.meta rename to assets/Media/Audio/Game/Sound/GP_Damage_9.wav.meta diff --git a/assets/Media/Audio/Sound/GP_Heal_1.wav b/assets/Media/Audio/Game/Sound/GP_Heal_1.wav similarity index 100% rename from assets/Media/Audio/Sound/GP_Heal_1.wav rename to assets/Media/Audio/Game/Sound/GP_Heal_1.wav diff --git a/assets/Media/Audio/Sound/GP_Heal_1.wav.meta b/assets/Media/Audio/Game/Sound/GP_Heal_1.wav.meta similarity index 100% rename from assets/Media/Audio/Sound/GP_Heal_1.wav.meta rename to assets/Media/Audio/Game/Sound/GP_Heal_1.wav.meta diff --git a/assets/Media/Audio/Sound/GP_Turbo_Discard_2.wav b/assets/Media/Audio/Game/Sound/GP_Turbo_Discard_2.wav similarity index 100% rename from assets/Media/Audio/Sound/GP_Turbo_Discard_2.wav rename to assets/Media/Audio/Game/Sound/GP_Turbo_Discard_2.wav diff --git a/assets/Media/Audio/Sound/GP_Turbo_Discard_2.wav.meta b/assets/Media/Audio/Game/Sound/GP_Turbo_Discard_2.wav.meta similarity index 100% rename from assets/Media/Audio/Sound/GP_Turbo_Discard_2.wav.meta rename to assets/Media/Audio/Game/Sound/GP_Turbo_Discard_2.wav.meta diff --git a/assets/Media/Audio/Sound/Special_Powerup_10.WAV b/assets/Media/Audio/Game/Sound/Special_Powerup_10.WAV similarity index 100% rename from assets/Media/Audio/Sound/Special_Powerup_10.WAV rename to assets/Media/Audio/Game/Sound/Special_Powerup_10.WAV diff --git a/assets/Media/Audio/Sound/Special_Powerup_10.WAV.meta b/assets/Media/Audio/Game/Sound/Special_Powerup_10.WAV.meta similarity index 100% rename from assets/Media/Audio/Sound/Special_Powerup_10.WAV.meta rename to assets/Media/Audio/Game/Sound/Special_Powerup_10.WAV.meta diff --git a/assets/Media/Audio/Sound/UI_Select_2.wav b/assets/Media/Audio/Game/Sound/UI_Select_2.wav similarity index 100% rename from assets/Media/Audio/Sound/UI_Select_2.wav rename to assets/Media/Audio/Game/Sound/UI_Select_2.wav diff --git a/assets/Media/Audio/Sound/UI_Select_2.wav.meta b/assets/Media/Audio/Game/Sound/UI_Select_2.wav.meta similarity index 100% rename from assets/Media/Audio/Sound/UI_Select_2.wav.meta rename to assets/Media/Audio/Game/Sound/UI_Select_2.wav.meta diff --git a/assets/Media/Audio/Sound/coin.1.ogg b/assets/Media/Audio/Game/Sound/coin.1.ogg similarity index 100% rename from assets/Media/Audio/Sound/coin.1.ogg rename to assets/Media/Audio/Game/Sound/coin.1.ogg diff --git a/assets/Media/Audio/Sound/coin.1.ogg.meta b/assets/Media/Audio/Game/Sound/coin.1.ogg.meta similarity index 100% rename from assets/Media/Audio/Sound/coin.1.ogg.meta rename to assets/Media/Audio/Game/Sound/coin.1.ogg.meta diff --git a/assets/Media/Audio/Menu.meta b/assets/Media/Audio/Menu.meta new file mode 100644 index 0000000..15fb427 --- /dev/null +++ b/assets/Media/Audio/Menu.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.1.0", + "importer": "directory", + "imported": true, + "uuid": "58ea6b48-b28b-4108-87bd-edd283cab9c1", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/Media/Audio/Shared.meta b/assets/Media/Audio/Shared.meta new file mode 100644 index 0000000..fb19be8 --- /dev/null +++ b/assets/Media/Audio/Shared.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.1.0", + "importer": "directory", + "imported": true, + "uuid": "07540f3c-d3c4-4c19-b514-430664cebda1", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/Media/Audio/Shared/UI_Click_1.wav b/assets/Media/Audio/Shared/UI_Click_1.wav new file mode 100644 index 0000000000000000000000000000000000000000..4a3db95d6a6336726153707936fac3a9a7a1f3d7 GIT binary patch literal 72812 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
W1Jn3}^UgzRg!d6xn(9RR zA&ZVI#_M~G+p$G@V3)iKgbzN&bD+M+7B*IEk*tP!VwoPQS|NrRWe6`o>o4X-U8!ce z_!e#0j_9ea2rnRfJI7_;YM1isTWCdC`tVsCt-rZtiy0=Wn-eKP!LT4f!JuR=De@y^ z$h$ITt09}FM2}hW>u=`!9@aj%6VK)ZzXP?RjI9TE#7##Lzahsy+pl?H(`_rBtRG_! zd+ED8x1Z1u@8+r5fs^t$W*zsCub@oGPsmuvRno|?%Q?lJg`AQ*a$0V97YjoIs2!kQu1)(@^bbL+;e zLkmK?b4^Ve8`zYW(Sn4`B})?{jB@r68XgEAs2)fk-e*uW^u>9r1K}YAb* F;Q6 z#_a7Q`V3CTydp&kMJZEb-jSBZ6%+_c#2lTGxy~xM5&iq_2$Kxhj+BepC{Lk9zDHlS zlQGNv|xaR0j3U3*5G3@F4LubghuDKHF<>-5UM`UFBTDR?8$h$Ef}5k0Xs* z&N$|5zcJUKhwTKu1*Sy1%DCxXa?HHA`y6dWT0+c_lHi|owTz>Z0>L@Qk|fc4P(td2 zM;a0xR!%fXl#E)=BT+dlROHJA)5Vn3Vpu0FNAi#Y8RS+%hM>P?f=9uj#O2UXM;|i@ z`bn{%PtYY%Ao=(q+d&;?AD1#OC4%0z=zIJ`yFsgv(va9BYtdimh|h`dww%V2`mx2- zp41Bdo0jAtW@VX3P3>AUY6Oo$z5`2wKSAZxlBEhMm1Y+0rhbE>ww+RZih9;pl4G7J zKg}s`KRDpn;wiOdPo{;0rPMTMdsf2yiE_E*MXG=E**H5(M!lGQs+rP4KNB^gm6&1P zqVN7h-#$6c^b@=Z&L_zUT^i2+#Lvi!l1T@X_C=oB7C*t$cn+HAV- zj^D5>(kkhO_rN5}MSj!`Y)cpyLQ8$%|ejK0a$>K$y_UqWwz3^EM z#JrqyJclj>ADyf9616PlPe@auh&5t`rT2R1Hd{vV~&^O2>GTEGFHHJoV6alO*}B zB&GKxRY_k1`(k{S47{^^(sxs%J@ax&P0xjQpM$1RHd@P)UT=B$bK+@Xxx^jQg41%x zpWxDP%Dy=*C>xv%yj3Ui_rm(-N14R6)SmamA@MV~5F9iwC|1b9(9NWukstGlc49tK zC@7Zl3g3MWjzwy`C$31lpl?tyr*%%pyu@(n&r6u@ob!C=lWRvgOx!gkXpm~=WulF|?Z_EkuCSeW zwp99wzO0e@hj`3$2?>krQ}#k{0vjx{dJMV|MR&*SU!jQ-5? zr||wp*^72ki720sw(vbt)8DA!Te>V8x#^zIGjHFgR3nv+UQ(H;m6tKSFfFxeJCT>q z(3Vo!bWi;iwjXt^pY*=4UbI(OKDCw7-rRSLr7%67^BOTW{}%R@*Ry=8AEolYxfDei z-_uX3mzVa*+~FyaI($5l7Ufd;=pl_HpLwFT_qd`={%+fm7ZfZUSzaf~q`G;bsiBYFw5S!WMcakrNwc#~e&us0EE~^xo^9HPKdD^mJKZBM za{Zg9|E+oSFY%WC7Ur6kmyIUVd%8!fwi6?cQu$2Y z*hb7Uzm{P4}^xEIz;&w0tbt-RgBv^UN%+6|gTxwk5vI2!$>mL2Wz z(kb8j-^v-Do@Q)~)Sma0p7(6MR3hbv3|lvTEECku>qpsm&&#KG>!q^!b4nRLR`b&+ ze9nK;C_|oN1Thv{k5;_DRlBA~tEpVHYuPA2TuM_LmdeW%K1VyL=X^|sHB%q<9qCDi zQcmhU?lD61QtNMiik!my;cZ6CQ7`qH((p2cDpUUPVjC@CuMl-xd;agt&Z=hL?}G;c2O4-iA*pHQk5j{{P=n`_@g*g*DzP?XB|@F6FsVH?@%N zkw5(HZ;jma$jeJuGk?o_i}9PAYhaX((!+bSjl7k&ZqxiIlgj?BHipmLI&Um#N@^uq z%}YcdZ+wr`Gy><8QVL6&meQp~k}03_pS(t-r5Zu0R4!7ZZ2lah&f6W{mT#%G)J~o< zyzKCDg?aI8zE58E_vSux3g&&~bxbR4HOfS5Z+?!H^f$&fe1vaqEzggB-rSq*{fnuViCeR(geW4Tmvc*}WeJiWPAsvFexEk+Q3Q;((>KKq`2ELkYYDSdcL Zd1~QP>MO<-J;dxRRrvnaBe%Y#{x2=YvcdoW literal 0 HcmV?d00001 diff --git a/assets/Media/Audio/Shared/UI_Click_1.wav.meta b/assets/Media/Audio/Shared/UI_Click_1.wav.meta new file mode 100644 index 0000000..15f55a8 --- /dev/null +++ b/assets/Media/Audio/Shared/UI_Click_1.wav.meta @@ -0,0 +1,14 @@ +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "c7a46a75-446c-476a-a46e-31cf8c642110", + "files": [ + ".json", + ".wav" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/Media/Prefabs/AppRoot.prefab b/assets/Media/Prefabs/AppRoot.prefab index 7fc5ad3..0803de1 100644 --- a/assets/Media/Prefabs/AppRoot.prefab +++ b/assets/Media/Prefabs/AppRoot.prefab @@ -321,6 +321,10 @@ "__uuid__": "7d43843c-0765-427c-9161-2fd9030369c8", "__expectedType__": "cc.JsonAsset" }, + "gameAssetsPrefab": { + "__uuid__": "bc8c3fb4-28d9-472e-aa3d-947f8a7fa037", + "__expectedType__": "cc.Prefab" + }, "_id": "" }, { diff --git a/assets/Media/Prefabs/GameDataHolders.prefab b/assets/Media/Prefabs/GameDataHolders.prefab new file mode 100644 index 0000000..0ffc1f5 --- /dev/null +++ b/assets/Media/Prefabs/GameDataHolders.prefab @@ -0,0 +1,372 @@ +[ + { + "__type__": "cc.Prefab", + "_name": "GameDataHolders", + "_objFlags": 0, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "persistent": false, + "asyncLoadAssets": false + }, + { + "__type__": "cc.Node", + "_name": "GameDataHolders", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": null, + "_children": [ + { + "__id__": 2 + }, + { + "__id__": 6 + }, + { + "__id__": 10 + } + ], + "_active": true, + "_components": [ + { + "__id__": 14 + } + ], + "_prefab": { + "__id__": 16 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "UpgradeIcons", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 3 + } + ], + "_prefab": { + "__id__": 5 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "c397biITvtFvqyVIZApPuax", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 4 + }, + "weaponLengthSprite": { + "__uuid__": "1ed8c850-646c-4883-97ae-022e97a5e58e@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "weaponDamageSprite": { + "__uuid__": "1ed8c850-646c-4883-97ae-022e97a5e58e@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "horizontalProjectileSprite": { + "__uuid__": "1ed8c850-646c-4883-97ae-022e97a5e58e@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "diagonalProjectileSprite": { + "__uuid__": "1ed8c850-646c-4883-97ae-022e97a5e58e@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "haloProjectileSprite": { + "__uuid__": "1ed8c850-646c-4883-97ae-022e97a5e58e@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "regenerationSprite": { + "__uuid__": "1ed8c850-646c-4883-97ae-022e97a5e58e@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "f3eS2Q2HFOqLgQhIz8PIlB" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "7cBfYduKBCEapID2zGvDHQ" + }, + { + "__type__": "cc.Node", + "_name": "MetaUpgradeIcons", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 7 + } + ], + "_prefab": { + "__id__": 9 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "b18fbEgJGZOJ6w+6tEMaD+0", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 6 + }, + "_enabled": true, + "__prefab": { + "__id__": 8 + }, + "healthSprite": { + "__uuid__": "9bebe8fc-7ccd-4376-a6ff-f9e471b40fcb@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "overallDamageSprite": { + "__uuid__": "9bebe8fc-7ccd-4376-a6ff-f9e471b40fcb@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "projectilePiercingSprite": { + "__uuid__": "9bebe8fc-7ccd-4376-a6ff-f9e471b40fcb@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "movementSpeedSprite": { + "__uuid__": "9bebe8fc-7ccd-4376-a6ff-f9e471b40fcb@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "xpGathererSprite": { + "__uuid__": "9bebe8fc-7ccd-4376-a6ff-f9e471b40fcb@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "goldGathererSprite": { + "__uuid__": "9bebe8fc-7ccd-4376-a6ff-f9e471b40fcb@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "12FTj8QgpB/baWHKKi+uDt" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "42ec+03JlFxoiK/zgq1zKF" + }, + { + "__type__": "cc.Node", + "_name": "AudioAssets", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 11 + } + ], + "_prefab": { + "__id__": 13 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "20793WnayxKkrU5an4AntLg", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 10 + }, + "_enabled": true, + "__prefab": { + "__id__": 12 + }, + "buttonClick": { + "__uuid__": "c7a46a75-446c-476a-a46e-31cf8c642110", + "__expectedType__": "cc.AudioClip" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "e35iJ9jQpCcLdydHmLEqsM" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "eeUoX6uztPs4nvlhOIzEiy" + }, + { + "__type__": "564e96LsN1Hzbs2aO5hhzLF", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 15 + }, + "upgradeIcons": { + "__id__": 3 + }, + "metaUpgradeIcons": { + "__id__": 7 + }, + "audioAssets": { + "__id__": 11 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "84blFlifdOJIZL6azwkZFU" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "74y1g3YJBFk4JiTAPJBtA2" + } +] \ No newline at end of file diff --git a/assets/Media/Prefabs/GameDataHolders.prefab.meta b/assets/Media/Prefabs/GameDataHolders.prefab.meta new file mode 100644 index 0000000..778c039 --- /dev/null +++ b/assets/Media/Prefabs/GameDataHolders.prefab.meta @@ -0,0 +1,13 @@ +{ + "ver": "1.1.40", + "importer": "prefab", + "imported": true, + "uuid": "bc8c3fb4-28d9-472e-aa3d-947f8a7fa037", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": { + "syncNodeName": "GameDataHolders" + } +} diff --git a/assets/Media/Prefabs/ModalWindows/AudioSettings/AudioSettingsModalWindow.prefab b/assets/Media/Prefabs/ModalWindows/AudioSettings/AudioSettingsModalWindow.prefab index 0ede285..baa99f3 100644 --- a/assets/Media/Prefabs/ModalWindows/AudioSettings/AudioSettingsModalWindow.prefab +++ b/assets/Media/Prefabs/ModalWindows/AudioSettings/AudioSettingsModalWindow.prefab @@ -24,18 +24,18 @@ ], "_active": true, "_components": [ - { - "__id__": 100 - }, - { - "__id__": 102 - }, { "__id__": 104 + }, + { + "__id__": 106 + }, + { + "__id__": 108 } ], "_prefab": { - "__id__": 106 + "__id__": 110 }, "_lpos": { "__type__": "cc.Vec3", @@ -84,14 +84,14 @@ "_active": true, "_components": [ { - "__id__": 95 + "__id__": 99 }, { - "__id__": 97 + "__id__": 101 } ], "_prefab": { - "__id__": 99 + "__id__": 103 }, "_lpos": { "__type__": "cc.Vec3", @@ -286,23 +286,23 @@ "__id__": 20 }, { - "__id__": 28 + "__id__": 30 }, { - "__id__": 44 + "__id__": 48 }, { - "__id__": 68 + "__id__": 72 } ], "_active": true, "_components": [ { - "__id__": 92 + "__id__": 96 } ], "_prefab": { - "__id__": 94 + "__id__": 98 }, "_lpos": { "__type__": "cc.Vec3", @@ -499,10 +499,13 @@ }, { "__id__": 25 + }, + { + "__id__": 27 } ], "_prefab": { - "__id__": 27 + "__id__": 29 }, "_lpos": { "__type__": "cc.Vec3", @@ -620,6 +623,26 @@ "__type__": "cc.CompPrefabInfo", "fileId": "6cKPriiXpMaIUOeMX1Lu+M" }, + { + "__type__": "146cdU9Cw9I+otUVSgpwCCT", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 20 + }, + "_enabled": true, + "__prefab": { + "__id__": 28 + }, + "button": { + "__id__": 25 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "02zTxm4vtCr5wLs4oFvOyd" + }, { "__type__": "cc.PrefabInfo", "root": { @@ -639,14 +662,11 @@ }, "_children": [ { - "__id__": 29 + "__id__": 31 } ], "_active": true, "_components": [ - { - "__id__": 35 - }, { "__id__": 37 }, @@ -655,10 +675,16 @@ }, { "__id__": 41 + }, + { + "__id__": 43 + }, + { + "__id__": 45 } ], "_prefab": { - "__id__": 43 + "__id__": 47 }, "_lpos": { "__type__": "cc.Vec3", @@ -693,20 +719,20 @@ "_name": "Square", "_objFlags": 0, "_parent": { - "__id__": 28 + "__id__": 30 }, "_children": [], "_active": true, "_components": [ { - "__id__": 30 + "__id__": 32 }, { - "__id__": 32 + "__id__": 34 } ], "_prefab": { - "__id__": 34 + "__id__": 36 }, "_lpos": { "__type__": "cc.Vec3", @@ -741,11 +767,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 29 + "__id__": 31 }, "_enabled": true, "__prefab": { - "__id__": 31 + "__id__": 33 }, "_contentSize": { "__type__": "cc.Size", @@ -768,11 +794,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 29 + "__id__": 31 }, "_enabled": true, "__prefab": { - "__id__": 33 + "__id__": 35 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -825,11 +851,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 30 }, "_enabled": true, "__prefab": { - "__id__": 36 + "__id__": 38 }, "_contentSize": { "__type__": "cc.Size", @@ -852,11 +878,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 30 }, "_enabled": true, "__prefab": { - "__id__": 38 + "__id__": 40 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -896,11 +922,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 30 }, "_enabled": true, "__prefab": { - "__id__": 40 + "__id__": 42 }, "clickEvents": [], "_interactable": true, @@ -952,7 +978,7 @@ "_duration": 0.1, "_zoomScale": 1.2, "_target": { - "__id__": 28 + "__id__": 30 }, "_id": "" }, @@ -965,11 +991,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 30 }, "_enabled": true, "__prefab": { - "__id__": 42 + "__id__": 44 }, "_id": "" }, @@ -977,6 +1003,26 @@ "__type__": "cc.CompPrefabInfo", "fileId": "d0RPfnrYtEaqyGS7+1mWsi" }, + { + "__type__": "146cdU9Cw9I+otUVSgpwCCT", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 30 + }, + "_enabled": true, + "__prefab": { + "__id__": 46 + }, + "button": { + "__id__": 43 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "6fJ4uVur5G06dcdIl7jgYZ" + }, { "__type__": "cc.PrefabInfo", "root": { @@ -996,16 +1042,16 @@ }, "_children": [ { - "__id__": 45 + "__id__": 49 }, { - "__id__": 51 + "__id__": 55 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 67 + "__id__": 71 }, "_lpos": { "__type__": "cc.Vec3", @@ -1040,20 +1086,20 @@ "_name": "SoundLabel", "_objFlags": 0, "_parent": { - "__id__": 44 + "__id__": 48 }, "_children": [], "_active": true, "_components": [ { - "__id__": 46 + "__id__": 50 }, { - "__id__": 48 + "__id__": 52 } ], "_prefab": { - "__id__": 50 + "__id__": 54 }, "_lpos": { "__type__": "cc.Vec3", @@ -1088,11 +1134,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 45 + "__id__": 49 }, "_enabled": true, "__prefab": { - "__id__": 47 + "__id__": 51 }, "_contentSize": { "__type__": "cc.Size", @@ -1115,11 +1161,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 45 + "__id__": 49 }, "_enabled": true, "__prefab": { - "__id__": 49 + "__id__": 53 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1172,27 +1218,27 @@ "_name": "SoundVolumeSlider", "_objFlags": 0, "_parent": { - "__id__": 44 + "__id__": 48 }, "_children": [ { - "__id__": 52 + "__id__": 56 } ], "_active": true, "_components": [ - { - "__id__": 60 - }, - { - "__id__": 62 - }, { "__id__": 64 + }, + { + "__id__": 66 + }, + { + "__id__": 68 } ], "_prefab": { - "__id__": 66 + "__id__": 70 }, "_lpos": { "__type__": "cc.Vec3", @@ -1227,23 +1273,23 @@ "_name": "Handle", "_objFlags": 0, "_parent": { - "__id__": 51 + "__id__": 55 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 53 - }, - { - "__id__": 55 - }, { "__id__": 57 + }, + { + "__id__": 59 + }, + { + "__id__": 61 } ], "_prefab": { - "__id__": 59 + "__id__": 63 }, "_lpos": { "__type__": "cc.Vec3", @@ -1278,11 +1324,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 52 + "__id__": 56 }, "_enabled": true, "__prefab": { - "__id__": 54 + "__id__": 58 }, "_contentSize": { "__type__": "cc.Size", @@ -1305,11 +1351,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 52 + "__id__": 56 }, "_enabled": true, "__prefab": { - "__id__": 56 + "__id__": 60 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1349,11 +1395,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 52 + "__id__": 56 }, "_enabled": true, "__prefab": { - "__id__": 58 + "__id__": 62 }, "clickEvents": [], "_interactable": true, @@ -1396,7 +1442,7 @@ "_duration": 0.1, "_zoomScale": 1.2, "_target": { - "__id__": 52 + "__id__": 56 }, "_id": "" }, @@ -1419,11 +1465,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 51 + "__id__": 55 }, "_enabled": true, "__prefab": { - "__id__": 61 + "__id__": 65 }, "_contentSize": { "__type__": "cc.Size", @@ -1446,11 +1492,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 51 + "__id__": 55 }, "_enabled": true, "__prefab": { - "__id__": 63 + "__id__": 67 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1490,15 +1536,15 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 51 + "__id__": 55 }, "_enabled": true, "__prefab": { - "__id__": 65 + "__id__": 69 }, "slideEvents": [], "_handle": { - "__id__": 55 + "__id__": 59 }, "_direction": 0, "_progress": 0.1, @@ -1537,16 +1583,16 @@ }, "_children": [ { - "__id__": 69 + "__id__": 73 }, { - "__id__": 75 + "__id__": 79 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 91 + "__id__": 95 }, "_lpos": { "__type__": "cc.Vec3", @@ -1581,20 +1627,20 @@ "_name": "MusicLabel", "_objFlags": 0, "_parent": { - "__id__": 68 + "__id__": 72 }, "_children": [], "_active": true, "_components": [ { - "__id__": 70 + "__id__": 74 }, { - "__id__": 72 + "__id__": 76 } ], "_prefab": { - "__id__": 74 + "__id__": 78 }, "_lpos": { "__type__": "cc.Vec3", @@ -1629,11 +1675,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 69 + "__id__": 73 }, "_enabled": true, "__prefab": { - "__id__": 71 + "__id__": 75 }, "_contentSize": { "__type__": "cc.Size", @@ -1656,11 +1702,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 69 + "__id__": 73 }, "_enabled": true, "__prefab": { - "__id__": 73 + "__id__": 77 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1713,27 +1759,27 @@ "_name": "MusicVolumeSlider", "_objFlags": 0, "_parent": { - "__id__": 68 + "__id__": 72 }, "_children": [ { - "__id__": 76 + "__id__": 80 } ], "_active": true, "_components": [ - { - "__id__": 84 - }, - { - "__id__": 86 - }, { "__id__": 88 + }, + { + "__id__": 90 + }, + { + "__id__": 92 } ], "_prefab": { - "__id__": 90 + "__id__": 94 }, "_lpos": { "__type__": "cc.Vec3", @@ -1768,23 +1814,23 @@ "_name": "Handle", "_objFlags": 0, "_parent": { - "__id__": 75 + "__id__": 79 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 77 - }, - { - "__id__": 79 - }, { "__id__": 81 + }, + { + "__id__": 83 + }, + { + "__id__": 85 } ], "_prefab": { - "__id__": 83 + "__id__": 87 }, "_lpos": { "__type__": "cc.Vec3", @@ -1819,11 +1865,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 76 + "__id__": 80 }, "_enabled": true, "__prefab": { - "__id__": 78 + "__id__": 82 }, "_contentSize": { "__type__": "cc.Size", @@ -1846,11 +1892,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 76 + "__id__": 80 }, "_enabled": true, "__prefab": { - "__id__": 80 + "__id__": 84 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1890,11 +1936,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 76 + "__id__": 80 }, "_enabled": true, "__prefab": { - "__id__": 82 + "__id__": 86 }, "clickEvents": [], "_interactable": true, @@ -1937,7 +1983,7 @@ "_duration": 0.1, "_zoomScale": 1.2, "_target": { - "__id__": 76 + "__id__": 80 }, "_id": "" }, @@ -1960,11 +2006,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 75 + "__id__": 79 }, "_enabled": true, "__prefab": { - "__id__": 85 + "__id__": 89 }, "_contentSize": { "__type__": "cc.Size", @@ -1987,11 +2033,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 75 + "__id__": 79 }, "_enabled": true, "__prefab": { - "__id__": 87 + "__id__": 91 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -2031,15 +2077,15 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 75 + "__id__": 79 }, "_enabled": true, "__prefab": { - "__id__": 89 + "__id__": 93 }, "slideEvents": [], "_handle": { - "__id__": 79 + "__id__": 83 }, "_direction": 0, "_progress": 0.1, @@ -2078,7 +2124,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 93 + "__id__": 97 }, "_contentSize": { "__type__": "cc.Size", @@ -2115,7 +2161,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 96 + "__id__": 100 }, "_contentSize": { "__type__": "cc.Size", @@ -2142,7 +2188,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 98 + "__id__": 102 }, "playOnLoad": false, "_clips": [ @@ -2184,7 +2230,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 101 + "__id__": 105 }, "_contentSize": { "__type__": "cc.Size", @@ -2212,7 +2258,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 103 + "__id__": 107 }, "_alignFlags": 45, "_target": null, @@ -2247,10 +2293,10 @@ }, "_enabled": true, "__prefab": { - "__id__": 105 + "__id__": 109 }, "animation": { - "__id__": 97 + "__id__": 101 }, "closeButton": { "__id__": 25 @@ -2259,13 +2305,13 @@ "__id__": 8 }, "soundVolumeSlider": { - "__id__": 64 + "__id__": 68 }, "musicVolumeSlider": { - "__id__": 88 + "__id__": 92 }, "okButton": { - "__id__": 41 + "__id__": 43 }, "_id": "" }, diff --git a/assets/Media/Prefabs/ModalWindows/Pause/PauseModalWindow.prefab b/assets/Media/Prefabs/ModalWindows/Pause/PauseModalWindow.prefab index 8c06ae7..f68859f 100644 --- a/assets/Media/Prefabs/ModalWindows/Pause/PauseModalWindow.prefab +++ b/assets/Media/Prefabs/ModalWindows/Pause/PauseModalWindow.prefab @@ -25,17 +25,17 @@ "_active": true, "_components": [ { - "__id__": 90 + "__id__": 98 }, { - "__id__": 92 + "__id__": 100 }, { - "__id__": 94 + "__id__": 102 } ], "_prefab": { - "__id__": 96 + "__id__": 104 }, "_lpos": { "__type__": "cc.Vec3", @@ -84,14 +84,14 @@ "_active": true, "_components": [ { - "__id__": 85 + "__id__": 93 }, { - "__id__": 87 + "__id__": 95 } ], "_prefab": { - "__id__": 89 + "__id__": 97 }, "_lpos": { "__type__": "cc.Vec3", @@ -286,26 +286,26 @@ "__id__": 20 }, { - "__id__": 28 + "__id__": 30 }, { - "__id__": 44 + "__id__": 48 }, { - "__id__": 60 + "__id__": 66 }, { - "__id__": 76 + "__id__": 84 } ], "_active": true, "_components": [ { - "__id__": 82 + "__id__": 90 } ], "_prefab": { - "__id__": 84 + "__id__": 92 }, "_lpos": { "__type__": "cc.Vec3", @@ -502,10 +502,13 @@ }, { "__id__": 25 + }, + { + "__id__": 27 } ], "_prefab": { - "__id__": 27 + "__id__": 29 }, "_lpos": { "__type__": "cc.Vec3", @@ -623,6 +626,26 @@ "__type__": "cc.CompPrefabInfo", "fileId": "6cKPriiXpMaIUOeMX1Lu+M" }, + { + "__type__": "146cdU9Cw9I+otUVSgpwCCT", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 20 + }, + "_enabled": true, + "__prefab": { + "__id__": 28 + }, + "button": { + "__id__": 25 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "26iMBW1IBFOIKUWiX0Jg9C" + }, { "__type__": "cc.PrefabInfo", "root": { @@ -642,14 +665,11 @@ }, "_children": [ { - "__id__": 29 + "__id__": 31 } ], "_active": true, "_components": [ - { - "__id__": 35 - }, { "__id__": 37 }, @@ -658,10 +678,16 @@ }, { "__id__": 41 + }, + { + "__id__": 43 + }, + { + "__id__": 45 } ], "_prefab": { - "__id__": 43 + "__id__": 47 }, "_lpos": { "__type__": "cc.Vec3", @@ -696,20 +722,20 @@ "_name": "Square", "_objFlags": 0, "_parent": { - "__id__": 28 + "__id__": 30 }, "_children": [], "_active": true, "_components": [ { - "__id__": 30 + "__id__": 32 }, { - "__id__": 32 + "__id__": 34 } ], "_prefab": { - "__id__": 34 + "__id__": 36 }, "_lpos": { "__type__": "cc.Vec3", @@ -744,11 +770,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 29 + "__id__": 31 }, "_enabled": true, "__prefab": { - "__id__": 31 + "__id__": 33 }, "_contentSize": { "__type__": "cc.Size", @@ -771,11 +797,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 29 + "__id__": 31 }, "_enabled": true, "__prefab": { - "__id__": 33 + "__id__": 35 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -828,11 +854,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 30 }, "_enabled": true, "__prefab": { - "__id__": 36 + "__id__": 38 }, "_contentSize": { "__type__": "cc.Size", @@ -855,11 +881,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 30 }, "_enabled": true, "__prefab": { - "__id__": 38 + "__id__": 40 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -899,11 +925,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 30 }, "_enabled": true, "__prefab": { - "__id__": 40 + "__id__": 42 }, "clickEvents": [], "_interactable": true, @@ -955,7 +981,7 @@ "_duration": 0.1, "_zoomScale": 1.2, "_target": { - "__id__": 28 + "__id__": 30 }, "_id": "" }, @@ -968,11 +994,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 30 }, "_enabled": true, "__prefab": { - "__id__": 42 + "__id__": 44 }, "_id": "" }, @@ -980,6 +1006,26 @@ "__type__": "cc.CompPrefabInfo", "fileId": "d0RPfnrYtEaqyGS7+1mWsi" }, + { + "__type__": "146cdU9Cw9I+otUVSgpwCCT", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 30 + }, + "_enabled": true, + "__prefab": { + "__id__": 46 + }, + "button": { + "__id__": 43 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "11TEBgMD5BPJXOLEjIAeKT" + }, { "__type__": "cc.PrefabInfo", "root": { @@ -999,26 +1045,29 @@ }, "_children": [ { - "__id__": 45 + "__id__": 49 } ], "_active": true, "_components": [ - { - "__id__": 51 - }, - { - "__id__": 53 - }, { "__id__": 55 }, { "__id__": 57 + }, + { + "__id__": 59 + }, + { + "__id__": 61 + }, + { + "__id__": 63 } ], "_prefab": { - "__id__": 59 + "__id__": 65 }, "_lpos": { "__type__": "cc.Vec3", @@ -1053,20 +1102,20 @@ "_name": "Square", "_objFlags": 0, "_parent": { - "__id__": 44 + "__id__": 48 }, "_children": [], "_active": true, "_components": [ { - "__id__": 46 + "__id__": 50 }, { - "__id__": 48 + "__id__": 52 } ], "_prefab": { - "__id__": 50 + "__id__": 54 }, "_lpos": { "__type__": "cc.Vec3", @@ -1101,11 +1150,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 45 + "__id__": 49 }, "_enabled": true, "__prefab": { - "__id__": 47 + "__id__": 51 }, "_contentSize": { "__type__": "cc.Size", @@ -1128,11 +1177,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 45 + "__id__": 49 }, "_enabled": true, "__prefab": { - "__id__": 49 + "__id__": 53 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1185,11 +1234,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 44 + "__id__": 48 }, "_enabled": true, "__prefab": { - "__id__": 52 + "__id__": 56 }, "_contentSize": { "__type__": "cc.Size", @@ -1212,11 +1261,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 44 + "__id__": 48 }, "_enabled": true, "__prefab": { - "__id__": 54 + "__id__": 58 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1256,11 +1305,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 44 + "__id__": 48 }, "_enabled": true, "__prefab": { - "__id__": 56 + "__id__": 60 }, "clickEvents": [], "_interactable": true, @@ -1312,7 +1361,7 @@ "_duration": 0.1, "_zoomScale": 1.2, "_target": { - "__id__": 44 + "__id__": 48 }, "_id": "" }, @@ -1325,11 +1374,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 44 + "__id__": 48 }, "_enabled": true, "__prefab": { - "__id__": 58 + "__id__": 62 }, "_id": "" }, @@ -1337,6 +1386,26 @@ "__type__": "cc.CompPrefabInfo", "fileId": "14KoAgm55C5JO3vB/TfgAv" }, + { + "__type__": "146cdU9Cw9I+otUVSgpwCCT", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 48 + }, + "_enabled": true, + "__prefab": { + "__id__": 64 + }, + "button": { + "__id__": 61 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "5bPDVfNOxKzYFdYwzcyy5V" + }, { "__type__": "cc.PrefabInfo", "root": { @@ -1356,26 +1425,29 @@ }, "_children": [ { - "__id__": 61 + "__id__": 67 } ], "_active": true, "_components": [ - { - "__id__": 67 - }, - { - "__id__": 69 - }, - { - "__id__": 71 - }, { "__id__": 73 + }, + { + "__id__": 75 + }, + { + "__id__": 77 + }, + { + "__id__": 79 + }, + { + "__id__": 81 } ], "_prefab": { - "__id__": 75 + "__id__": 83 }, "_lpos": { "__type__": "cc.Vec3", @@ -1410,20 +1482,20 @@ "_name": "Square", "_objFlags": 0, "_parent": { - "__id__": 60 + "__id__": 66 }, "_children": [], "_active": true, "_components": [ { - "__id__": 62 + "__id__": 68 }, { - "__id__": 64 + "__id__": 70 } ], "_prefab": { - "__id__": 66 + "__id__": 72 }, "_lpos": { "__type__": "cc.Vec3", @@ -1458,11 +1530,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 61 + "__id__": 67 }, "_enabled": true, "__prefab": { - "__id__": 63 + "__id__": 69 }, "_contentSize": { "__type__": "cc.Size", @@ -1485,11 +1557,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 61 + "__id__": 67 }, "_enabled": true, "__prefab": { - "__id__": 65 + "__id__": 71 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1542,11 +1614,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 60 + "__id__": 66 }, "_enabled": true, "__prefab": { - "__id__": 68 + "__id__": 74 }, "_contentSize": { "__type__": "cc.Size", @@ -1569,11 +1641,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 60 + "__id__": 66 }, "_enabled": true, "__prefab": { - "__id__": 70 + "__id__": 76 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1613,11 +1685,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 60 + "__id__": 66 }, "_enabled": true, "__prefab": { - "__id__": 72 + "__id__": 78 }, "clickEvents": [], "_interactable": true, @@ -1669,7 +1741,7 @@ "_duration": 0.1, "_zoomScale": 1.2, "_target": { - "__id__": 60 + "__id__": 66 }, "_id": "" }, @@ -1682,11 +1754,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 60 + "__id__": 66 }, "_enabled": true, "__prefab": { - "__id__": 74 + "__id__": 80 }, "_id": "" }, @@ -1694,6 +1766,26 @@ "__type__": "cc.CompPrefabInfo", "fileId": "0dLU8MYB9LPbVkcWsvOp+Y" }, + { + "__type__": "146cdU9Cw9I+otUVSgpwCCT", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 66 + }, + "_enabled": true, + "__prefab": { + "__id__": 82 + }, + "button": { + "__id__": 79 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "1b9knYLxFIKKTTbO7ZlpdD" + }, { "__type__": "cc.PrefabInfo", "root": { @@ -1715,14 +1807,14 @@ "_active": true, "_components": [ { - "__id__": 77 + "__id__": 85 }, { - "__id__": 79 + "__id__": 87 } ], "_prefab": { - "__id__": 81 + "__id__": 89 }, "_lpos": { "__type__": "cc.Vec3", @@ -1757,11 +1849,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 76 + "__id__": 84 }, "_enabled": true, "__prefab": { - "__id__": 78 + "__id__": 86 }, "_contentSize": { "__type__": "cc.Size", @@ -1784,11 +1876,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 76 + "__id__": 84 }, "_enabled": true, "__prefab": { - "__id__": 80 + "__id__": 88 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1845,7 +1937,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 83 + "__id__": 91 }, "_contentSize": { "__type__": "cc.Size", @@ -1882,7 +1974,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 86 + "__id__": 94 }, "_contentSize": { "__type__": "cc.Size", @@ -1909,7 +2001,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 88 + "__id__": 96 }, "playOnLoad": false, "_clips": [ @@ -1951,7 +2043,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 91 + "__id__": 99 }, "_contentSize": { "__type__": "cc.Size", @@ -1979,7 +2071,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 93 + "__id__": 101 }, "_alignFlags": 45, "_target": null, @@ -2014,10 +2106,10 @@ }, "_enabled": true, "__prefab": { - "__id__": 95 + "__id__": 103 }, "animation": { - "__id__": 87 + "__id__": 95 }, "closeButton": { "__id__": 25 @@ -2026,13 +2118,13 @@ "__id__": 8 }, "continueBtn": { - "__id__": 41 + "__id__": 43 }, "audioSettingsButton": { - "__id__": 73 + "__id__": 79 }, "exitBtn": { - "__id__": 57 + "__id__": 61 }, "_id": "" }, diff --git a/assets/Scenes/Game.scene b/assets/Scenes/Game.scene index 961095d..9181c2d 100644 --- a/assets/Scenes/Game.scene +++ b/assets/Scenes/Game.scene @@ -27,11 +27,11 @@ "_active": true, "_components": [], "_prefab": { - "__id__": 103 + "__id__": 104 }, "autoReleaseAssets": false, "_globals": { - "__id__": 106 + "__id__": 107 }, "_id": "cffa5b19-2043-4cef-8221-1a10ab7a2c1f" }, @@ -196,7 +196,7 @@ "_enabled": true, "__prefab": null, "startTime": 0, - "startXP": 300, + "startXP": 0, "maxHpLevel": 0, "bonusDamageLevel": 0, "projectilePiercingLevel": 0, @@ -246,9 +246,6 @@ ], "_active": true, "_components": [ - { - "__id__": 99 - }, { "__id__": 100 }, @@ -257,6 +254,9 @@ }, { "__id__": 102 + }, + { + "__id__": 103 } ], "_prefab": null, @@ -1294,25 +1294,25 @@ "__id__": 49 }, { - "__id__": 83 + "__id__": 84 }, { - "__id__": 86 + "__id__": 87 }, { - "__id__": 89 + "__id__": 90 }, { - "__id__": 92 + "__id__": 93 }, { - "__id__": 95 + "__id__": 96 } ], "_active": true, "_components": [ { - "__id__": 98 + "__id__": 99 } ], "_prefab": null, @@ -1356,13 +1356,13 @@ "__id__": 50 }, { - "__id__": 73 + "__id__": 74 } ], "_active": true, "_components": [ { - "__id__": 82 + "__id__": 83 } ], "_prefab": null, @@ -1415,10 +1415,10 @@ "_active": true, "_components": [ { - "__id__": 71 + "__id__": 72 }, { - "__id__": 72 + "__id__": 73 } ], "_prefab": null, @@ -1885,6 +1885,9 @@ }, { "__id__": 70 + }, + { + "__id__": 71 } ], "_prefab": null, @@ -2157,6 +2160,20 @@ "__prefab": null, "_id": "94Ye77Hc9Hw6DUaP7suX3j" }, + { + "__type__": "146cdU9Cw9I+otUVSgpwCCT", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 63 + }, + "_enabled": true, + "__prefab": null, + "button": { + "__id__": 70 + }, + "_id": "19CfluWQpOB4qddmLDK5n9" + }, { "__type__": "cc.UITransform", "_name": "", @@ -2216,13 +2233,13 @@ }, "_children": [ { - "__id__": 74 + "__id__": 75 } ], "_active": true, "_components": [ { - "__id__": 81 + "__id__": 82 } ], "_prefab": null, @@ -2259,23 +2276,23 @@ "_name": "VirtualJoystic", "_objFlags": 0, "_parent": { - "__id__": 73 + "__id__": 74 }, "_children": [ { - "__id__": 75 + "__id__": 76 } ], "_active": true, "_components": [ - { - "__id__": 78 - }, { "__id__": 79 }, { "__id__": 80 + }, + { + "__id__": 81 } ], "_prefab": null, @@ -2312,16 +2329,16 @@ "_name": "Knob", "_objFlags": 0, "_parent": { - "__id__": 74 + "__id__": 75 }, "_children": [], "_active": true, "_components": [ { - "__id__": 76 + "__id__": 77 }, { - "__id__": 77 + "__id__": 78 } ], "_prefab": null, @@ -2358,7 +2375,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 75 + "__id__": 76 }, "_enabled": true, "__prefab": null, @@ -2379,7 +2396,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 75 + "__id__": 76 }, "_enabled": true, "__prefab": null, @@ -2417,7 +2434,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 74 + "__id__": 75 }, "_enabled": true, "__prefab": null, @@ -2438,7 +2455,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 74 + "__id__": 75 }, "_enabled": true, "__prefab": null, @@ -2476,13 +2493,13 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 74 + "__id__": 75 }, "_enabled": true, "__prefab": null, "maxDistance": 50, "knob": { - "__id__": 75 + "__id__": 76 }, "_id": "50ceZG62tGlYXvZWEvSDKl" }, @@ -2491,7 +2508,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 73 + "__id__": 74 }, "_enabled": true, "__prefab": null, @@ -2538,10 +2555,10 @@ "_active": true, "_components": [ { - "__id__": 84 + "__id__": 85 }, { - "__id__": 85 + "__id__": 86 } ], "_prefab": null, @@ -2578,7 +2595,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 83 + "__id__": 84 }, "_enabled": true, "__prefab": null, @@ -2599,7 +2616,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 83 + "__id__": 84 }, "_enabled": true, "__prefab": null, @@ -2630,10 +2647,10 @@ "_active": true, "_components": [ { - "__id__": 87 + "__id__": 88 }, { - "__id__": 88 + "__id__": 89 } ], "_prefab": null, @@ -2670,7 +2687,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 86 + "__id__": 87 }, "_enabled": true, "__prefab": null, @@ -2691,7 +2708,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 86 + "__id__": 87 }, "_enabled": true, "__prefab": null, @@ -2735,10 +2752,10 @@ "_active": true, "_components": [ { - "__id__": 90 + "__id__": 91 }, { - "__id__": 91 + "__id__": 92 } ], "_prefab": null, @@ -2775,7 +2792,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 89 + "__id__": 90 }, "_enabled": true, "__prefab": null, @@ -2796,7 +2813,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 89 + "__id__": 90 }, "_enabled": true, "__prefab": null, @@ -2840,10 +2857,10 @@ "_active": true, "_components": [ { - "__id__": 93 + "__id__": 94 }, { - "__id__": 94 + "__id__": 95 } ], "_prefab": null, @@ -2880,7 +2897,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 92 + "__id__": 93 }, "_enabled": true, "__prefab": null, @@ -2901,7 +2918,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 92 + "__id__": 93 }, "_enabled": true, "__prefab": null, @@ -2945,10 +2962,10 @@ "_active": true, "_components": [ { - "__id__": 96 + "__id__": 97 }, { - "__id__": 97 + "__id__": 98 } ], "_prefab": null, @@ -2985,7 +3002,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 95 + "__id__": 96 }, "_enabled": true, "__prefab": null, @@ -3006,7 +3023,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 95 + "__id__": 96 }, "_enabled": true, "__prefab": null, @@ -3113,7 +3130,7 @@ "_enabled": true, "__prefab": null, "_cameraComponent": { - "__id__": 98 + "__id__": 99 }, "_alignCanvasWithScreen": true, "_id": "12O/ljcVlEqLmVm3U2gEOQ" @@ -3157,7 +3174,7 @@ "_enabled": true, "__prefab": null, "virtualJoystic": { - "__id__": 80 + "__id__": 81 }, "player": null, "haloProjectileLauncherComponent": { @@ -3179,16 +3196,16 @@ "__id__": 43 }, "camera": { - "__id__": 98 + "__id__": 99 }, "gameUI": { - "__id__": 82 + "__id__": 83 }, "background": { "__id__": 17 }, "modalWindowManager": { - "__id__": 85 + "__id__": 86 }, "gameAudioAdapter": { "__id__": 14 @@ -3200,7 +3217,7 @@ "fileId": "cffa5b19-2043-4cef-8221-1a10ab7a2c1f", "targetOverrides": [ { - "__id__": 104 + "__id__": 105 } ], "nestedPrefabInstanceRoots": [ @@ -3215,7 +3232,7 @@ { "__type__": "cc.TargetOverrideInfo", "source": { - "__id__": 102 + "__id__": 103 }, "sourceInfo": null, "propertyPath": [ @@ -3225,7 +3242,7 @@ "__id__": 26 }, "targetInfo": { - "__id__": 105 + "__id__": 106 } }, { @@ -3237,19 +3254,19 @@ { "__type__": "cc.SceneGlobals", "ambient": { - "__id__": 107 - }, - "shadows": { "__id__": 108 }, - "_skybox": { + "shadows": { "__id__": 109 }, - "fog": { + "_skybox": { "__id__": 110 }, - "octree": { + "fog": { "__id__": 111 + }, + "octree": { + "__id__": 112 } }, { diff --git a/assets/Scenes/Menu.scene b/assets/Scenes/Menu.scene index 32cc4e1..6021076 100644 --- a/assets/Scenes/Menu.scene +++ b/assets/Scenes/Menu.scene @@ -24,11 +24,11 @@ "_active": true, "_components": [], "_prefab": { - "__id__": 44 + "__id__": 47 }, "autoReleaseAssets": false, "_globals": { - "__id__": 45 + "__id__": 48 }, "_id": "1a3bccb5-bbb7-4058-846c-ed41b52415b0" }, @@ -155,28 +155,28 @@ "__id__": 13 }, { - "__id__": 21 + "__id__": 22 }, { - "__id__": 29 + "__id__": 31 }, { - "__id__": 37 + "__id__": 40 } ], "_active": true, "_components": [ - { - "__id__": 40 - }, - { - "__id__": 41 - }, - { - "__id__": 42 - }, { "__id__": 43 + }, + { + "__id__": 44 + }, + { + "__id__": 45 + }, + { + "__id__": 46 } ], "_prefab": null, @@ -319,6 +319,9 @@ }, { "__id__": 20 + }, + { + "__id__": 21 } ], "_prefab": null, @@ -588,6 +591,20 @@ "__prefab": null, "_id": "8d2ldk4JNJYKGBH48A9kCb" }, + { + "__type__": "146cdU9Cw9I+otUVSgpwCCT", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 13 + }, + "_enabled": true, + "__prefab": null, + "button": { + "__id__": 20 + }, + "_id": "3f/GLS2YxHJI360Fym4+Nl" + }, { "__type__": "cc.Node", "_name": "UpgradesBtn", @@ -597,14 +614,11 @@ }, "_children": [ { - "__id__": 22 + "__id__": 23 } ], "_active": true, "_components": [ - { - "__id__": 25 - }, { "__id__": 26 }, @@ -613,6 +627,12 @@ }, { "__id__": 28 + }, + { + "__id__": 29 + }, + { + "__id__": 30 } ], "_prefab": null, @@ -649,16 +669,16 @@ "_name": "Label", "_objFlags": 512, "_parent": { - "__id__": 21 + "__id__": 22 }, "_children": [], "_active": true, "_components": [ { - "__id__": 23 + "__id__": 24 }, { - "__id__": 24 + "__id__": 25 } ], "_prefab": null, @@ -695,7 +715,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 22 + "__id__": 23 }, "_enabled": true, "__prefab": null, @@ -716,7 +736,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 22 + "__id__": 23 }, "_enabled": true, "__prefab": null, @@ -754,7 +774,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 21 + "__id__": 22 }, "_enabled": true, "__prefab": null, @@ -775,7 +795,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 21 + "__id__": 22 }, "_enabled": true, "__prefab": null, @@ -813,7 +833,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 21 + "__id__": 22 }, "_enabled": true, "__prefab": null, @@ -867,7 +887,7 @@ "_duration": 0.1, "_zoomScale": 1.2, "_target": { - "__id__": 21 + "__id__": 22 }, "_id": "02km9/CjtM4LntV5ZcaVeR" }, @@ -876,12 +896,26 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 21 + "__id__": 22 }, "_enabled": true, "__prefab": null, "_id": "17dRwdDH1DH7KDpkjt3c0f" }, + { + "__type__": "146cdU9Cw9I+otUVSgpwCCT", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 22 + }, + "_enabled": true, + "__prefab": null, + "button": { + "__id__": 29 + }, + "_id": "adNyH1o7lEPoaiPeZSxUCn" + }, { "__type__": "cc.Node", "_name": "AudioSettingsBtn", @@ -891,22 +925,25 @@ }, "_children": [ { - "__id__": 30 + "__id__": 32 } ], "_active": true, "_components": [ - { - "__id__": 33 - }, - { - "__id__": 34 - }, { "__id__": 35 }, { "__id__": 36 + }, + { + "__id__": 37 + }, + { + "__id__": 38 + }, + { + "__id__": 39 } ], "_prefab": null, @@ -943,16 +980,16 @@ "_name": "Label", "_objFlags": 512, "_parent": { - "__id__": 29 + "__id__": 31 }, "_children": [], "_active": true, "_components": [ { - "__id__": 31 + "__id__": 33 }, { - "__id__": 32 + "__id__": 34 } ], "_prefab": null, @@ -989,7 +1026,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 30 + "__id__": 32 }, "_enabled": true, "__prefab": null, @@ -1010,7 +1047,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 30 + "__id__": 32 }, "_enabled": true, "__prefab": null, @@ -1048,7 +1085,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 29 + "__id__": 31 }, "_enabled": true, "__prefab": null, @@ -1069,7 +1106,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 29 + "__id__": 31 }, "_enabled": true, "__prefab": null, @@ -1107,7 +1144,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 29 + "__id__": 31 }, "_enabled": true, "__prefab": null, @@ -1161,7 +1198,7 @@ "_duration": 0.1, "_zoomScale": 1.2, "_target": { - "__id__": 29 + "__id__": 31 }, "_id": "83MUZ70BBPoqpCJzA3nVTN" }, @@ -1170,12 +1207,26 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 29 + "__id__": 31 }, "_enabled": true, "__prefab": null, "_id": "32FMfxdN1Auo3dMG2+/Ftl" }, + { + "__type__": "146cdU9Cw9I+otUVSgpwCCT", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 31 + }, + "_enabled": true, + "__prefab": null, + "button": { + "__id__": 38 + }, + "_id": "6bWmS+us9G55ZQR94w+B3i" + }, { "__type__": "cc.Node", "_name": "ModalWindowManager", @@ -1187,10 +1238,10 @@ "_active": true, "_components": [ { - "__id__": 38 + "__id__": 41 }, { - "__id__": 39 + "__id__": 42 } ], "_prefab": null, @@ -1227,7 +1278,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 37 + "__id__": 40 }, "_enabled": true, "__prefab": null, @@ -1248,7 +1299,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 37 + "__id__": 40 }, "_enabled": true, "__prefab": null, @@ -1342,13 +1393,13 @@ "__id__": 20 }, "upgradeBtn": { - "__id__": 28 + "__id__": 29 }, "audioSettingsBtn": { - "__id__": 36 + "__id__": 38 }, "modalWindowManager": { - "__id__": 39 + "__id__": 42 }, "_id": "4cQFnvx1xB65sFsTPGRrB7" }, @@ -1364,19 +1415,19 @@ { "__type__": "cc.SceneGlobals", "ambient": { - "__id__": 46 - }, - "shadows": { - "__id__": 47 - }, - "_skybox": { - "__id__": 48 - }, - "fog": { "__id__": 49 }, - "octree": { + "shadows": { "__id__": 50 + }, + "_skybox": { + "__id__": 51 + }, + "fog": { + "__id__": 52 + }, + "octree": { + "__id__": 53 } }, { diff --git a/assets/Scripts/AppRoot/AppRoot.ts b/assets/Scripts/AppRoot/AppRoot.ts index f9620c4..7e5b87c 100644 --- a/assets/Scripts/AppRoot/AppRoot.ts +++ b/assets/Scripts/AppRoot/AppRoot.ts @@ -1,5 +1,6 @@ -import { Component, director, JsonAsset, _decorator } from "cc"; +import { Component, director, instantiate, JsonAsset, Prefab, _decorator } from "cc"; import { GameSettings } from "../Game/Data/GameSettings"; +import { GameAssets } from "../Game/Data/Assets/GameAssets"; import { TranslationData } from "../Game/Data/TranslationData"; import { UserData } from "../Game/Data/UserData"; import { AudioPlayer } from "../Services/AudioPlayer/AudioPlayer"; @@ -11,11 +12,13 @@ export class AppRoot extends Component { @property(AudioPlayer) private audio: AudioPlayer; @property(JsonAsset) private settingsAsset: JsonAsset; @property(JsonAsset) private engTranslationAsset: JsonAsset; + @property(Prefab) private gameAssetsPrefab: Prefab; private static instance: AppRoot; private saveSystem: SaveSystem; private liveUserData: UserData; + private gameAssets: GameAssets; public static get Instance(): AppRoot { return this.instance; @@ -25,6 +28,10 @@ export class AppRoot extends Component { return this.audio; } + public get GameAssets(): GameAssets { + return this.gameAssets; + } + public get LiveUserData(): UserData { return this.liveUserData; } @@ -55,6 +62,10 @@ export class AppRoot extends Component { this.saveSystem = new SaveSystem(); this.liveUserData = this.saveSystem.load(); + const gameAssetsNode = instantiate(this.gameAssetsPrefab); + gameAssetsNode.setParent(this.node); + this.gameAssets = gameAssetsNode.getComponent(GameAssets); + this.audio.init(this.LiveUserData.soundVolume, this.LiveUserData.musicVolume); } } diff --git a/assets/Scripts/Game/Data/Assets.meta b/assets/Scripts/Game/Data/Assets.meta new file mode 100644 index 0000000..25cb02b --- /dev/null +++ b/assets/Scripts/Game/Data/Assets.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.1.0", + "importer": "directory", + "imported": true, + "uuid": "2c68679f-e9d3-4ce0-8e9a-908415d73fc7", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/Scripts/Game/Data/Assets/AudioAssets.ts b/assets/Scripts/Game/Data/Assets/AudioAssets.ts new file mode 100644 index 0000000..9687baa --- /dev/null +++ b/assets/Scripts/Game/Data/Assets/AudioAssets.ts @@ -0,0 +1,8 @@ +import { AudioClip, Component, _decorator } from "cc"; + +const { ccclass, property } = _decorator; + +@ccclass("AudioAssets") +export class AudioAssets extends Component { + @property(AudioClip) public buttonClick: AudioClip; +} diff --git a/assets/Scripts/Game/Data/Assets/AudioAssets.ts.meta b/assets/Scripts/Game/Data/Assets/AudioAssets.ts.meta new file mode 100644 index 0000000..9cf069b --- /dev/null +++ b/assets/Scripts/Game/Data/Assets/AudioAssets.ts.meta @@ -0,0 +1,9 @@ +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "207935a7-6b2c-4a92-b539-6a7e009ed2e0", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/Scripts/Game/Data/Assets/GameAssets.ts b/assets/Scripts/Game/Data/Assets/GameAssets.ts new file mode 100644 index 0000000..9244f63 --- /dev/null +++ b/assets/Scripts/Game/Data/Assets/GameAssets.ts @@ -0,0 +1,24 @@ +import { _decorator, Component, Node } from "cc"; +import { AudioAssets } from "./AudioAssets"; +import { MetaUpgradeIcons } from "./MetaUpgradeIcons"; +import { UpgradeIcons } from "./UpgradeIcons"; +const { ccclass, property } = _decorator; + +@ccclass("GameAssets") +export class GameAssets extends Component { + @property(UpgradeIcons) private upgradeIcons: UpgradeIcons; + @property(MetaUpgradeIcons) private metaUpgradeIcons: MetaUpgradeIcons; + @property(AudioAssets) private audioAssets: AudioAssets; + + public get UpgradeIcons(): UpgradeIcons { + return this.upgradeIcons; + } + + public get MetaUpgradeIcons(): MetaUpgradeIcons { + return this.metaUpgradeIcons; + } + + public get AudioAssets(): AudioAssets { + return this.audioAssets; + } +} diff --git a/assets/Scripts/Game/Data/Assets/GameAssets.ts.meta b/assets/Scripts/Game/Data/Assets/GameAssets.ts.meta new file mode 100644 index 0000000..ce32612 --- /dev/null +++ b/assets/Scripts/Game/Data/Assets/GameAssets.ts.meta @@ -0,0 +1,9 @@ +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "564e9e8b-b0dd-47cd-bb36-68ee618732c5", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/Scripts/Game/Data/Assets/MetaUpgradeIcons.ts b/assets/Scripts/Game/Data/Assets/MetaUpgradeIcons.ts new file mode 100644 index 0000000..8d3fce4 --- /dev/null +++ b/assets/Scripts/Game/Data/Assets/MetaUpgradeIcons.ts @@ -0,0 +1,30 @@ +import { Component, SpriteFrame, _decorator } from "cc"; +import { MetaUpgradeType, UpgradeType } from "../../Upgrades/UpgradeType"; + +const { ccclass, property } = _decorator; + +@ccclass("MetaUpgradeIcons") +export class MetaUpgradeIcons extends Component { + @property(SpriteFrame) private healthSprite: SpriteFrame; + @property(SpriteFrame) private overallDamageSprite: SpriteFrame; + @property(SpriteFrame) private projectilePiercingSprite: SpriteFrame; + @property(SpriteFrame) private movementSpeedSprite: SpriteFrame; + @property(SpriteFrame) private xpGathererSprite: SpriteFrame; + @property(SpriteFrame) private goldGathererSprite: SpriteFrame; + + private typeToIcon = new Map(); + + public init(): void { + this.typeToIcon.set(MetaUpgradeType.Health, this.healthSprite); + this.typeToIcon.set(MetaUpgradeType.OverallDamage, this.overallDamageSprite); + this.typeToIcon.set(MetaUpgradeType.ProjectilePiercing, this.projectilePiercingSprite); + this.typeToIcon.set(MetaUpgradeType.MovementSpeed, this.movementSpeedSprite); + this.typeToIcon.set(MetaUpgradeType.XPGatherer, this.xpGathererSprite); + this.typeToIcon.set(MetaUpgradeType.GoldGatherer, this.goldGathererSprite); + } + + public getIcon(upgradeType: MetaUpgradeType): SpriteFrame { + if (!this.typeToIcon.has(upgradeType)) throw new Error("Does not have upgrade type asset " + upgradeType); + return this.typeToIcon.get(upgradeType); + } +} diff --git a/assets/Scripts/Game/Data/Assets/MetaUpgradeIcons.ts.meta b/assets/Scripts/Game/Data/Assets/MetaUpgradeIcons.ts.meta new file mode 100644 index 0000000..b029163 --- /dev/null +++ b/assets/Scripts/Game/Data/Assets/MetaUpgradeIcons.ts.meta @@ -0,0 +1,9 @@ +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "b18fb120-2466-4e27-ac3e-ead10c683fb4", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/Scripts/Game/Data/Assets/UpgradeIcons.ts b/assets/Scripts/Game/Data/Assets/UpgradeIcons.ts new file mode 100644 index 0000000..4deb089 --- /dev/null +++ b/assets/Scripts/Game/Data/Assets/UpgradeIcons.ts @@ -0,0 +1,30 @@ +import { Component, SpriteFrame, _decorator } from "cc"; +import { UpgradeType } from "../../Upgrades/UpgradeType"; + +const { ccclass, property } = _decorator; + +@ccclass("UpgradeIcons") +export class UpgradeIcons extends Component { + @property(SpriteFrame) private weaponLengthSprite: SpriteFrame; + @property(SpriteFrame) private weaponDamageSprite: SpriteFrame; + @property(SpriteFrame) private horizontalProjectileSprite: SpriteFrame; + @property(SpriteFrame) private diagonalProjectileSprite: SpriteFrame; + @property(SpriteFrame) private haloProjectileSprite: SpriteFrame; + @property(SpriteFrame) private regenerationSprite: SpriteFrame; + + private typeToIcon = new Map(); + + public init(): void { + this.typeToIcon.set(UpgradeType.WeaponLength, this.weaponLengthSprite); + this.typeToIcon.set(UpgradeType.WeaponDamage, this.weaponDamageSprite); + this.typeToIcon.set(UpgradeType.HorizontalProjectile, this.horizontalProjectileSprite); + this.typeToIcon.set(UpgradeType.DiagonalProjectile, this.diagonalProjectileSprite); + this.typeToIcon.set(UpgradeType.HaloProjectlie, this.haloProjectileSprite); + this.typeToIcon.set(UpgradeType.Regeneration, this.regenerationSprite); + } + + public getIcon(upgradeType: UpgradeType): SpriteFrame { + if (!this.typeToIcon.has(upgradeType)) throw new Error("Does not have upgrade type asset " + upgradeType); + return this.typeToIcon.get(upgradeType); + } +} diff --git a/assets/Scripts/Game/Data/Assets/UpgradeIcons.ts.meta b/assets/Scripts/Game/Data/Assets/UpgradeIcons.ts.meta new file mode 100644 index 0000000..8309f76 --- /dev/null +++ b/assets/Scripts/Game/Data/Assets/UpgradeIcons.ts.meta @@ -0,0 +1,9 @@ +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "c397b888-4efb-45be-ac95-2190293ee6b1", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/Scripts/Game/Game.ts b/assets/Scripts/Game/Game.ts index e5ee012..d07ea9b 100644 --- a/assets/Scripts/Game/Game.ts +++ b/assets/Scripts/Game/Game.ts @@ -1,4 +1,4 @@ -import { Camera, Component, KeyCode, Vec2, _decorator } from "cc"; +import { Camera, Component, KeyCode, Prefab, Vec2, _decorator } from "cc"; import { ModalWindowManager } from "../Services/ModalWindowSystem/ModalWindowManager"; import { delay } from "../Services/Utils/AsyncUtils"; import { GameAudioAdapter } from "./Audio/GameAudioAdapter"; diff --git a/assets/Scripts/Game/Unit/Player/ProjectileLauncher/ProjectileLauncher.ts b/assets/Scripts/Game/Unit/Player/ProjectileLauncher/ProjectileLauncher.ts index 013b311..78319b0 100644 --- a/assets/Scripts/Game/Unit/Player/ProjectileLauncher/ProjectileLauncher.ts +++ b/assets/Scripts/Game/Unit/Player/ProjectileLauncher/ProjectileLauncher.ts @@ -42,6 +42,8 @@ export class ProjectileLauncher extends Component implements IProjectileLauncher this.projectilePierces = projectilePierces; this.projectilePool = new ObjectPool(this.projectilePrefab, this.node, 6, "Projectile"); + + console.log("DAMAGE " + JSON.stringify((this.projectilePrefab.data).Damage)); } public gameTick(deltaTime: number): void { diff --git a/assets/Scripts/Utils/UIButtonAudioPlayer.ts b/assets/Scripts/Utils/UIButtonAudioPlayer.ts new file mode 100644 index 0000000..a4251ed --- /dev/null +++ b/assets/Scripts/Utils/UIButtonAudioPlayer.ts @@ -0,0 +1,17 @@ +import { Component, _decorator } from "cc"; +import { AppRoot } from "../AppRoot/AppRoot"; +import { UIButton } from "../Services/UI/Button/UIButton"; +const { ccclass, property } = _decorator; + +@ccclass("UIButtonAudioPlayer") +export class UIButtonAudioPlayer extends Component { + @property(UIButton) private button: UIButton; + public start(): void { + this.button.InteractedEvent.on(this.playButtonClick, this); + } + + private playButtonClick(): void { + const audioClip = AppRoot.Instance.GameAssets.AudioAssets.buttonClick; + AppRoot.Instance.AudioPlayer.playSound(audioClip); + } +} diff --git a/assets/Scripts/Utils/UIButtonAudioPlayer.ts.meta b/assets/Scripts/Utils/UIButtonAudioPlayer.ts.meta new file mode 100644 index 0000000..b22bd05 --- /dev/null +++ b/assets/Scripts/Utils/UIButtonAudioPlayer.ts.meta @@ -0,0 +1,9 @@ +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "146cd53d-0b0f-48fa-8b54-552829c02093", + "files": [], + "subMetas": {}, + "userData": {} +}