/Assets/Scripts/DungeonGameUpdate.cs

https://bitbucket.org/munhra/bossgame · C# · 142 lines · 119 code · 16 blank · 7 comment · 6 complexity · 4ac3eea89a07007811a49cacb030a8e8 MD5 · raw file

  1. using System.Collections.Generic;
  2. using UnityEngine;
  3. using UnityEngine.UI;
  4. public class DungeonGameUpdate : MonoBehaviour {
  5. public Button playGameButton;
  6. private List<Object> dungeonRoomArray;
  7. public GameObject smallLocked1;
  8. public GameObject smallLocked2;
  9. public GameObject smallLocked3;
  10. public GameObject largeLocked;
  11. public GameObject gaugeLVL1pts;
  12. public GameObject gaugeLVL2pts;
  13. public GameObject gaugeLVL3pts;
  14. public GameObject redGauge;
  15. public GameObject largeLevelValue;
  16. public GameObject level1GaugePointer;
  17. public GameObject level2GaugePointer;
  18. public GameObject level3GaugePointer;
  19. void Start ()
  20. {
  21. // TODO : Only move button after animations. or find a way to cancel the animations when button is pressed
  22. playGameButton.onClick.AddListener (playButtonOnClick);
  23. configureLargeLevelValue ("1");
  24. configureLockedIcons (0);
  25. configureLargeLock (true);
  26. configureGaugeTexts ("0", "19", "31");
  27. }
  28. void playButtonOnClick ()
  29. {
  30. DungeonGameManager dungeonGameManager = GameObject.Find ("GameManager").GetComponent<DungeonGameManager> ();
  31. if (dungeonGameManager.gameState == DungeonGameManager.GameState.GAME_MONSTER_UP) {
  32. dungeonGameManager.performGameResumeAfterMonsterUp ();
  33. playGameButton.transform.position = new Vector3 (-10.0f, playGameButton.transform.position.y, 0);
  34. }
  35. }
  36. public void setProgressIndicatorValuePosition (float level1Progress, float level2Progress)
  37. {
  38. gaugeLVL1pts.transform.position = new Vector2 (gaugeLVL1pts.transform.position.x, -3.45f + level1Progress * 6.8f);
  39. gaugeLVL2pts.transform.position = new Vector2 (gaugeLVL2pts.transform.position.x, -3.45f + level2Progress * 6.8f);
  40. }
  41. public void setProgressIndicators (float level1Progress, float level2Progress)
  42. {
  43. level1GaugePointer.transform.position = new Vector2 (level1GaugePointer.transform.position.x, -3.45f + level1Progress * 6.8f);
  44. level2GaugePointer.transform.position = new Vector2 (level2GaugePointer.transform.position.x, -3.45f + level2Progress * 6.8f);
  45. }
  46. public void setProgressGauge (float progress)
  47. {
  48. var iTweenSwordHash = iTween.Hash ("easetype", iTween.EaseType.easeOutExpo, "time", 1.6f, "y", -6.8f + progress * 6.8f);
  49. iTween.MoveTo (redGauge, iTweenSwordHash);
  50. showPlayButton ();
  51. }
  52. void showPlayButton()
  53. {
  54. //var iTweenRetroHash = iTween.Hash ("easetype", iTween.EaseType.easeInBounce, "time", 0.5f, "alpha", 1.00f);
  55. //iTween.FadeTo (playGameButton.gameObject, iTweenRetroHash);
  56. var iTweenLogoHash = iTween.Hash ("easetype", iTween.EaseType.easeOutBack, "time", 0.5f, "x", 0.20f);
  57. iTween.MoveTo (playGameButton.gameObject, iTweenLogoHash);
  58. }
  59. void configureLargeLevelValue (string value)
  60. {
  61. Text largeLevelValueText = largeLevelValue.GetComponentInChildren<Text> ();
  62. }
  63. public void configureGaugeTexts (string value1, string value2, string value3)
  64. {
  65. Text gaugeLVL1Text = gaugeLVL1pts.GetComponentInChildren<Text> ();
  66. Text gaugeLVL2Text = gaugeLVL2pts.GetComponentInChildren<Text> ();
  67. Text gaugeLVL3Text = gaugeLVL3pts.GetComponentInChildren<Text> ();
  68. gaugeLVL1Text.text = value1;
  69. gaugeLVL2Text.text = value2;
  70. gaugeLVL3Text.text = value3;
  71. }
  72. void configureLargeLock (bool open)
  73. {
  74. largeLocked.GetComponent<Renderer> ().enabled = !open;
  75. }
  76. public void configureLockedIcons (int numberToUnlock)
  77. {
  78. GameObject [] lockedIconArray = { smallLocked1, smallLocked2, smallLocked3 };
  79. for (int i = 0; i < numberToUnlock; i++) {
  80. lockedIconArray [i].GetComponent<Renderer> ().enabled = false;
  81. }
  82. }
  83. public void buildGameOverLargeCard (string dungeonName)
  84. {
  85. GameObject largeMonsterCard = GameObject.Find ("mockGameOverCardLarge");
  86. Destroy (largeMonsterCard);
  87. dungeonRoomArray = new List<Object> ();
  88. Object loadedDungeonRoom = Resources.Load<GameObject> (dungeonName);
  89. dungeonRoomArray.Add (loadedDungeonRoom);
  90. GameObject clone = Instantiate (dungeonRoomArray [0]) as GameObject;
  91. clone.tag = "dungeonCardLarge";
  92. clone.layer = 11;
  93. clone.transform.parent = this.transform;
  94. clone.transform.position = new Vector3 (0.83f, 19.6f, 0.0f);
  95. clone.transform.localScale = new Vector3 (2.5f, 2.5f, 0.0f);
  96. clone.GetComponent<SpriteRenderer> ().sortingLayerName = "GameOverCardsLayer";
  97. clone.name = "mockGameOverCardLarge";
  98. }
  99. /// <summary>
  100. /// This method loads the 3 sprites that will be offerd as monster upgrade, they will be show on the 3 spaces on top
  101. /// of this view
  102. /// </summary>
  103. public void buildGameOverUpgradeRoomCards (string [] prefabs)
  104. {
  105. for (int i = 0; i < 3; i++) {
  106. GameObject monsterCard = GameObject.Find ("mockGameOverCard_" + i);
  107. Destroy (monsterCard);
  108. }
  109. dungeonRoomArray = new List<Object> ();
  110. for (int i = 0; i < 3; i++) {
  111. Object loadedDungeonRoom = Resources.Load<GameObject> (prefabs [i]);
  112. dungeonRoomArray.Add (loadedDungeonRoom);
  113. }
  114. float [] multiplierSelect = { -3.10f, 0, 3.10f };
  115. for (int j = 0; j < 3; j++) {
  116. GameObject clone;
  117. clone = Instantiate (dungeonRoomArray [j]) as GameObject;
  118. clone.tag = "dungeonGameOver";
  119. clone.layer = 11;
  120. clone.transform.parent = this.transform;
  121. clone.transform.position = new Vector3 (multiplierSelect [j], 24.70f, 0.0f);
  122. clone.GetComponent<SpriteRenderer> ().sortingLayerName = "GameOverCardsLayer";
  123. clone.name = "mockGameOverCard_" + j;
  124. }
  125. }
  126. }