using UnityEngine; using UnityEngine.UI; using System.Collections; using Games.Item; using System.Collections.Generic; using GCGame.Table; using Games.GlobeDefine; public class GuanningPointLogic : UIControllerBase { #region public static void ShowGuanningPoint(GC_BATTLE_FIELD_SETTLEMENT_BOARD packet) { UIManager.ShowUI(UIInfo.GuanningPointRoot, ShowGuanningPointOver, packet); } public static void ShowGuanningPointOver(bool bSuccess, object param) { if (!bSuccess) { return; } if (!GuanningPointLogic.Instance()) return; GC_BATTLE_FIELD_SETTLEMENT_BOARD packet = param as GC_BATTLE_FIELD_SETTLEMENT_BOARD; GuanningPointLogic.Instance().UpdatePoints(packet); } #endregion void OnEnable () { SetInstance(this); } void OnDisable() { SetInstance(null); } public void CloseWindow() { UIManager.CloseUI(UIInfo.GuanningPointRoot); } #region public Text[] _TotleScore; public Text[] _AreaScore; public UIContainerBase[] _PlayerScore; public GameObject _WinPanel; public GameObject _FailPanel; public GameObject _DrawPanel; public Text _MyScore; public Button _BtnDouble; private int _BattleResult = -2; public void UpdatePoints(GC_BATTLE_FIELD_SETTLEMENT_BOARD packet) { for (int i = 0; i < packet.resBoardCount; ++i) { _TotleScore[i].text = StrDictionary.GetClientDictionaryString("#{8101}", packet.GetResBoard(i).TotalScore.ToString()) ; _AreaScore[i].text = StrDictionary.GetClientDictionaryString("#{8102}", packet.GetResBoard(i).HoldScore.ToString()); Hashtable hash = new Hashtable(); hash.Add("SettlementNum", i); List memberScores = new List(packet.GetResBoard(i).memberBoardList); memberScores.Sort((ele1, ele2) => { if (ele1.TotalScore > ele2.TotalScore) return -1; else if (ele1.TotalScore < ele2.TotalScore) return 1; return 0; }); _PlayerScore[i].InitContentItem(memberScores, null, hash); for (int j = 0; j < packet.GetResBoard(i).memberBoardList.Count; ++j) { if (packet.GetResBoard(i).memberBoardList[j].UserName == GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.RoleName) { //_MyScore.text = StrDictionary.GetClientDictionaryString("#{9218}", packet.GetResBoard(i).memberBoardList[j].TotalScore); //_BtnDouble.interactable = true; if (packet.GetResBoard(i).HasResult) _BattleResult = packet.GetResBoard(i).Result; else _BattleResult = -2; break; } } } if (_BattleResult >= -1 && _BattleResult <= 1) { _MyScore.gameObject.SetActive(true); _BtnDouble.gameObject.SetActive(true); _BtnDouble.interactable = packet.Candouble > 0; UIManager.CloseUI(UIInfo.GuanningAreaRoot); StartCoroutine(ShowResult()); } else { _MyScore.gameObject.SetActive(false); _BtnDouble.gameObject.SetActive(false); } if (packet.HasTureScore) { _MyScore.text = StrDictionary.GetClientDictionaryString("#{9218}", packet.TureScore, packet.ExpAdd); } else { _MyScore.text = ""; } } private IEnumerator ShowResult() { _WinPanel.SetActive(false); _FailPanel.SetActive(false); _DrawPanel.SetActive(false); if (_BattleResult > 0) { _WinPanel.SetActive(true); } else if (_BattleResult < 0) { _FailPanel.SetActive(true); } else { _DrawPanel.SetActive(true); } yield return new WaitForSeconds(2.0f); _WinPanel.SetActive(false); _FailPanel.SetActive(false); _DrawPanel.SetActive(false); } public void OnClickResult() { _WinPanel.SetActive(false); _FailPanel.SetActive(false); _DrawPanel.SetActive(false); } public void OnBtnDoubleAward() { CG_DOUBLE_BATTLE_SCORE_REQ packet = (CG_DOUBLE_BATTLE_SCORE_REQ)PacketDistributed.CreatePacket(MessageID.PACKET_CG_DOUBLE_BATTLE_SCORE_REQ); packet.ActivityID = (int)ActivityDataManager.Activity_Type.ACTIVITY_FIGHTYARD; packet.SendPacket(); _BtnDouble.interactable = false; } #endregion }