using System.Collections.Generic;
|
using UnityEngine;
|
|
//我的福地
|
namespace vnxbqy.UI
|
{
|
public class BlessedLandWin : Window
|
{
|
|
[SerializeField] ScrollerController itemScroller;
|
[SerializeField] ButtonEx btnClose;
|
[SerializeField] ButtonEx btnRecord;
|
[SerializeField] ButtonEx btnRefresh;
|
[SerializeField] ButtonEx btnSuperRefresh;
|
[SerializeField] ButtonEx btnRreasureBowl;
|
[SerializeField] ButtonEx btnSearch;
|
[SerializeField] ButtonEx btnManage;
|
[SerializeField] ImageEx imgRefresh;
|
[SerializeField] ImageEx imgMoney;
|
[SerializeField] TextEx txtFreeWorkerCount;
|
[SerializeField] TextEx txtAllWorkerCount;
|
[SerializeField] TextEx txtSuperRefreshCount;
|
[SerializeField] TextEx txtBlessedLandName;
|
[SerializeField] RectTransform rectBlessedLandNameImage;
|
[SerializeField] RectTransform rectBlessedLandNameText;
|
|
BlessedLandModel blessedLandModel { get { return ModelCenter.Instance.GetModel<BlessedLandModel>(); } }
|
|
protected override void BindController()
|
{
|
|
}
|
|
protected override void AddListeners()
|
{
|
btnClose.SetListener(() =>
|
{
|
WindowCenter.Instance.Close<BlessedLandWin>();
|
});
|
|
btnRecord.SetListener(() =>
|
{
|
blessedLandModel.SendCB033Pack(5);
|
});
|
|
btnRefresh.SetListener(() =>
|
{
|
TryRefresh();
|
});
|
|
btnSuperRefresh.SetListener(() =>
|
{
|
TrySuperRefresh();
|
});
|
|
btnRreasureBowl.SetListener(() =>
|
{
|
WindowCenter.Instance.Open<BlessedLandCornucopiaWin>();
|
});
|
|
btnSearch.SetListener(() =>
|
{
|
blessedLandModel.SendCB033Pack(3);
|
blessedLandModel.SendCB033Pack(2);
|
});
|
|
btnManage.SetListener(() =>
|
{
|
WindowJumpMgr.Instance.WindowJumpToEx("BlessedLandManageWin");
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
itemScroller.OnRefreshCell += OnItemCellScrollerRefreshCell;
|
blessedLandModel.UpdateNewAreaData += OnUpdateAreaData;
|
blessedLandModel.UpdateFellowAndSurroundAreaData += OnUpdateFellowAndSurroundAreaData;
|
blessedLandModel.UpdateRecordInfo += OnUpdateRecordInfo;
|
WindowCenter.Instance.windowBeforeOpenEvent += OnWindowBeforeOpenEvent;
|
WindowCenter.Instance.windowBeforeCloseEvent += OnWindowBeforeCloseEvent;
|
DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
|
ModelCenter.Instance.GetModel<BlessedLandModel>().showPlayerId = blessedLandModel.myPlayerId;
|
if (blessedLandModel.AwardType == 0)
|
blessedLandModel.SendCB034Pack();
|
Display();
|
}
|
|
void Display()
|
{
|
imgMoney.SetSprite(StringUtility.Contact("Money_Type_", blessedLandModel.refreshTypeCostCurrencyValueDict[1][0]));
|
imgRefresh.sprite = blessedLandModel.IsRefresh(0) ? UILoader.LoadSprite("BlessedLand03") : UILoader.LoadSprite("BlessedLand04");
|
btnRefresh.SetColorful(null, blessedLandModel.IsRefresh(0));
|
btnSuperRefresh.SetActive(blessedLandModel.GetResdueSuperRefreshCount() > 0);
|
txtAllWorkerCount.text = StringUtility.Contact(Language.Get("BlessedLand007"), " ", blessedLandModel.WorkerCount);
|
txtFreeWorkerCount.text = StringUtility.Contact(Language.Get("BlessedLand006"), " ", blessedLandModel.WorkerCount - blessedLandModel.GetWorkingCount());
|
txtSuperRefreshCount.text = Language.Get("BlessedLand036", blessedLandModel.GetResdueSuperRefreshCount(), blessedLandModel.refreshTypeDailyLimitDict[1]);
|
txtBlessedLandName.text = Language.Get("BlessedLand042", Language.Get("BlessedLand012"));
|
}
|
|
protected override void OnAfterOpen()
|
{
|
|
if (!blessedLandModel.newAreaDataDict.ContainsKey(blessedLandModel.myPlayerId))
|
return;
|
itemScroller.Refresh();
|
for (int i = 0; i < blessedLandModel.newAreaDataDict[blessedLandModel.myPlayerId].MineItems.Count; i++)
|
{
|
itemScroller.AddCell(ScrollerDataType.Header, i);
|
}
|
itemScroller.Restart();
|
}
|
|
protected override void OnAfterClose()
|
{
|
|
}
|
|
protected override void OnPreClose()
|
{
|
itemScroller.OnRefreshCell -= OnItemCellScrollerRefreshCell;
|
blessedLandModel.UpdateNewAreaData -= OnUpdateAreaData;
|
blessedLandModel.UpdateFellowAndSurroundAreaData -= OnUpdateFellowAndSurroundAreaData;
|
|
blessedLandModel.UpdateRecordInfo -= OnUpdateRecordInfo;
|
WindowCenter.Instance.windowBeforeOpenEvent -= OnWindowBeforeOpenEvent;
|
WindowCenter.Instance.windowBeforeCloseEvent -= OnWindowBeforeCloseEvent;
|
DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
|
}
|
|
private void OnWindowBeforeOpenEvent(Window window)
|
{
|
if (window.name == "BlessedLandDetailsWin" || window.name == "BlessedLandCornucopiaWin"
|
|| window.name == "BlessedLandManageWin" || window.name == "BlessedLandOtherWin"
|
|| window.name == "BlessedLandRecordWin" || window.name == "BlessedLandSeekWin"
|
|| window.name == "BatchWin" || window.name == "BlessedLandFightWin" || window.name == "BlessedLandVictoryWin" || window.name == "BlessedLandDefeatedWin")
|
{
|
itemScroller.SetActive(false);
|
}
|
}
|
|
private void OnWindowBeforeCloseEvent(Window window)
|
{
|
if (window.name == "BlessedLandDetailsWin" || window.name == "BlessedLandCornucopiaWin"
|
|| window.name == "BlessedLandManageWin" || window.name == "BlessedLandOtherWin"
|
|| window.name == "BlessedLandRecordWin" || window.name == "BlessedLandSeekWin"
|
|| window.name == "BatchWin" || window.name == "BlessedLandFightWin" || window.name == "BlessedLandVictoryWin" || window.name == "BlessedLandDefeatedWin")
|
{
|
itemScroller.SetActive(true);
|
itemScroller.Refresh();
|
if (!blessedLandModel.newAreaDataDict.ContainsKey(blessedLandModel.myPlayerId))
|
return;
|
for (int i = 0; i < blessedLandModel.newAreaDataDict[blessedLandModel.myPlayerId].MineItems.Count; i++)
|
{
|
itemScroller.AddCell(ScrollerDataType.Header, i);
|
}
|
itemScroller.Restart();
|
}
|
}
|
|
private void OnUpdateRecordInfo()
|
{
|
WindowJumpMgr.Instance.WindowJumpToEx("BlessedLandRecordWin");
|
}
|
|
private void OnUpdateFellowAndSurroundAreaData()
|
{
|
WindowJumpMgr.Instance.WindowJumpToEx("BlessedLandSeekWin");
|
}
|
|
private void OnUpdateAreaData(List<uint> list)
|
{
|
itemScroller.m_Scorller.RefreshActiveCellViews();
|
Display();
|
}
|
|
private void OnItemCellScrollerRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell as BlessedLandCell;
|
_cell.Display(_cell.index);
|
}
|
|
void TryRefresh()
|
{
|
if (blessedLandModel.isSkipRefreshTip)
|
{
|
TrySkipLv4Tip();
|
}
|
else
|
{
|
ConfirmCancel.MoneyIconToggleConfirm(
|
Language.Get("TeamListRefresh"),
|
Language.Get("BlessedLand034"),
|
Language.Get("TeamListRefresh"),
|
blessedLandModel.refreshTypeCostCurrencyValueDict[0][0],
|
blessedLandModel.refreshTypeCostCurrencyValueDict[0][1],
|
UIHelper.GetMoneyCnt(blessedLandModel.refreshTypeCostCurrencyValueDict[0][0]),
|
(bool isOk, bool isToggle) =>
|
{
|
ModelCenter.Instance.GetModel<BlessedLandModel>().isSkipRefreshTip = isToggle;
|
if (isOk)
|
TrySkipLv4Tip();
|
},
|
true,
|
Language.Get("FlyShoseConfirmwin_Text2")
|
);
|
return;
|
}
|
}
|
|
void TrySuperRefresh()
|
{
|
ConfirmCancel.MoneyIconToggleConfirm(
|
Language.Get("BlessedLand035"),
|
Language.Get("BlessedLand019"),
|
Language.Get("TeamListRefresh"),
|
blessedLandModel.refreshTypeCostCurrencyValueDict[1][0],
|
blessedLandModel.refreshTypeCostCurrencyValueDict[1][1],
|
UIHelper.GetMoneyCnt(blessedLandModel.refreshTypeCostCurrencyValueDict[1][0]),
|
(bool isOk, bool isToggle) =>
|
{
|
if (isOk)
|
{
|
//超级刷新超出了每日刷新次数上限
|
if (blessedLandModel.RefreshCountSuper >= blessedLandModel.refreshTypeDailyLimitDict[1])
|
{
|
SysNotifyMgr.Instance.ShowTip("BlessedLand09");
|
return;
|
}
|
//货币不足
|
if (UIHelper.GetMoneyCnt(blessedLandModel.refreshTypeCostCurrencyValueDict[1][0]) < (ulong)blessedLandModel.refreshTypeCostCurrencyValueDict[1][1])
|
{
|
SysNotifyMgr.Instance.ShowTip("XianXiaMJ32");
|
return;
|
}
|
blessedLandModel.SendCB031Pack(1);
|
}
|
});
|
return;
|
}
|
|
void showToggleConfirmCancel()
|
{
|
ConfirmCancel.ToggleConfirmCancel(
|
Language.Get("L1003"),
|
Language.Get("BlessedLand018"),
|
Language.Get("FlyShoseConfirmwin_Text2"),
|
(bool isOk, bool isToggle) =>
|
{
|
ModelCenter.Instance.GetModel<BlessedLandModel>().isSkipLv4Tip = isToggle;
|
if (isOk)
|
blessedLandModel.SendCB031Pack(0);
|
}
|
);
|
return;
|
}
|
|
void TrySkipLv4Tip()
|
{
|
if (blessedLandModel.isSkipLv4Tip == true)
|
{
|
TrySendCB031Pack();
|
}
|
else
|
{
|
if (blessedLandModel.IsGreaterLv4Item())
|
{
|
showToggleConfirmCancel();
|
}
|
else
|
{
|
TrySendCB031Pack();
|
}
|
}
|
}
|
|
void TrySendCB031Pack()
|
{
|
if (UIHelper.GetMoneyCnt(blessedLandModel.refreshTypeCostCurrencyValueDict[0][0]) < (ulong)blessedLandModel.refreshTypeCostCurrencyValueDict[0][1])
|
{
|
SysNotifyMgr.Instance.ShowTip("XianXiaMJ32");
|
return;
|
}
|
blessedLandModel.SendCB031Pack(0);
|
}
|
|
public void OnBeforePlayerDataInitialize()
|
{
|
if (WindowCenter.Instance.IsOpen<BlessedLandWin>())
|
{
|
WindowJumpMgr.Instance.ClearJumpData();
|
WindowCenter.Instance.CloseAll();
|
}
|
}
|
|
}
|
}
|
|