BattleUI.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. public class BattleUI : MonoBehaviour {
  5. public GameObject radioPanelPrefab;
  6. public GameObject OptionPanelPrefab;
  7. public GameObject battleMissionPrefab;
  8. public GameObject myRankPanelPrefab;
  9. public GameObject battleReadyPrefab;
  10. public ScoreBar scoreBar;
  11. public MiniMap miniMap;
  12. public PowerIconContainer powerIconContainer;
  13. public BattleClockUI battleClock;
  14. public BottomTip bottomTip;
  15. public BattleInfo battleInfo;
  16. public GameObject coinBar;
  17. public GameObject replayBar;
  18. public GameObject optionBtnObj;
  19. private RadioPanel radioPanel;
  20. public Sprite[] crystalPowerIcons;
  21. public BattleController battleController;
  22. public void Init(BattleController battleController, bool isMenu = false)
  23. {
  24. this.battleController = battleController;
  25. if(isMenu)
  26. {
  27. optionBtnObj.SetActive(false);
  28. scoreBar.gameObject.SetActive(false);
  29. miniMap.gameObject.SetActive(false);
  30. battleClock.gameObject.SetActive(false);
  31. battleInfo.gameObject.SetActive(false);
  32. coinBar.SetActive (false);
  33. }
  34. if (battleController.isReplay) {
  35. coinBar.SetActive (false);
  36. } else {
  37. replayBar.SetActive (false);
  38. }
  39. Map map = battleController.GetMap();
  40. miniMap.Init(battleController);
  41. for(int i=0; i<map.GetCrystalBaseList().Count; i++)
  42. {
  43. miniMap.CreateCrystalBase(map.GetCrystalBaseList()[i]);
  44. }
  45. battleClock.Init(battleController);
  46. scoreBar.Init(battleController);
  47. powerIconContainer.isMenu = isMenu;
  48. }
  49. public void UpdateScoreText()
  50. {
  51. scoreBar.updateScore (battleController.blueScore, battleController.redScore);
  52. }
  53. public void ShowBottomTip(string info, bool newOne=true)
  54. {
  55. bottomTip.Show(info, newOne);
  56. }
  57. public MiniMap GetMiniMap()
  58. {
  59. return miniMap;
  60. }
  61. public void ShowBattleReady(string host, string guest, CallBackUtil.SimpleCallBack callBack)
  62. {
  63. GameObject gameObj = Instantiate<GameObject> (battleReadyPrefab);
  64. PopUpManager.AddToMainCanvas (gameObj);
  65. BattleReady br = gameObj.GetComponent<BattleReady> ();
  66. br.Show (host, guest, callBack);
  67. }
  68. public void ShowMission(string mission)
  69. {
  70. GameObject gameObj = Instantiate<GameObject>(battleMissionPrefab);
  71. PopUpManager.AddToMainCanvas(gameObj);
  72. BattleMission bm = gameObj.GetComponent<BattleMission>();
  73. bm.infoTxt.text = mission;
  74. }
  75. public void ShowBattleInfo(string info, string combo="", bool isAlly=true)
  76. {
  77. battleInfo.Show(info, combo, isAlly);
  78. }
  79. public void ToggleRadioPanel()
  80. {
  81. if(radioPanel == null)
  82. {
  83. GameObject radioObj = Instantiate<GameObject>(radioPanelPrefab);
  84. PopUpManager.AddToMainCanvas(radioObj);
  85. radioPanel = radioObj.GetComponent<RadioPanel>();
  86. }
  87. else
  88. {
  89. Destroy(radioPanel.gameObject);
  90. radioPanel = null;
  91. }
  92. }
  93. public void ToggleSwapPanel()
  94. {
  95. CraftSelectionPanel.Show(true);
  96. }
  97. public void HideRadioPanel()
  98. {
  99. if(radioPanel != null)
  100. {
  101. Destroy(radioPanel.gameObject);
  102. radioPanel = null;
  103. }
  104. }
  105. public void DealRadio(int userId, int craftId, int index)
  106. {
  107. Player player = battleController.GetBattleSession().GetPlayer(userId);
  108. if(player.team == battleController.GetMyPlayer().team)
  109. {
  110. string info = Language.GetStr ("Radio", "info");
  111. info = info.Replace("%COLOR%", TeamUtil.GetTeamColorString(player.team));
  112. info = info.Replace("%NICK%", player.nick);
  113. info = info.Replace("%INFO%", RadioItem.GetName(index));
  114. ShowBottomTip(info);
  115. SoundManager.GetInstatnce().effectSound.Play(RadioItem.GetSound(index));
  116. Craft craft = battleController.GetMap ().GetBattleObject (craftId) as Craft;
  117. if(craft != null)
  118. {
  119. craft.RadioAlert();
  120. }
  121. }
  122. }
  123. public void ShowOptionPanel()
  124. {
  125. GameObject gameObj = Instantiate<GameObject> (OptionPanelPrefab);
  126. PopUpManager.AddToMainCanvas (gameObj);
  127. OptionPanel optionPanel = gameObj.GetComponent<OptionPanel> ();
  128. optionPanel.battleController = battleController;
  129. }
  130. public void ShowResultPanel()
  131. {
  132. Player me = battleController.GetMyPlayer ();
  133. Player opp = battleController.GetBattleSession ().GetPlayerByTeam (TeamUtil.GetOpponentTeam (me.team));
  134. ResultPanel.Result result = ResultPanel.Result.Lose;
  135. if (battleController.winTeam == TeamUtil.Team.Yellow)
  136. result = ResultPanel.Result.Draw;
  137. else if(battleController.winTeam == me.team)
  138. result = ResultPanel.Result.Win;
  139. int crystalSpend = battleController.GetBattleSession ().myPlayer.coinSpend;
  140. ResultPanel.Show (new ResultPanel.ResultData(me, opp, result, crystalSpend));
  141. }
  142. public void ShowMyRankPanel(int start, int target)
  143. {
  144. GameObject myRankPanelObj = Instantiate<GameObject> (myRankPanelPrefab);
  145. PopUpManager.AddToMainCanvas (myRankPanelObj);
  146. MyRankPanel myRankPanel = myRankPanelObj.GetComponent<MyRankPanel> ();
  147. myRankPanel.startRank = start;
  148. myRankPanel.targetRank = target;
  149. }
  150. }