using UnityEngine; namespace vnxbqy.UI { public class BlessedLandManageCell : CellView { [SerializeField] ImageEx imgOurDownArrow; [SerializeField] AvatarCell myHead; [SerializeField] ImageEx imgEnemyWorkersCountBG; [SerializeField] ImageEx imgEnemyDownArrow; [SerializeField] AvatarCell enemyHead; [SerializeField] ImageEx imgNoEnemyHeadIcon; [SerializeField] TextEx txtWorkersCount; [SerializeField] TextEx txtEnemyersCount; [SerializeField] TextEx txtOurRemainingTime; [SerializeField] TextEx txtEnergyRemainingTime; [SerializeField] TextEx txtEnemyName; [SerializeField] TextEx txtNoEnemy; [SerializeField] TextEx txtEnergyNowCollect; [SerializeField] ButtonEx btnCallBack; [SerializeField] ButtonEx btnGo; [SerializeField] ItemCell itemCell; int playerId; int index; MineAreaInfo newAreaDataDict; MineItemInfo mineItems; int state; BlessedLandModel blessedLandModel { get { return ModelCenter.Instance.GetModel(); } } void OnEnable() { GlobalTimeEvent.Instance.secondEvent += OnSecondEvent; } void OnDisable() { GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent; } private void OnSecondEvent() { txtOurRemainingTime.text = TimeUtility.SecondsToDHMS((int)mineItems.EndTime - TimeUtility.AllSeconds); txtEnergyRemainingTime.text = TimeUtility.SecondsToDHMS((int)mineItems.EndTime - TimeUtility.AllSeconds); } public void Display(int combinedValue) { playerId = combinedValue / 100; index = combinedValue % 100; newAreaDataDict = blessedLandModel.newAreaDataDict[(uint)playerId]; mineItems = newAreaDataDict.MineItems[index]; state = blessedLandModel.GetManageCellState(playerId, index); //1 自己福地-有超级物品-自己拉 2 自己福地-有普通物品-自己拉 //3 自己福地-有普通物品-自己和其他玩家抢-向自己移动 4 自己福地-有普通物品-自己和其他玩家抢-向对方移动 //5 别人福地-有普通物品-自己抢 //6 别人福地-有普通物品-自己和房主抢-向房主移动 7 别人福地-有普通物品-自己和房主抢-向自己移动 bool isEnemy = state == 3 || state == 4 || state == 6 || state == 7; bool isMyBlessedLand = state == 1 || state == 2 || state == 3 || state == 4; bool isOnlyMine = state == 1 || state == 2 || state == 5; imgEnemyWorkersCountBG.SetActive(isEnemy); enemyHead.bgImage.SetActive(isEnemy); enemyHead.avatarImage.SetActive(isEnemy); enemyHead.avatarFrameImage.SetActive(isEnemy); imgNoEnemyHeadIcon.SetActive(isOnlyMine); txtEnemyName.SetActive(isEnemy); txtEnergyNowCollect.SetActive(isEnemy); txtNoEnemy.SetActive(isOnlyMine); imgOurDownArrow.SetActive(isOnlyMine || state == 3 || state == 7); imgEnemyDownArrow.SetActive(state == 4 || state == 6); txtEnergyRemainingTime.SetActive(isEnemy); ItemCellShow(); txtOurRemainingTime.text = TimeUtility.SecondsToDHMS((int)mineItems.EndTime - TimeUtility.AllSeconds); txtEnergyRemainingTime.text = TimeUtility.SecondsToDHMS((int)mineItems.EndTime - TimeUtility.AllSeconds); myHead.InitUI(AvatarHelper.GetMyAvatarModel()); enemyHead.InitUI(isMyBlessedLand ? mineItems.RobPlayerID < 10000 ? blessedLandModel.GetModelForPlayerId((int)mineItems.RobPlayerID) : AvatarHelper.GetAvatarModel((int)mineItems.RobPlayerID, (int)mineItems.RobFace, (int)mineItems.RobFacePic, (int)mineItems.RobJob) : newAreaDataDict.PlayerID < 10000 ? blessedLandModel.GetModelForPlayerId((int)newAreaDataDict.PlayerID) : AvatarHelper.GetAvatarModel((int)newAreaDataDict.PlayerID, (int)newAreaDataDict.Face, (int)newAreaDataDict.FacePic, (int)newAreaDataDict.Job)); txtEnemyName.text = isMyBlessedLand ? mineItems.RobPlayerID < 10000 ? blessedLandModel.GetNameForPlayerId((int)mineItems.RobPlayerID) : UIHelper.ServerStringTrim(mineItems.RobPlayerName) : newAreaDataDict.PlayerID < 10000 ? blessedLandModel.GetNameForPlayerId((int)newAreaDataDict.PlayerID) : UIHelper.ServerStringTrim(newAreaDataDict.PlayerName); txtWorkersCount.text = isMyBlessedLand ? mineItems.WorkerCount.ToString() : mineItems.RobWorkerCount.ToString(); txtEnemyersCount.text = isMyBlessedLand ? mineItems.RobWorkerCount.ToString() : mineItems.WorkerCount.ToString(); btnCallBack.SetListener(() => { ConfirmCancel.ShowPopConfirm(Language.Get("L1003"), Language.Get("BlessedLand020"), (bool isOk) => { if (isOk) { blessedLandModel.SendCB030Pack((uint)playerId, (byte)index, 0, 0); WindowCenter.Instance.Close(); } }); return; }); btnGo.SetListener(() => { if (playerId == blessedLandModel.myPlayerId) { WindowJumpMgr.Instance.WindowJumpToEx("BlessedLandWin"); WindowJumpMgr.Instance.ClearJumpData(); } else { blessedLandModel.SendCB033Pack(1, (uint)playerId); blessedLandModel.SendCB033Pack(4); ModelCenter.Instance.GetModel().detailsIndex = (byte)index; ModelCenter.Instance.GetModel().showPlayerId = (uint)playerId; } }); } void ItemCellShow() { int mineID = mineItems.MineID; int itemID = MineAreaItemConfig.Get(mineID).ItemID; int itemLV = MineAreaItemConfig.Get(mineID).ItemLV; itemCell.Init(new ItemCellModel(itemID, false, (ulong)itemLV)); itemCell.countText.SetActive(true); itemCell.countText.text = Language.Get("FashionDress106", itemLV); itemCell.button.SetListener(() => { ItemTipUtility.Show(itemID); }); } } }