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<BlessedLandModel>(); } }
|
|
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<BlessedLandDetailsWin>();
|
}
|
});
|
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<BlessedLandModel>().detailsIndex = (byte)index;
|
ModelCenter.Instance.GetModel<BlessedLandModel>().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);
|
});
|
}
|
|
}
|
}
|
|