|
@@ -10,7 +10,7 @@ namespace GFGGame
|
|
|
{
|
|
|
private UI_StudioFilingUI _ui;
|
|
|
private ValueBarController _valueBarController;
|
|
|
- private StudioCfg _filingCfg;
|
|
|
+ private StudioCfg _studioCfg;
|
|
|
private List<StoryLevelCfg> _storyLevelCfgs;
|
|
|
|
|
|
public override void Dispose()
|
|
@@ -52,8 +52,7 @@ namespace GFGGame
|
|
|
base.AddEventListener();
|
|
|
EventAgent.AddEventListener(ConstMessage.STORY_LEVEL_CHANGE, UpdateView);
|
|
|
EventAgent.AddEventListener(ConstMessage.FILLING_CHANGE_CHAPTER, UpdateView);
|
|
|
- EventAgent.AddEventListener(ConstMessage.NOTICE_STUDIO_PLAY_TIMES, UpdateView);
|
|
|
- EventAgent.AddEventListener(ConstMessage.BUY_STUDIO_PLAY_TIMES, UpdateView);
|
|
|
+ EventAgent.AddEventListener(ConstMessage.NOTICE_LIMIT_CHANGED, OnLimitChanged);
|
|
|
EventAgent.AddEventListener(ConstMessage.RED_CHANGE, UpdateRedDot);
|
|
|
|
|
|
}
|
|
@@ -83,30 +82,40 @@ namespace GFGGame
|
|
|
base.RemoveEventListener();
|
|
|
EventAgent.RemoveEventListener(ConstMessage.STORY_LEVEL_CHANGE, UpdateView);
|
|
|
EventAgent.RemoveEventListener(ConstMessage.FILLING_CHANGE_CHAPTER, UpdateView);
|
|
|
- EventAgent.RemoveEventListener(ConstMessage.NOTICE_STUDIO_PLAY_TIMES, UpdateView);
|
|
|
- EventAgent.RemoveEventListener(ConstMessage.BUY_STUDIO_PLAY_TIMES, UpdateView);
|
|
|
+ EventAgent.RemoveEventListener(ConstMessage.NOTICE_LIMIT_CHANGED, OnLimitChanged);
|
|
|
EventAgent.RemoveEventListener(ConstMessage.RED_CHANGE, UpdateRedDot);
|
|
|
|
|
|
}
|
|
|
|
|
|
+ private void OnLimitChanged(EventContext context)
|
|
|
+ {
|
|
|
+ int limitId = (int)context.data;
|
|
|
+ if (this._studioCfg.limit != limitId)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ UpdateView();
|
|
|
+ }
|
|
|
+
|
|
|
private void UpdateView()
|
|
|
{
|
|
|
- StudioData studioData = StudioDataManager.Instance.GetStudioDataById(StudioDataManager.Instance.filingChapterId);
|
|
|
+ _studioCfg = StudioCfgArray.Instance.GetCfg(StudioDataManager.Instance.filingChapterId);
|
|
|
+ RoleLimitData limitData = RoleLimitDataManager.GetLimitData(this._studioCfg.limit);
|
|
|
+ var limitCfg = LimitCfgArray.Instance.GetCfg(this._studioCfg.limit);
|
|
|
|
|
|
- _filingCfg = StudioCfgArray.Instance.GetCfg(StudioDataManager.Instance.filingChapterId);
|
|
|
- _ui.m_loaBg.url = ResPathUtil.GetBgImgPath(_filingCfg.res);
|
|
|
- _ui.m_btnChange.title = _filingCfg.name;
|
|
|
- _ui.m_txtNum.text = string.Format("剩余次数:{0}/{1}", studioData.TotalPlayTimes - studioData.PlayTimes, _filingCfg.num);
|
|
|
+ _ui.m_loaBg.url = ResPathUtil.GetBgImgPath(_studioCfg.res);
|
|
|
+ _ui.m_btnChange.title = _studioCfg.name;
|
|
|
+ _ui.m_txtNum.text = string.Format("剩余次数:{0}/{1}", limitData.TotalPlayMax - limitData.PlayTimes, limitCfg.num);
|
|
|
|
|
|
- SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(_filingCfg.suitId);
|
|
|
+ SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(_studioCfg.suitId);
|
|
|
_ui.m_txtSuitName.text = suitCfg.name;
|
|
|
|
|
|
- DressUpMenuSuitDataManager.GetSuitProgressBySuitId(_filingCfg.suitId, out int count, out int totalCount);
|
|
|
+ DressUpMenuSuitDataManager.GetSuitProgressBySuitId(_studioCfg.suitId, out int count, out int totalCount);
|
|
|
_ui.m_txtSuitProgress.text = string.Format("({0}/{1})", count, totalCount);
|
|
|
|
|
|
_ui.m_suitIcon.url = ResPathUtil.GetIconPath(suitCfg.res, "png");
|
|
|
|
|
|
- _storyLevelCfgs = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(_filingCfg.type, _filingCfg.subType, StudioDataManager.Instance.filingChapterId);
|
|
|
+ _storyLevelCfgs = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(_studioCfg.type, _studioCfg.subType, StudioDataManager.Instance.filingChapterId);
|
|
|
_ui.m_list.numItems = _storyLevelCfgs.Count;
|
|
|
|
|
|
UpdateRedDot();
|
|
@@ -142,7 +151,7 @@ namespace GFGGame
|
|
|
item.m_loaBg.url = "ui://Studio/cyjd_di_2";
|
|
|
item.m_loaItem.visible = false;
|
|
|
item.m_loaIcon.visible = true;
|
|
|
- item.m_loaIcon.url = string.Format("ui://Studio/{0}", _filingCfg.res);
|
|
|
+ item.m_loaIcon.url = string.Format("ui://Studio/{0}", _studioCfg.res);
|
|
|
}
|
|
|
item.m_grpLock.visible = index > 0 && !InstanceZonesDataManager.CheckLevelPass(_storyLevelCfgs[index - 1].id);
|
|
|
item.m_comFlower.m_c1.selectedIndex = InstanceZonesDataManager.GetStarCountHistory(_storyLevelCfgs[index].id);
|
|
@@ -188,18 +197,18 @@ namespace GFGGame
|
|
|
}
|
|
|
private void OnBtnAddClick()
|
|
|
{
|
|
|
- ViewManager.Show<StudioBuyNumView>(StudioDataManager.Instance.filingChapterId);
|
|
|
+ ViewManager.Show<StudioBuyNumView>(_studioCfg.limit);
|
|
|
}
|
|
|
private void OnBtnSuitClick()
|
|
|
{
|
|
|
- SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(_filingCfg.suitId);
|
|
|
+ SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(_studioCfg.suitId);
|
|
|
if (suitCfg.syntheticStoryLevelId > 0 && !InstanceZonesDataManager.CheckLevelPass(suitCfg.syntheticStoryLevelId))
|
|
|
{
|
|
|
StoryLevelCfg cfg = StoryLevelCfgArray.Instance.GetCfg(suitCfg.syntheticStoryLevelId);
|
|
|
PromptController.Instance.ShowFloatTextPrompt(string.Format("需通关{0}关卡解锁", cfg.name));
|
|
|
return;
|
|
|
}
|
|
|
- ViewManager.Show<ClothingSyntheticView>(new object[] { _filingCfg.suitId }, new object[] { typeof(StudioFilingView).FullName, this.viewData }, true);
|
|
|
+ ViewManager.Show<ClothingSyntheticView>(new object[] { _studioCfg.suitId }, new object[] { typeof(StudioFilingView).FullName, this.viewData }, true);
|
|
|
}
|
|
|
private void UpdateRedDot()
|
|
|
{
|