diff --git a/Assets/SaveSlotMenu.cs b/Assets/SaveSlotMenu.cs index aa20adf67cc77ff57602f48ba0d533b000c4a238..0fc2c868a59b56c9c399631c3c35ef1285484d2f 100644 --- a/Assets/SaveSlotMenu.cs +++ b/Assets/SaveSlotMenu.cs @@ -12,9 +12,22 @@ public class SaveSlotMenu : MonoBehaviour List<bool> availableSlot; public GameObject saveSlotUIHighlight; - void Start() + private void Awake() { + action = PlayerPrefs.GetString("saveLoadAction"); + + if (action == "nextQuest") + { + saveGame(-1); + loadGame(-1); + + continueNextStage(); + } + } + + void Start() + { availableSlot = pdm.availableSlot; Debug.Log(availableSlot[0].ToString() + availableSlot[1].ToString() + availableSlot[2].ToString()); @@ -67,11 +80,6 @@ public class SaveSlotMenu : MonoBehaviour { loadGame(slot); } - if (action == "nextQuest") - { - saveGame(-1); - loadGame(-1); - } } void saveGame(int slot) diff --git a/Assets/Scenes/Level_02.unity b/Assets/Scenes/Level_02.unity index 0941efb63fb38531882ffa9631224fccc194d973..8b3296ba4a1d60ebad1fcba683ec0c3d4cbc4b27 100644 --- a/Assets/Scenes/Level_02.unity +++ b/Assets/Scenes/Level_02.unity @@ -1979,7 +1979,7 @@ MonoBehaviour: bgMusic: {fileID: 1558343257} shopUI: {fileID: 1444128283} shopLocation: {fileID: 1084676478} - playerLocation: {fileID: 1186615826} + playerLocation: {fileID: 1108823915} shopRadius: 10 weaponsUI: {fileID: 848333705} weaponsUIHighlight: {fileID: 840802840} @@ -3032,7 +3032,7 @@ MonoBehaviour: petRabbitPrefab: {fileID: 8517487645339449119, guid: cc8c27e2635d7fd478bdafbd044d6871, type: 3} petSparrowPrefab: {fileID: 8956976848956587104, guid: c830dfca790c01b49ab17476a096582c, type: 3} petCultistPrefab: {fileID: 8732158265285773930, guid: c0b8db47470676444be922ddb6d2d7df, type: 3} - PlayerTransform: {fileID: 1186615826} + PlayerTransform: {fileID: 1108823915} pawImage: {fileID: 274458333} petHealthSlider: {fileID: 1910954028} --- !u!4 &734232484 diff --git a/Assets/Scenes/Level_Final.unity b/Assets/Scenes/Level_Final.unity index da2c1e0e3deaee64d4bc1e60b68b2d4e37a3b7e3..a0493ce49c1240c3b7abc55e38e81c9024f5aab1 100644 --- a/Assets/Scenes/Level_Final.unity +++ b/Assets/Scenes/Level_Final.unity @@ -7678,7 +7678,7 @@ MonoBehaviour: bgMusic: {fileID: 1558343257} shopUI: {fileID: 1444128283} shopLocation: {fileID: 1084676478} - playerLocation: {fileID: 1186615826} + playerLocation: {fileID: 1487061330} shopRadius: 10 weaponsUI: {fileID: 1232357377} weaponsUIHighlight: {fileID: 339215615} @@ -15549,11 +15549,6 @@ MonoBehaviour: deathClip: {fileID: 8300000, guid: d36a393bca4582043982db9089e1694f, type: 3} flashSpeed: 5 flashColour: {r: 1, g: 0, b: 0, a: 0.1} ---- !u!95 &1186615828 stripped -Animator: - m_CorrespondingSourceObject: {fileID: 9500000, guid: f1d84cc28597f5641a3d9cbc4df7e306, type: 3} - m_PrefabInstance: {fileID: 1714408640} - m_PrefabAsset: {fileID: 0} --- !u!1 &1191536072 GameObject: m_ObjectHideFlags: 0 @@ -17562,6 +17557,7 @@ MonoBehaviour: isShopOpen: 1 isShopping: 0 isEnemyActive: 0 + isBoss: 0 isMenu: 0 petFactory: {fileID: 1713238116} pdm: {fileID: 268888277} @@ -17629,7 +17625,7 @@ MonoBehaviour: cheatMenu: {fileID: 1093198192} btn: {fileID: 1029574653} inputText: {fileID: 1146729427} - animPlayer: {fileID: 1186615828} + animPlayer: {fileID: 1487061329} animSpeedControl: 1 --- !u!1 &1645784431 GameObject: @@ -18100,7 +18096,7 @@ MonoBehaviour: petRabbitPrefab: {fileID: 8517487645339449119, guid: cc8c27e2635d7fd478bdafbd044d6871, type: 3} petSparrowPrefab: {fileID: 8956976848956587104, guid: c830dfca790c01b49ab17476a096582c, type: 3} petCultistPrefab: {fileID: 8732158265285773930, guid: c0b8db47470676444be922ddb6d2d7df, type: 3} - PlayerTransform: {fileID: 0} + PlayerTransform: {fileID: 1487061330} pawImage: {fileID: 1860914021} petHealthSlider: {fileID: 1645784431} --- !u!4 &1713238117 @@ -18116,7 +18112,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 14 + m_RootOrder: 15 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1714408640 PrefabInstance: diff --git a/Assets/Scenes/New Animation.anim b/Assets/Scenes/New Animation.anim new file mode 100644 index 0000000000000000000000000000000000000000..bb5fc5ba270d238590f47e9e0d27d7de18dbd7ea --- /dev/null +++ b/Assets/Scenes/New Animation.anim @@ -0,0 +1,53 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: New Animation + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: [] + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Scenes/New Animation.anim.meta b/Assets/Scenes/New Animation.anim.meta new file mode 100644 index 0000000000000000000000000000000000000000..7bf3b38dcd27a0fac3487ddf44226e0169854bd6 --- /dev/null +++ b/Assets/Scenes/New Animation.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2e3cd7faad8947446bc8b29427b25a64 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs index 82c5fd553831109fd4ef9da6fd89048439963ef3..b1a15b7eca97fbc597a65abddab0c9b54d1979b6 100644 --- a/Assets/Scripts/GameManager.cs +++ b/Assets/Scripts/GameManager.cs @@ -18,6 +18,7 @@ public class GameManager : MonoBehaviour public bool isShopOpen = true; // shop only open after finishing quest public bool isShopping = false; // sedang berbelanja public bool isEnemyActive = true; + public bool isBoss = false; public bool isMenu = false; public PetFactory petFactory; public PlayerDataManager pdm; @@ -43,8 +44,10 @@ public class GameManager : MonoBehaviour private void Awake() { - enemySpawner.SetActive(isEnemyActive); - score.SetActive(isEnemyActive); + if (!isBoss) { + enemySpawner.SetActive(isEnemyActive); + score.SetActive(isEnemyActive); + } if (gameManager == null) { int slot = PlayerPrefs.GetInt("activeSlot"); diff --git a/Assets/Scripts/Managers/BossQuestManager.cs b/Assets/Scripts/Managers/BossQuestManager.cs index 297d6889c5aca955b5044897aae82ac319632bc6..7c3c3d83dc0f698c5e1936e2d39e1641ec524e08 100644 --- a/Assets/Scripts/Managers/BossQuestManager.cs +++ b/Assets/Scripts/Managers/BossQuestManager.cs @@ -6,6 +6,21 @@ public class BossQuestManager : QuestManager { public static BossQuestManager questManager; + void Awake() { + GameManager gameManager = FindObjectOfType<GameManager>(); + gameManager.isBoss = true; + + + if (questManager == null) + { + questManager = this; + } + else + { + Destroy(questManager); + } + } + void Start() { quests[0] = GenerateQuest(); ShowQuestToUI(); diff --git a/Assets/Scripts/Managers/PlayerDataManager.cs b/Assets/Scripts/Managers/PlayerDataManager.cs index 584f991c3d92895d9447b8503cc2292114abcebc..c3e02b7b2f30e0809eff03fbd33fd015b6f1cc44 100644 --- a/Assets/Scripts/Managers/PlayerDataManager.cs +++ b/Assets/Scripts/Managers/PlayerDataManager.cs @@ -5,6 +5,7 @@ using UnityEngine; public class PlayerDataManager : MonoBehaviour { + private PlayerData data0; private PlayerData data1; private PlayerData data2; private PlayerData data3; @@ -44,9 +45,14 @@ public class PlayerDataManager : MonoBehaviour return data1; } else if (data == 2) { return data2; - } else { + } else if (data == 3) + { return data3; } + else + { + return data0; + } } public void SetCoins(int num_data, int coins) { @@ -157,10 +163,19 @@ public class PlayerDataManager : MonoBehaviour SavePlayerData(num_data); } + public void ClearTemp() + { + PlayerData data0 = new PlayerData(); + data0.timeStr = DateTime.Now.ToString("dd/MM/yyyy"); + + FileHandler.SaveToJsonPrefs<PlayerData>(data0, "PlayerData" + 0 + ".json"); + } + public void ClearAll() { data1 = new PlayerData(); data2 = new PlayerData(); data3 = new PlayerData(); + data0 = new PlayerData(); SavePlayerDataAll(); } @@ -180,8 +195,10 @@ public class PlayerDataManager : MonoBehaviour data1.timeStr = DateTime.Now.ToString("dd/MM/yyyy"); data2.timeStr = DateTime.Now.ToString("dd/MM/yyyy"); data3.timeStr = DateTime.Now.ToString("dd/MM/yyyy"); + data0.timeStr = DateTime.Now.ToString("dd/MM/yyyy"); FileHandler.SaveToJsonPrefs<PlayerData>(data1, "PlayerData1.json"); FileHandler.SaveToJsonPrefs<PlayerData>(data2, "PlayerData2.json"); FileHandler.SaveToJsonPrefs<PlayerData>(data3, "PlayerData3.json"); + FileHandler.SaveToJsonPrefs<PlayerData>(data0, "PlayerData0.json"); } } diff --git a/Assets/Scripts/Managers/QuestManager.cs b/Assets/Scripts/Managers/QuestManager.cs index 2356aaf95dca69b957016b8922d8728e5bbc4100..e9d6e9cd6ec78c2e7553ded27ac320efbd984827 100644 --- a/Assets/Scripts/Managers/QuestManager.cs +++ b/Assets/Scripts/Managers/QuestManager.cs @@ -26,6 +26,10 @@ public class QuestManager : MonoBehaviour protected void Awake() { GameManager gameManager = FindObjectOfType<GameManager>(); + if (gameManager != null) + { + gameManager.isBoss = false; + } if (questManager == null) { questManager = this; diff --git a/Assets/Scripts/Menu/MainMenu.cs b/Assets/Scripts/Menu/MainMenu.cs index b63dc0f6632a286ce2ca5c18280355099f23146e..3faae791ac3d6c54853871dd45bc2a46d7ba16eb 100644 --- a/Assets/Scripts/Menu/MainMenu.cs +++ b/Assets/Scripts/Menu/MainMenu.cs @@ -46,7 +46,8 @@ public class MainMenu : MonoBehaviour public void NewGame() { // pdm.Clear(PlayerPrefs.GetInt("savedSlot")); - PlayerPrefs.DeleteKey("savedSlot"); + pdm.ClearTemp(); + PlayerPrefs.SetInt("activeSlot", 0); PlayerPrefs.DeleteKey("isWin"); PlayerPrefs.SetString("lastScene", "Level_01"); PlayerPrefs.DeleteKey("timeElapsed"); diff --git a/Assets/Scripts/Pet/PetAttackerMovement.cs b/Assets/Scripts/Pet/PetAttackerMovement.cs index 39aa67a252ede415d2d6dc1b2c6458b261d9ef9b..29a0d553b440cb8864eae07ea5d3087f4d6a3f34 100644 --- a/Assets/Scripts/Pet/PetAttackerMovement.cs +++ b/Assets/Scripts/Pet/PetAttackerMovement.cs @@ -11,7 +11,12 @@ public class PetAttackerMovement : PetMovement public float maxDistanceToEnemy = 2f; RaycastHit raycastHit; - int shootableMask = LayerMask.GetMask("Shootable"); + int shootableMask; + + private void Awake() + { + shootableMask = LayerMask.GetMask("Shootable"); + } void Update() { diff --git a/Assets/Scripts/Player/PlayerData.cs b/Assets/Scripts/Player/PlayerData.cs index d749cd952c3f89b12f9bd4eb12ee4c12aac7069f..8fefa5b34f4eefaeff081cdf49bbdc38638ee1ff 100644 --- a/Assets/Scripts/Player/PlayerData.cs +++ b/Assets/Scripts/Player/PlayerData.cs @@ -21,7 +21,7 @@ public class PlayerData lastScene = "Level_01"; coins = 0; time = 0; - availableWeapon = new List<bool>() { false, false, false, false }; + availableWeapon = new List<bool>() { true, false, false, false }; } public PlayerData(string lastScene, int coins, float time, string name, string timeStr, PetData petData, List<bool> availableWeapon) {