From 8357a67183cec552892bd864a999b58a3ada9633 Mon Sep 17 00:00:00 2001 From: Gregory Campbell Date: Sun, 3 May 2020 13:30:01 -0400 Subject: [PATCH] Set up moving from level to level in random and pre-determined game modes --- Assets/Scenes/Battle Scene.unity | 190 ++++++++++++++++++++++++++++++- Assets/Scripts/GMScript.cs | 100 +++++++++++++--- Assets/Scripts/SelectScript.cs | 3 + 3 files changed, 273 insertions(+), 20 deletions(-) diff --git a/Assets/Scenes/Battle Scene.unity b/Assets/Scenes/Battle Scene.unity index 30406f1..b536476 100644 --- a/Assets/Scenes/Battle Scene.unity +++ b/Assets/Scenes/Battle Scene.unity @@ -2437,7 +2437,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 18 + m_RootOrder: 19 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1144941703 GameObject: @@ -2761,7 +2761,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 20 + m_RootOrder: 21 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1313470325 GameObject: @@ -3550,6 +3550,7 @@ MonoBehaviour: PartyDamageText: {fileID: 1357495607} EnemyHealthText: {fileID: 1144941705} PartyHealthText: {fileID: 143825030} + LevelNumber: {fileID: 1896803583} EnemyParts: - {fileID: 1209232139} - {fileID: 46649160} @@ -3914,7 +3915,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 21 + m_RootOrder: 22 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1635882673 GameObject: @@ -4285,7 +4286,7 @@ Transform: m_LocalScale: {x: 0.5, y: 0.5, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 23 + m_RootOrder: 24 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1797600398 GameObject: @@ -4449,6 +4450,84 @@ SpriteRenderer: m_WasSpriteAssigned: 0 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &1896803581 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1896803582} + - component: {fileID: 1896803584} + - component: {fileID: 1896803583} + m_Layer: 5 + m_Name: LevelNumberText + m_TagString: Enemy + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1896803582 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1896803581} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 1} + m_Children: [] + m_Father: {fileID: 2090725435} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1896803583 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1896803581} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 3b8c6905fc091604082eda383ac9eb74, type: 2} + m_FontSize: 0 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 101 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 0000 +--- !u!222 &1896803584 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1896803581} + m_CullTransparentMesh: 0 --- !u!1 &1924729442 GameObject: m_ObjectHideFlags: 0 @@ -4609,7 +4688,7 @@ Transform: m_LocalScale: {x: 0.5, y: 0.5, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 22 + m_RootOrder: 23 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1935397210 GameObject: @@ -4970,7 +5049,7 @@ Transform: - {fileID: 1989602357} - {fileID: 2133992576} m_Father: {fileID: 0} - m_RootOrder: 19 + m_RootOrder: 20 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2057441938 GameObject: @@ -5183,6 +5262,105 @@ BoxCollider2D: serializedVersion: 2 m_Size: {x: 5, y: 5} m_EdgeRadius: 0 +--- !u!1 &2090725431 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2090725435} + - component: {fileID: 2090725434} + - component: {fileID: 2090725433} + - component: {fileID: 2090725432} + m_Layer: 5 + m_Name: Canvas (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2090725432 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2090725431} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &2090725433 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2090725431} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 5 +--- !u!223 &2090725434 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2090725431} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 2135489387 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &2090725435 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2090725431} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.005, y: 0.005, z: 1} + m_Children: + - {fileID: 1896803582} + m_Father: {fileID: 0} + m_RootOrder: 18 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: -6, y: 4} + m_SizeDelta: {x: 600, y: 200} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &2092827605 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/GMScript.cs b/Assets/Scripts/GMScript.cs index 3080842..db80649 100644 --- a/Assets/Scripts/GMScript.cs +++ b/Assets/Scripts/GMScript.cs @@ -31,6 +31,7 @@ public class GMScript : MonoBehaviour public Text PartyDamageText; public Text EnemyHealthText; public Text PartyHealthText; + public Text LevelNumber; public GameObject[] EnemyParts; @@ -52,13 +53,14 @@ public class GMScript : MonoBehaviour private bool buff = false; private bool weakPointHit = false; private bool gameover = false; - private bool victory = false; + private bool victory; private int buffAmount = 0; private int modelNum; private int partyHealth = 8; private int enemyHealth = 16; private int partyAttack = 2; private int enemyAttack = 2; + private int level; private static int partySize = 4; private string[] PartyMemberOrder = new string[partySize]; private int[] OrderNumbers = new int[partySize]; @@ -79,16 +81,21 @@ public class GMScript : MonoBehaviour // Start is called before the first frame update void Start() { + victory = false; + gameover = false; + enemyHealth = 16; + partyHealth = 8; + level = PlayerPrefs.GetInt("Level"); - if(PlayerPrefs.GetInt ("GameMode") == 0 || - PlayerPrefs.GetInt ("GameMode") == 2) + if(PlayerPrefs.GetInt("GameMode") == 0 || + PlayerPrefs.GetInt("GameMode") == 2) { isRandom = false; } else { isRandom = true; } - if(PlayerPrefs.GetInt ("GameMode") == 2) + if(PlayerPrefs.GetInt("GameMode") == 2) { partyHealth = 1; } @@ -152,14 +159,56 @@ public class GMScript : MonoBehaviour } else { - if(PlayerPrefs.GetInt ("GameMode") == 0) + if(PlayerPrefs.GetInt("GameMode") == 0) { - SeedParse("000000000466660"); + + if(PlayerPrefs.GetInt("Level") == 1) + { + SeedParse("000000000466660"); + } else if(PlayerPrefs.GetInt("Level") == 2){ + SeedParse("000000000466660"); + } else if (PlayerPrefs.GetInt("Level") == 3){ + SeedParse("000000000466660"); + } else if (PlayerPrefs.GetInt("Level") == 4){ + SeedParse("000000000466660"); + } else if (PlayerPrefs.GetInt("Level") == 5){ + SeedParse("000000000466660"); + } else if (PlayerPrefs.GetInt("Level") >= 6){ + SeedParse("000000000466660"); + SceneManager.LoadScene("Mode Select Scene"); + } + } - if(PlayerPrefs.GetInt ("GameMode") == 2) + if(PlayerPrefs.GetInt("GameMode") == 2) { - SeedParse("777744444422220"); + + if(PlayerPrefs.GetInt("Level") == 1) + { + SeedParse("777744444422220"); + } else if(PlayerPrefs.GetInt("Level") == 2){ + SeedParse("777744444422220"); + } else if (PlayerPrefs.GetInt("Level") == 3){ + SeedParse("777744444422220"); + } else if (PlayerPrefs.GetInt("Level") == 4){ + SeedParse("777744444422220"); + } else if (PlayerPrefs.GetInt("Level") == 5){ + SeedParse("777744444422220"); + } else if (PlayerPrefs.GetInt("Level") == 6){ + SeedParse("777744444422220"); + } else if(PlayerPrefs.GetInt("Level") == 7){ + SeedParse("777744444422220"); + } else if (PlayerPrefs.GetInt("Level") == 8){ + SeedParse("777744444422220"); + } else if (PlayerPrefs.GetInt("Level") == 9){ + SeedParse("777744444422220"); + } else if (PlayerPrefs.GetInt("Level") == 10){ + SeedParse("777744444422220"); + } else if (PlayerPrefs.GetInt("Level") >= 11){ + SeedParse("777744444422220"); + SceneManager.LoadScene("Mode Select Scene"); + } + } } @@ -173,6 +222,7 @@ public class GMScript : MonoBehaviour PartyHealthText.text = partyHealth.ToString(); EnemyDamageText.text = null; PartyDamageText.text = null; + LevelNumber.text = level.ToString(); robotColour = Colours.Red; @@ -190,13 +240,16 @@ public class GMScript : MonoBehaviour } + EnemyParts[5].SetActive(true); } // Update is called once per frame void Update() { - if(PlayerPrefs.GetInt ("GameMode") == 3) + LevelNumber.text = level.ToString(); + + if(PlayerPrefs.GetInt("GameMode") == 3) { partyHealth = 100; } @@ -271,19 +324,18 @@ public class GMScript : MonoBehaviour if(enemyHealth <= 0 || victory == true) { - //enemyHealth = 0; + enemyHealth = 0; GameObject[] enemy = GameObject.FindGameObjectsWithTag("Enemy"); - foreach(GameObject parts in enemy) GameObject.Destroy(parts); + foreach(GameObject parts in enemy) parts.SetActive(false); //print("The enemy robot has been destroyed! Congrats!"); - victory = false; gameover = true; cursorLock = false; - StartCoroutine(EndGameDisplay(Victory)); + StartCoroutine(NextLevelDisplay(Victory)); } @@ -466,7 +518,10 @@ public class GMScript : MonoBehaviour } - yield return StartCoroutine(AttackEnemy()); + if(!victory) + { + yield return StartCoroutine(AttackEnemy()); + } } @@ -740,6 +795,7 @@ public class GMScript : MonoBehaviour EnemyParts[6].transform.GetChild(0).GetComponent().sprite = null; victory = true; + enemyHealth = 0; } else { @@ -987,6 +1043,22 @@ public class GMScript : MonoBehaviour } + IEnumerator NextLevelDisplay(GameObject display) + { + + display.SetActive(true); + + yield return new WaitForSeconds(5); + + display.SetActive(false); + + level++; + PlayerPrefs.SetInt("Level", level); + + SceneManager.LoadScene(SceneManager.GetActiveScene().name); + + } + void SeedParse(string seed) { diff --git a/Assets/Scripts/SelectScript.cs b/Assets/Scripts/SelectScript.cs index f984c3b..ff4f7af 100644 --- a/Assets/Scripts/SelectScript.cs +++ b/Assets/Scripts/SelectScript.cs @@ -7,13 +7,16 @@ public class SelectScript : MonoBehaviour { private int gameMode; + private int level; // Start is called before the first frame update void Start() { gameMode = 1; + level = 1; PlayerPrefs.SetInt("GameMode", gameMode); + PlayerPrefs.SetInt("Level", level); }