123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 |
- using UnityEngine;
- using FairyGUI;
- using UI.OpenServerActivity;
- using UI.CommonGame;
- using System.Collections.Generic;
- namespace GFGGame
- {
- public class OpenServerStoryView : BaseWindow
- {
- private UI_OpenServerStoryUI _ui;
- private Dictionary<int,List<StoryLevelCfg>> _storyLevelCfgs = new Dictionary<int, List<StoryLevelCfg>>();
- private int _activityId;
- private int _activityType;
- private ActivityOpenCfg _activityCfg;
- private ValueBarController _valueBarController;
- public override void Dispose()
- {
- if (_valueBarController != null)
- {
- _valueBarController.Dispose();
- _valueBarController = null;
- }
- if (_ui != null)
- {
- _ui.Dispose();
- _ui = null;
- }
- base.Dispose();
- }
- protected override void Init()
- {
- base.Init();
- }
- protected override void OnInit()
- {
- base.OnInit();
- packageName = UI_OpenServerStoryUI.PACKAGE_NAME;
- _ui = UI_OpenServerStoryUI.Create();
- viewCom = _ui.target;
- isfullScreen = true;
- isReturnView = true;
- _valueBarController = new ValueBarController(_ui.m_valueBar);
- _ui.m_btnBack.onClick.Add(OnClickBtnBack);
- _ui.m_list.itemRenderer = RenderListItem;
- }
- protected override void AddEventListener()
- {
- base.AddEventListener();
- }
- protected override void OnShown()
- {
- base.OnShown();
- _valueBarController.OnShown();
- _valueBarController.UpdateList(new List<int>() { 3008010 });
- _activityType = (int)this.viewData;
- StudioDataManager.Instance.VIEW_NAME = typeof(OpenServerStoryView).FullName;
- StudioDataManager.Instance.PROPERTY_SELECT_INDEX = _activityType;
- _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("bg_jxwj");
- _activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(_activityType);
- _activityCfg = ActivityOpenCfgArray.Instance.GetCfg(_activityId);
- _storyLevelCfgs.Clear();
- _ui.m_list.numItems = _activityCfg.params4Arr.Length;
- }
- protected override void OnHide()
- {
- base.OnHide();
- _valueBarController.OnHide();
- }
- protected override void RemoveEventListener()
- {
- base.RemoveEventListener();
- }
- private void OnClickBtnBack()
- {
- ViewManager.GoBackFrom(typeof(OpenServerStoryView).FullName);
- }
- private void RenderListItem(int index, GObject obj)
- {
- int posRedX = -130;
- int posRedY = 30;
- bool redVisible = false;
- UI_StoryItem item = UI_StoryItem.Proxy(obj);
- ActivityStoryCfg activityStoryCfg = ActivityStoryCfgArray.Instance.GetCfg(_activityCfg.params4Arr[index]);
- var storyLevelCfg = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(activityStoryCfg.type, activityStoryCfg.subType, _activityCfg.params4Arr[index]);
- _storyLevelCfgs.Add(index, storyLevelCfg);
- item.m_posType.selectedIndex = index % 2;
- item.m_txtTitle.text = activityStoryCfg.name;
- item.m_txtNumber.text = "0" + (index + 1);
- item.m_rewardItem.m_txtCount.text = storyLevelCfg[0].bonusOnceArr[0][1].ToString();
- ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(storyLevelCfg[0].bonusOnceArr[0][0]);
- item.m_rewardItem.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg);
- if (item.m_rewardItem.target.data == null)
- item.m_rewardItem.target.onClick.Add(OnClickIcon);
- item.m_rewardItem.target.data = itemCfg.id;
- if (index > 0 && (!InstanceZonesDataManager.CheckLevelPass(_storyLevelCfgs[index - 1][0].id) || !ItemDataManager.ItemCollect.ContainsKey(activityStoryCfg.needItemsArr[0][0]) || ItemDataManager.ItemCollect[activityStoryCfg.needItemsArr[0][0]] < activityStoryCfg.needItemsArr[0][1]))
- {
- item.m_storyImageType.selectedIndex = 0;
- }
- else {
- item.m_storyImageType.selectedIndex = index + 1;
- }
- if (item.m_posType.selectedIndex == 1) {
- posRedX = -52;
- posRedY = 30;
- }
- if ((index == 0 && !InstanceZonesDataManager.CheckLevelPass(_storyLevelCfgs[index][0].id)) || (index > 0 && InstanceZonesDataManager.CheckLevelPass(_storyLevelCfgs[index - 1][0].id) && !InstanceZonesDataManager.CheckLevelPass(_storyLevelCfgs[index][0].id) && ItemDataManager.ItemCollect.ContainsKey(activityStoryCfg.needItemsArr[0][0]) && ItemDataManager.ItemCollect[activityStoryCfg.needItemsArr[0][0]] >= activityStoryCfg.needItemsArr[0][1]))
- {
- redVisible = true;
- }
- RedDotController.Instance.SetComRedDot(item.target, redVisible, "", posRedX, posRedY);
- if (activityStoryCfg.needItemsArr.Length > 0) {
- int count;
- if (ItemDataManager.ItemCollect.TryGetValue(activityStoryCfg.needItemsArr[0][0], out count))
- {
- if (count < activityStoryCfg.needItemsArr[0][1])
- {
- item.m_openCloseType.selectedIndex = 0;
- item.m_txtNotOpenTitle.text = string.Format("收集{0}/{1}个", ItemDataManager.ItemCollect[activityStoryCfg.needItemsArr[0][0]], activityStoryCfg.needItemsArr[0][1]);
- ItemCfg itemNeedCfg = ItemCfgArray.Instance.GetCfg(activityStoryCfg.needItemsArr[0][0]);
- item.m_loaNeedIcon.url = ResPathUtil.GetIconPath(itemNeedCfg);
- }
- else
- {
- item.m_openCloseType.selectedIndex = 1;
- }
- }
- else
- {
- item.m_openCloseType.selectedIndex = 0;
- item.m_txtNotOpenTitle.text = string.Format("收集{0}/{1}个", 0, activityStoryCfg.needItemsArr[0][1]);
- ItemCfg itemNeedCfg = ItemCfgArray.Instance.GetCfg(activityStoryCfg.needItemsArr[0][0]);
- item.m_loaNeedIcon.url = ResPathUtil.GetIconPath(itemNeedCfg);
- }
- }
- if (item.m_loaItemBg.data == null)
- item.m_loaItemBg.onClick.Add(OnClickBtnPlay);
- item.m_loaItemBg.data = index;
- UI_StoryItem.ProxyEnd();
- }
- private void OnClickIcon(EventContext context)
- {
- GObject obj = context.sender as GObject;
- int itemId = (int)obj.data;
- GoodsItemTipsController.ShowItemTips(itemId);
- }
- private void OnClickBtnPlay(EventContext context)
- {
- GObject obj = context.sender as GObject;
- int index = (int)obj.data;
- ActivityStoryCfg activityStoryCfg = ActivityStoryCfgArray.Instance.GetCfg(_activityCfg.params4Arr[index]);
- StoryLevelCfg storyLevelCfg = _storyLevelCfgs[index][0];
- if (index > 0 && !InstanceZonesDataManager.CheckLevelPass(_storyLevelCfgs[index - 1][0].id))
- {
- PromptController.Instance.ShowFloatTextPrompt("需通关前置关卡");
- return;
- }
- if (index > 0)
- {
- int count;
- if (ItemDataManager.ItemCollect.TryGetValue(activityStoryCfg.needItemsArr[0][0], out count))
- {
- if (count < activityStoryCfg.needItemsArr[0][1])
- {
- PromptController.Instance.ShowFloatTextPrompt("需收集物达到开启需求");
- return;
- }
- }
- else
- {
- PromptController.Instance.ShowFloatTextPrompt("需收集物达到开启需求");
- return;
- }
- }
- MainStoryDataManager.currentLevelCfgId = storyLevelCfg.id;
- InstanceZonesController.ShowLevelView(storyLevelCfg.id, StudioDataManager.Instance.OnFinishStudioStoryLevel);
- }
- }
- }
|