| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 | 
							- using System.Collections.Generic;
 
- using FairyGUI;
 
- using UI.ActivityDay7;
 
- using UI.CommonGame;
 
- using UI.Task;
 
- namespace GFGGame
 
- {
 
-     public class ActivityDay7View : BaseWindow
 
-     {
 
-         private UI_ActivityDay7UI _ui;
 
-         //7日活动配置
 
-         private Activity7DaysTaskCfg[] cfgDataArray;
 
-         //7日活动积分配置
 
-         private Activity7DaysCfg[] activity7DaysCfgs;
 
-         //选中的天数index 天数=index+1
 
-         private int onClickDayIndex;
 
-         public override void Dispose()
 
-         {
 
-             if (_ui != null)
 
-             {
 
-                 _ui.Dispose();
 
-                 _ui = null;
 
-             }
 
-             base.Dispose();
 
-         }
 
-         protected override void OnInit()
 
-         {
 
-             base.OnInit();
 
-             packageName = UI_ActivityDay7UI.PACKAGE_NAME;
 
-             _ui = UI_ActivityDay7UI.Create();
 
-             viewCom = _ui.target;
 
-             isfullScreen = true;
 
-             bringToFontOnClick = false;
 
-             _ui.m_btnBack.onClick.Add(OnBtnBackClick);
 
-             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("lm_beijing2");
 
-             _ui.m_DayList.itemRenderer = DayListRenderer;
 
-             _ui.m_TaskList.itemRenderer = TaskListRenderer;
 
-         }
 
-         private void OnBtnBackClick()
 
-         {
 
-             ViewManager.GoBackFrom(typeof(ActivityDay7View).FullName);
 
-         }
 
-         protected override void OnShown()
 
-         {
 
-             base.OnShown();
 
-             onClickDayIndex = ActivityDay7DataManager.Instance.GetActivityDay7Day() - 1;
 
-             SetScoreList();
 
-             SetScore();
 
-             SetDayList();
 
-             SetTasks();
 
-         }
 
-         private void SetScore()
 
-         {
 
-             var score = ActivityDay7DataManager.Instance.GetScore();
 
-             _ui.m_Score.text = score.ToString();
 
-             _ui.m_ExpProcess.value = score;
 
-         }
 
-         //DayListRenderer
 
-         private void DayListRenderer(int index, GObject obj)
 
-         {
 
-             var item = UI_ButtonDay.Proxy(obj);
 
-             if (item.target.data == null)
 
-             {
 
-                 var cfg = cfgDataArray[index];
 
-                 item.m_text.text = $"第{cfg.days}天";
 
-                 item.target.data = index;
 
-                 item.target.onClick.Add(OnClickDay);
 
-             }
 
-             //设置按钮状态
 
-             item.m_c1.selectedIndex = index == onClickDayIndex ? 0 : 1;
 
-             UI_ButtonDay.ProxyEnd();
 
-         }
 
-         //选中天数
 
-         private void OnClickDay(EventContext context)
 
-         {
 
-             if (!(context.sender is GObject typeItem)) return;
 
-             //检查天数
 
-             var day = ActivityDay7DataManager.Instance.GetActivityDay7Day();
 
-             if (day < (int)typeItem.data + 1)
 
-             {
 
-                 PromptController.Instance.ShowFloatTextPrompt("未到开启时间");
 
-                 return;
 
-             }
 
-             onClickDayIndex = (int)typeItem.data;
 
-             SetTasks();
 
-             //设置其他按钮选中状态
 
-             SetDayList();
 
-             FreshGetStatus();
 
-         }
 
-         private void SetTasks()
 
-         {
 
-             var activity7DaysTaskCfg = Activity7DaysTaskCfgArray.Instance.GetCfg(onClickDayIndex + 1);
 
-             var taskIdArr = activity7DaysTaskCfg.taskIdArr;
 
-             //排序根据领取状态
 
-             var taskCfgs = TaskDataManager.Instance.GetTaskCfgs(taskIdArr);
 
-             _ui.m_TaskList.data = taskCfgs;
 
-             _ui.m_TaskList.numItems = taskIdArr.Length;
 
-             if (_ui.m_TaskList.numItems > 0)
 
-             {
 
-                 _ui.m_TaskList.ScrollToView(0);
 
-             }
 
-         }
 
-         //TaskListRenderer
 
-         private void TaskListRenderer(int index, GObject obj)
 
-         {
 
-             var item = UI_TaskListItem.Proxy(obj);
 
-             var tasks = (List<TaskCfg>)obj.parent.data;
 
-             var taskCfg = tasks[index];
 
-             item.m_c1.selectedIndex = TaskDataManager.Instance.GetTaskStateById(taskCfg.id);
 
-             item.m_c2.selectedIndex = taskCfg.jumpId == "" ? 1 : 0;
 
-             item.m_txtDesc.text = TaskDataManager.Instance.GetTaskDesc(taskCfg.id);
 
-             item.m_txtCount.text =
 
-                 $"{TaskDataManager.Instance.GetTaskProgressById(taskCfg.id)}/{taskCfg.count}";
 
-             if (item.m_GetRewardBt.data == null)
 
-             {
 
-                 item.m_GetRewardBt.onClick.Add(OnBtnGetClick);
 
-             }
 
-             item.m_GetRewardBt.data = taskCfg.id;
 
-             if (item.m_ComeBt.data == null)
 
-             {
 
-                 item.m_ComeBt.onClick.Add(OnBtnGoClick);
 
-             }
 
-             item.m_ComeBt.data = taskCfg.jumpId;
 
-             if (item.m_listTaskReward.data == null)
 
-             {
 
-                 item.m_listTaskReward.itemRenderer = ListTaskRewardItemRender;
 
-             }
 
-             item.m_listTaskReward.data = taskCfg.rewardsArr;
 
-             item.m_listTaskReward.numItems = taskCfg.rewardsArr.Length;
 
-             UI_TaskListItem.ProxyEnd();
 
-         }
 
-         private static void ListTaskRewardItemRender(int index, GObject obj)
 
-         {
 
-             var rewards = (int[][])obj.parent.data;
 
-             ItemUtil.CreateItemView(rewards[index], obj as GComponent);
 
-         }
 
-         private void OnBtnGoClick(EventContext context)
 
-         {
 
-             Hide();
 
-             var btnGo = context.sender as GObject;
 
-             if (btnGo == null) return;
 
-             ViewManager.Show($"GFGGame.{btnGo.data}", null, new[] { typeof(ActivityDay7View).FullName, viewData },
 
-                 true);
 
-         }
 
-         private List<GComponent> components = new List<GComponent>();
 
-         //设置积分列表
 
-         private void SetScoreList()
 
-         {
 
-             //7日活动配置
 
-             activity7DaysCfgs = Activity7DaysCfgArray.Instance.dataArray;
 
-             var maxCfg = activity7DaysCfgs[activity7DaysCfgs.Length - 1];
 
-             var maxCfgID = maxCfg.id;
 
-             var maxScore = maxCfg.score;
 
-             var pos = _ui.m_StartIndex.position;
 
-             var endY = _ui.m_EndIndex.position.y;
 
-             _ui.m_ExpProcess.max = maxScore;
 
-             //循环设置UI
 
-             foreach (var cfg in activity7DaysCfgs)
 
-             {
 
-                 var cfgScore = cfg.score;
 
-                 var item = UI_ExpProcessItem.Create();
 
-                 var target = item.target;
 
-                 components.Add(target);
 
-                 _ui.target.AddChild(target);
 
-                 // 根据 maxScore  cfgScore pos.y endY 设置target 位置 x,z不变,y根据比例设置 
 
-                 var y = pos.y + (endY - pos.y) * cfgScore / maxScore;
 
-                 target.SetPosition(pos.x, y, pos.z);
 
-                 item.m_Score.text = cfgScore.ToString();
 
-                 var cfgBonusArr = cfg.bonusArr;
 
-                 var itemCfg = ItemCfgArray.Instance.GetCfg(cfgBonusArr[0][0]);
 
-                 item.m_loaIcon.url = string.IsNullOrEmpty(itemCfg.res) ? "" : ResPathUtil.GetIconPath(itemCfg);
 
-                 item.m_Num.text = cfgBonusArr[0][1].ToString();
 
-                 item.m_c1.selectedIndex = cfg.id == maxCfgID ? 1 : 0;
 
-                 item.target.data = cfg;
 
-                 item.target.onClick.Add(OnClickReward);
 
-                 UI_ExpProcess.ProxyEnd();
 
-             }
 
-         }
 
-         //设置天数列表
 
-         private void SetDayList()
 
-         {
 
-             //7日活动配置
 
-             cfgDataArray = Activity7DaysTaskCfgArray.Instance.dataArray;
 
-             _ui.m_DayList.numItems = cfgDataArray.Length;
 
-         }
 
-         private void FreshGetStatus()
 
-         {
 
-             components.ForEach(com =>
 
-             {
 
-                 var item = UI_ExpProcessItem.Create(com);
 
-                 var cfg = (Activity7DaysCfg)item.target.data;
 
-                 var cfgID = cfg.id;
 
-                 var state = ActivityDay7DataManager.Instance.GetActivityDay7RewardState(cfgID);
 
-                 item.m_c2.selectedIndex = state ? 1 : 0;
 
-             });
 
-         }
 
-         private async void OnBtnGetClick(EventContext context)
 
-         {
 
-             if (!(context.sender is GObject btnGet)) return;
 
-             var result = await TaskSProxy.GetTaskBonus((int)btnGet.data);
 
-             if (!result) return;
 
-             SetTasks();
 
-         }
 
-         private async void OnClickReward(EventContext context)
 
-         {
 
-             if (!(context.sender is GObject btnGet)) return;
 
-             var activity7DaysCfg = (Activity7DaysCfg)btnGet.data;
 
-             var id = activity7DaysCfg.id;
 
-             var get = ActivityDay7DataManager.Instance.GetActivityDay7RewardState(id);
 
-             if (get)
 
-             {
 
-                 PromptController.Instance.ShowFloatTextPrompt("已领取过了");
 
-                 return;
 
-             }
 
-             //判断积分是否够
 
-             var score = ActivityDay7DataManager.Instance.GetScore();
 
-             if (score < activity7DaysCfg.score)
 
-             {
 
-                 PromptController.Instance.ShowFloatTextPrompt("积分还不够");
 
-                 return;
 
-             }
 
-             var result = await ActivityDay7SProxy.ReqGetActivityDay7Reward(activity7DaysCfg);
 
-             if (!result) return;
 
-             FreshGetStatus();
 
-         }
 
-     }
 
- }
 
 
  |