using UnityEngine; namespace vnxbqy.UI { //福地-记录 public class BlessedLandRecordWin : Window { [SerializeField] ScrollerController itemScroller; [SerializeField] ButtonEx btnClose; BlessedLandModel blessedLandModel { get { return ModelCenter.Instance.GetModel(); } } protected override void BindController() { } protected override void AddListeners() { btnClose.SetListener(() => { WindowCenter.Instance.Close(); }); } protected override void OnPreOpen() { itemScroller.OnRefreshCell += OnItemCellScrollerRefreshCell; blessedLandModel.UpdateRecordInfo += OnUpdateRecordInfo; blessedLandModel.UpdateFindAreaData += OnUpdateFindAreaData; DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize; } private void OnUpdateFindAreaData() { WindowJumpMgr.Instance.WindowJumpToEx("BlessedLandOtherWin"); } protected override void OnAfterOpen() { CreateItemScroller(); } protected override void OnAfterClose() { } protected override void OnPreClose() { itemScroller.OnRefreshCell -= OnItemCellScrollerRefreshCell; blessedLandModel.UpdateRecordInfo -= OnUpdateRecordInfo; blessedLandModel.UpdateFindAreaData -= OnUpdateFindAreaData; DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize; } private void OnBeforePlayerDataInitialize() { if (WindowCenter.Instance.IsOpen()) { WindowJumpMgr.Instance.ClearJumpData(); WindowCenter.Instance.CloseAll(); } } private void OnUpdateRecordInfo() { CreateItemScroller(); } private void OnItemCellScrollerRefreshCell(ScrollerDataType type, CellView cell) { var _cell = cell as BlessedLandRecordCell; _cell.Display(_cell.index); } void CreateItemScroller() { itemScroller.Refresh(); for (int i = blessedLandModel.mineAreaRecordList.Count - 1; i >= 0; i--) { if (blessedLandModel.mineAreaRecordList[i].MineID == 0 || !MineAreaItemConfig.GetKeys().Contains(blessedLandModel.mineAreaRecordList[i].MineID.ToString())) return; itemScroller.AddCell(ScrollerDataType.Header, i); } itemScroller.Restart(); } } }