//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Monday, January 28, 2019 //-------------------------------------------------------- using System; using UnityEngine; using UnityEngine.UI; using vnxbqy.UI; using System.Collections.Generic; public class CrossServerQualifyingGuess8SubCell : ILBehaviour { AvatarCell headImg; Text nameStr; Text fightPower; Text supportPlayers; Text supportMoney; ButtonEx guessButton; Text guessText; Image result; protected override void Awake() { headImg = proxy.GetWidgtEx("head"); nameStr = proxy.GetWidgtEx("name"); fightPower = proxy.GetWidgtEx("fightPower"); supportPlayers = proxy.GetWidgtEx("count"); supportMoney = proxy.GetWidgtEx("supportMoney"); guessButton = proxy.GetWidgtEx("guessButton"); guessText = proxy.GetWidgtEx("guessText"); result = proxy.GetWidgtEx("result"); } public void Display(int index) { var playerID = CrossServerQualifyingModel.Instance.guessPlayer64List[index]; var player = CrossServerQualifyingModel.Instance.fightersInfo[(uint)playerID]; headImg.SetActiveIL(true); headImg.InitUI(AvatarHelper.GetAvatarModel((int)player.PlayerID, (int)player.Face, (int)player.FacePic, player.Job)); nameStr.text = player.PlayerName; fightPower.text = UIHelper.ReplaceLargeNum(player.FightPower); if (CrossServerQualifyingModel.Instance.guess8Common.ContainsKey(playerID)) { supportPlayers.text = UIHelper.AppendColor(TextColType.Green, CrossServerQualifyingModel.Instance.guess8Common[playerID].ToString()); } else { supportPlayers.text = "0"; } if (CrossServerQualifyingModel.Instance.guess8Personal.ContainsKey(playerID)) { supportMoney.text = Language.Get("CrossServerQualifying28", CrossServerQualifyingModel.Instance.guess8Personal[playerID].x); if (CrossServerQualifyingModel.Instance.nowGroupMark <= 8) { result.SetActiveIL(true); result.SetSprite(CrossServerQualifyingModel.Instance.guessPlayer8List.IndexOf(playerID) != -1 ? "CSQguess0" : "CSQguess1"); } else { result.SetActiveIL(false); } guessButton.interactable = !(CrossServerQualifyingModel.Instance.guess8Personal[playerID].x / CrossServerQualifyingModel.Instance.guessMoney >= CrossServerQualifyingModel.Instance.guessMaxCnt); } else { supportMoney.text = Language.Get("CrossServerQualifying28", 0); result.SetActiveIL(false); guessButton.interactable = true; } guessText.text = Language.Get("CrossServerQualifying29", CrossServerQualifyingModel.Instance.guessMoney); guessButton.SetListener(()=> { if (HeroControler.Instance.GetMoneyCntIL(CrossServerQualifyingModel.Instance.guessMoneyType) < (ulong)CrossServerQualifyingModel.Instance.guessMoney) { SysNotifyMgr.Instance.ShowTip("LackMoney", CrossServerQualifyingModel.Instance.guessMoneyType); return; } if (CrossServerQualifyingModel.Instance.guess8Personal.ContainsKey(playerID) && CrossServerQualifyingModel.Instance.guess8Personal[playerID].x / CrossServerQualifyingModel.Instance.guessMoney >= CrossServerQualifyingModel.Instance.guessMaxCnt) { return; } var battleID = CrossServerQualifyingModel.Instance.GetBattleID(); if (ILChampionshipTimeConfig.Has(battleID) && ILChampionshipTimeConfig.Get(battleID).StateValue != 80) { SysNotifyMgr.Instance.ShowTip("ActiveOutTime"); return; } if (CrossServerQualifyingModel.Instance.guess8Personal.Count == 8 && !CrossServerQualifyingModel.Instance.guess8Personal.ContainsKey(playerID)) { SysNotifyMgr.Instance.ShowTip("CrossServerQualifying7"); return; } if (!CrossServerQualifyingModel.Instance.guess8Personal.ContainsKey(playerID)) { ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("CrossServerQualifying33", player.PlayerName), (bool isOk) => { if (isOk) { var pack = new IL_CC122_tagCMChampionshipGuess(); pack.ZoneID = (byte)CrossServerQualifyingModel.Instance.zoneID; pack.GuessType = 8; pack.PlayerID = (uint)playerID; pack.GuessCount = 1; pack.GuessRank = 0; GameNetSystem.Instance.SendInfo(pack); } }); } else { var pack = new IL_CC122_tagCMChampionshipGuess(); pack.ZoneID = (byte)CrossServerQualifyingModel.Instance.zoneID; pack.GuessType = 8; pack.PlayerID = (uint)playerID; pack.GuessCount = 1; pack.GuessRank = 0; GameNetSystem.Instance.SendInfo(pack); } }); } }