|
@@ -12,7 +12,7 @@ namespace GFGGame
|
|
private UI_ActivityGetYuanXiaoEntryUI _ui;
|
|
private UI_ActivityGetYuanXiaoEntryUI _ui;
|
|
private ValueBarController _valueBarController;
|
|
private ValueBarController _valueBarController;
|
|
private Dictionary<string, EffectUI> _effectUIDic = new Dictionary<string, EffectUI>();
|
|
private Dictionary<string, EffectUI> _effectUIDic = new Dictionary<string, EffectUI>();
|
|
-
|
|
|
|
|
|
+ private int _curLevel;
|
|
|
|
|
|
public override void Dispose()
|
|
public override void Dispose()
|
|
{
|
|
{
|
|
@@ -21,6 +21,7 @@ namespace GFGGame
|
|
{
|
|
{
|
|
EffectUIPool.Recycle(v.Value);
|
|
EffectUIPool.Recycle(v.Value);
|
|
}
|
|
}
|
|
|
|
+ _effectUIDic.Clear();
|
|
|
|
|
|
if (_valueBarController != null)
|
|
if (_valueBarController != null)
|
|
{
|
|
{
|
|
@@ -48,21 +49,12 @@ namespace GFGGame
|
|
|
|
|
|
_valueBarController = new ValueBarController(_ui.m_valueBar);
|
|
_valueBarController = new ValueBarController(_ui.m_valueBar);
|
|
_ui.m_list.itemRenderer = ListRenderer;
|
|
_ui.m_list.itemRenderer = ListRenderer;
|
|
- _ui.m_list.onClickItem.Add(OnListItemClick);
|
|
|
|
_ui.m_btnStart.onClick.Add(OnBtnStartClick);
|
|
_ui.m_btnStart.onClick.Add(OnBtnStartClick);
|
|
_ui.m_btnTask.onClick.Add(OnBtnTaskClick);
|
|
_ui.m_btnTask.onClick.Add(OnBtnTaskClick);
|
|
_ui.m_btnShop.onClick.Add(OnBtnShopClick);
|
|
_ui.m_btnShop.onClick.Add(OnBtnShopClick);
|
|
_ui.m_btnBack.onClick.Add(Hide);
|
|
_ui.m_btnBack.onClick.Add(Hide);
|
|
|
|
|
|
- _effectUIDic.Add("YXJ_bg_tx", EffectUIPool.CreateEffectUI(_ui.m_bgEffect, "ui_Activity", "YXJ_bg_tx"));
|
|
|
|
- _effectUIDic.Add("YXJ_Button", EffectUIPool.CreateEffectUI(_ui.m_startBtnEffect, "ui_Activity", "YXJ_Button"));
|
|
|
|
- _effectUIDic.Add("YXJ_Middle", EffectUIPool.CreateEffectUI(_ui.m_yuanXiaoEffect, "ui_Activity", "YXJ_Middle"));
|
|
|
|
- _effectUIDic.Add("YXJ_Text", EffectUIPool.CreateEffectUI(_ui.m_titleTextEffect, "ui_Activity", "YXJ_Text"));
|
|
|
|
- _effectUIDic.Add("YXJ_Open_Down", EffectUIPool.CreateEffectUI(_ui.m_cloudEffect, "ui_Activity", "YXJ_Open_Down"));
|
|
|
|
- _effectUIDic.Add("YXJ_Open_Up", EffectUIPool.CreateEffectUI(_ui.m_leafEffect, "ui_Activity", "YXJ_Open_Up"));
|
|
|
|
- _effectUIDic.Add("RedPack_doubao_Loop_R", EffectUIPool.CreateEffectUI(_ui.m_doubaoEffect, "ui_Activity", "RedPack_doubao_Loop_R"));
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+ AddEffect();
|
|
}
|
|
}
|
|
|
|
|
|
protected async override void OnShown()
|
|
protected async override void OnShown()
|
|
@@ -71,32 +63,40 @@ namespace GFGGame
|
|
_valueBarController.OnShown();
|
|
_valueBarController.OnShown();
|
|
_valueBarController.UpdateList(new List<int>() { PickUpGameArray.Instance.dataArray[0].comsumePassArr[0][0] });
|
|
_valueBarController.UpdateList(new List<int>() { PickUpGameArray.Instance.dataArray[0].comsumePassArr[0][0] });
|
|
|
|
|
|
- //var result = await MiniGameProxy.ReqGetActivityGameInfos(5004);
|
|
|
|
- //if (!isShowing || !result)
|
|
|
|
- //{
|
|
|
|
- // return;
|
|
|
|
- //}
|
|
|
|
|
|
+ _ui.m_list.visible = false;
|
|
|
|
+ var result = await ActivityGetYuanXiaoProxy.ReqGetActivityGameInfos();
|
|
|
|
+ if (!isShowing || !result)
|
|
|
|
+ {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
|
|
- _ui.m_list.numItems = PickUpGameArray.Instance.dataArray.Length;
|
|
|
|
- _ui.m_list.selectedIndex = GetCurLevel();
|
|
|
|
- _ui.m_list.ScrollToView(_ui.m_list.selectedIndex);
|
|
|
|
|
|
+ _ui.m_list.visible = true;
|
|
|
|
+ _ui.m_listShow.Play();
|
|
|
|
+ _curLevel = ActivityGetYuanXiaoDataManager.Instance.GetCurLevel();
|
|
|
|
+ _ui.m_list.numItems = ActivityGetYuanXiaoDataManager.Instance.gameinfoList.Count;
|
|
|
|
+ _ui.m_list.selectedIndex = Mathf.Min(_curLevel, ActivityGetYuanXiaoDataManager.Instance.gameinfoList.Count - 1);
|
|
|
|
+ AutoLocationCurLevel();
|
|
|
|
+ UpdateRedDots();
|
|
}
|
|
}
|
|
|
|
|
|
protected override void OnHide()
|
|
protected override void OnHide()
|
|
{
|
|
{
|
|
base.OnHide();
|
|
base.OnHide();
|
|
|
|
+ _valueBarController.OnHide();
|
|
}
|
|
}
|
|
|
|
|
|
protected override void AddEventListener()
|
|
protected override void AddEventListener()
|
|
{
|
|
{
|
|
base.AddEventListener();
|
|
base.AddEventListener();
|
|
EventAgent.AddEventListener(ConstMessage.ACTIVITY_GETYUANXIAO_START, StartGame);
|
|
EventAgent.AddEventListener(ConstMessage.ACTIVITY_GETYUANXIAO_START, StartGame);
|
|
|
|
+ EventAgent.AddEventListener(ConstMessage.RED_CHANGE, UpdateRedDots);
|
|
}
|
|
}
|
|
|
|
|
|
protected override void RemoveEventListener()
|
|
protected override void RemoveEventListener()
|
|
{
|
|
{
|
|
base.RemoveEventListener();
|
|
base.RemoveEventListener();
|
|
EventAgent.RemoveEventListener(ConstMessage.ACTIVITY_GETYUANXIAO_START, StartGame);
|
|
EventAgent.RemoveEventListener(ConstMessage.ACTIVITY_GETYUANXIAO_START, StartGame);
|
|
|
|
+ EventAgent.RemoveEventListener(ConstMessage.RED_CHANGE, UpdateRedDots);
|
|
}
|
|
}
|
|
|
|
|
|
private void ListRenderer(int index, GObject item)
|
|
private void ListRenderer(int index, GObject item)
|
|
@@ -107,50 +107,33 @@ namespace GFGGame
|
|
level.m_spendIcon.url = ResPathUtil.GetIconPath(ItemCfgArray.Instance.GetCfg(pickUpGame.comsumePassArr[0][0]).res, "png");
|
|
level.m_spendIcon.url = ResPathUtil.GetIconPath(ItemCfgArray.Instance.GetCfg(pickUpGame.comsumePassArr[0][0]).res, "png");
|
|
level.m_iconLevel.url = string.Format("ui://ActivityGetYuanXiao/yx_xg_{0}", index % 4 + 1);
|
|
level.m_iconLevel.url = string.Format("ui://ActivityGetYuanXiao/yx_xg_{0}", index % 4 + 1);
|
|
level.m_num.text = pickUpGame.comsumePassArr[0][1].ToString();
|
|
level.m_num.text = pickUpGame.comsumePassArr[0][1].ToString();
|
|
- level.m_c1.selectedIndex = 0;
|
|
|
|
-
|
|
|
|
- //level.m_c1.selectedIndex = MiniGameDateManager.Instance.gameinfoList[index].IsUnlock ? 0 : 1;
|
|
|
|
- UI_level.ProxyEnd();
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private void OnListItemClick(EventContext eventContext)
|
|
|
|
- {
|
|
|
|
- //GObject gObject = (GObject)eventContext.sender;
|
|
|
|
- //int index = (int)gObject.data;
|
|
|
|
- //UI_level level = UI_level.Proxy(gObject);
|
|
|
|
-
|
|
|
|
- //UI_level.ProxyEnd();
|
|
|
|
- }
|
|
|
|
|
|
|
|
- // 获取当前达到的关卡
|
|
|
|
- private int GetCurLevel()
|
|
|
|
- {
|
|
|
|
- return 0;
|
|
|
|
-
|
|
|
|
- int i;
|
|
|
|
- for (i = 0; i < MiniGameDateManager.Instance.gameinfoList.Count; i++)
|
|
|
|
|
|
+ int stateIndex = 0;
|
|
|
|
+ if (index > _curLevel)
|
|
{
|
|
{
|
|
- if (!MiniGameDateManager.Instance.gameinfoList[i].IsCleared)
|
|
|
|
- {
|
|
|
|
- return i;
|
|
|
|
- }
|
|
|
|
|
|
+ stateIndex = 1;
|
|
}
|
|
}
|
|
|
|
+ else if(index < _curLevel)
|
|
|
|
+ {
|
|
|
|
+ stateIndex = 2;
|
|
|
|
+ }
|
|
|
|
+ level.m_c1.selectedIndex = stateIndex;
|
|
|
|
|
|
- return i - 1;
|
|
|
|
|
|
+ UI_level.ProxyEnd();
|
|
}
|
|
}
|
|
|
|
|
|
private void OnBtnStartClick()
|
|
private void OnBtnStartClick()
|
|
{
|
|
{
|
|
- //if (!MiniGameDateManager.Instance.gameinfoList[_ui.m_list.selectedIndex].IsUnlock)
|
|
|
|
- //{
|
|
|
|
- // PromptController.Instance.ShowFloatTextPrompt("关卡未解锁");
|
|
|
|
- // return;
|
|
|
|
- //}
|
|
|
|
- //if (MiniGameDateManager.Instance.gameinfoList[_ui.m_list.selectedIndex].IsCleared)
|
|
|
|
- //{
|
|
|
|
- // PromptController.Instance.ShowFloatTextPrompt("关卡已通过");
|
|
|
|
- // return;
|
|
|
|
- //}
|
|
|
|
|
|
+ if (_ui.m_list.selectedIndex > _curLevel)
|
|
|
|
+ {
|
|
|
|
+ PromptController.Instance.ShowFloatTextPrompt("关卡未解锁");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if (_ui.m_list.selectedIndex < _curLevel)
|
|
|
|
+ {
|
|
|
|
+ PromptController.Instance.ShowFloatTextPrompt("关卡已通过");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
|
|
PickUpGame cfg = PickUpGameArray.Instance.dataArray[_ui.m_list.selectedIndex];
|
|
PickUpGame cfg = PickUpGameArray.Instance.dataArray[_ui.m_list.selectedIndex];
|
|
ViewManager.Show<ActivityGetYuanXiaoTargetView>(cfg);
|
|
ViewManager.Show<ActivityGetYuanXiaoTargetView>(cfg);
|
|
@@ -158,18 +141,17 @@ namespace GFGGame
|
|
|
|
|
|
private async void StartGame()
|
|
private async void StartGame()
|
|
{
|
|
{
|
|
- //int activityID = ActivityDataManager.Instance.GetCurOpenActiveByType(12);
|
|
|
|
- //if(activityID == 0)
|
|
|
|
- //{
|
|
|
|
- // return;
|
|
|
|
- //}
|
|
|
|
|
|
+ int activityID = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.YuanXiao);
|
|
|
|
+ if (activityID == 0)
|
|
|
|
+ {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
|
|
PickUpGame cfg = PickUpGameArray.Instance.dataArray[_ui.m_list.selectedIndex];
|
|
PickUpGame cfg = PickUpGameArray.Instance.dataArray[_ui.m_list.selectedIndex];
|
|
- //var result = await MiniGameProxy.ReqMiniGameStart(cfg.id, cfg.type, activityID);
|
|
|
|
- //if (!result || !isShowing) return;
|
|
|
|
|
|
+ var result = await MiniGameProxy.ReqMiniGameStart(cfg.id, cfg.type, activityID);
|
|
|
|
+ if (!result || !isShowing) return;
|
|
|
|
|
|
- //ViewManager.Show<ActivityGetYuanXiaoView>(new object[] { cfg, activityID });
|
|
|
|
- ViewManager.Show<ActivityGetYuanXiaoView>(new object[] { cfg, 0 });
|
|
|
|
|
|
+ ViewManager.Show<ActivityGetYuanXiaoView>(new object[] { cfg, activityID });
|
|
}
|
|
}
|
|
|
|
|
|
private void OnBtnShopClick()
|
|
private void OnBtnShopClick()
|
|
@@ -179,7 +161,7 @@ namespace GFGGame
|
|
|
|
|
|
private void OnBtnTaskClick()
|
|
private void OnBtnTaskClick()
|
|
{
|
|
{
|
|
- int activityID = ActivityDataManager.Instance.GetCurOpenActiveByType(12);
|
|
|
|
|
|
+ int activityID = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.YuanXiao);
|
|
if (activityID == 0)
|
|
if (activityID == 0)
|
|
{
|
|
{
|
|
return;
|
|
return;
|
|
@@ -187,5 +169,40 @@ namespace GFGGame
|
|
ViewManager.Show<ActivityGetYuanXiaoTaskView>(activityID);
|
|
ViewManager.Show<ActivityGetYuanXiaoTaskView>(activityID);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private void UpdateRedDots()
|
|
|
|
+ {
|
|
|
|
+ bool canPlay = ActivityGetYuanXiaoDataManager.Instance.HaveNewLevelCanPlay();
|
|
|
|
+
|
|
|
|
+ for (int i = 0; i < _ui.m_list.numChildren; i++)
|
|
|
|
+ {
|
|
|
|
+ if (i == _curLevel)
|
|
|
|
+ {
|
|
|
|
+ RedDotController.Instance.SetComRedDot(_ui.m_list.GetChildAt(i).asCom, canPlay, "", -21, 29);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ RedDotController.Instance.SetComRedDot(_ui.m_list.GetChildAt(i).asCom, false);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ RedDotController.Instance.SetComRedDot(_ui.m_btnTask,
|
|
|
|
+ TaskDataManager.Instance.CheckTaskRewardCanGet(TaskFuncType.YuanXiaoActivity), "", -25, 20);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void AddEffect()
|
|
|
|
+ {
|
|
|
|
+ _effectUIDic.Add("YXJ_bg_tx", EffectUIPool.CreateEffectUI(_ui.m_bgEffect, "ui_Activity", "YXJ_bg_tx"));
|
|
|
|
+ _effectUIDic.Add("YXJ_Button", EffectUIPool.CreateEffectUI(_ui.m_startBtnEffect, "ui_Activity", "YXJ_Button"));
|
|
|
|
+ _effectUIDic.Add("YXJ_Middle", EffectUIPool.CreateEffectUI(_ui.m_yuanXiaoEffect, "ui_Activity", "YXJ_Middle"));
|
|
|
|
+ _effectUIDic.Add("YXJ_Text", EffectUIPool.CreateEffectUI(_ui.m_titleTextEffect, "ui_Activity", "YXJ_Text"));
|
|
|
|
+ _effectUIDic.Add("YXJ_Open_Down", EffectUIPool.CreateEffectUI(_ui.m_cloudEffect, "ui_Activity", "YXJ_Open_Down"));
|
|
|
|
+ _effectUIDic.Add("YXJ_Open_Up", EffectUIPool.CreateEffectUI(_ui.m_leafEffect, "ui_Activity", "YXJ_Open_Up"));
|
|
|
|
+ _effectUIDic.Add("RedPack_doubao_Loop_R", EffectUIPool.CreateEffectUI(_ui.m_doubaoEffect, "ui_Activity", "RedPack_doubao_Loop_R"));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void AutoLocationCurLevel()
|
|
|
|
+ {
|
|
|
|
+ _ui.m_list.ScrollToView(Mathf.Min(_curLevel, ActivityGetYuanXiaoDataManager.Instance.gameinfoList.Count - 1));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|