| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228 |
- using UnityEngine;
- using FairyGUI;
- using UI.OpenServerActivity;
- using UI.CommonGame;
- using System.Collections.Generic;
- using System.Linq;
- using cfg.GfgCfg;
- 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>() { ConstItemID.GET_TICKETS });
- _activityType = (int)this.viewData;
- StudioDataManager.Instance.VIEW_NAME = typeof(OpenServerStoryView).FullName;
- StudioDataManager.Instance.PROPERTY_SELECT_INDEX = _activityType;
- _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("sdcy_jq_bg");
- _activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(_activityType);
- _activityCfg = CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(_activityId);
- _storyLevelCfgs.Clear();
- _ui.m_list.numItems = _activityCfg.Params1.Count;
- }
- 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 =
- CommonDataManager.Tables.TblActivityStoryCfg.GetOrDefault(_activityCfg.Params4[index]);
- var storyLevelCfg = CommonDataManager.Tables.TblStoryLevelCfg.DataList
- .Where(a => a.Type == activityStoryCfg.Type &&
- a.SubType == activityStoryCfg.SubType &&
- a.ChapterId == _activityCfg.Params4[index]).ToList();
- _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].BonusOnce[0].Count.ToString();
- ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(storyLevelCfg[0].BonusOnce[0].ItemId);
- 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.NeedItems[0].ItemId) ||
- ItemDataManager.ItemCollect[activityStoryCfg.NeedItems[0].ItemId] <
- activityStoryCfg.NeedItems[0].Count))
- {
- 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.NeedItems[0].ItemId) &&
- ItemDataManager.ItemCollect[activityStoryCfg.NeedItems[0].ItemId] >=
- activityStoryCfg.NeedItems[0].Count))
- {
- redVisible = true;
- }
- RedDotController.Instance.SetComRedDot(item.target, redVisible, "", posRedX, posRedY);
- if (activityStoryCfg.NeedItems.Count > 0)
- {
- int count;
- if (ItemDataManager.ItemCollect.TryGetValue(activityStoryCfg.NeedItems[0].ItemId, out count))
- {
- if (count < activityStoryCfg.NeedItems[0].Count)
- {
- item.m_openCloseType.selectedIndex = 0;
- item.m_txtNotOpenTitle.text = string.Format("收集{0}/{1}个",
- ItemDataManager.ItemCollect[activityStoryCfg.NeedItems[0].ItemId],
- activityStoryCfg.NeedItems[0].Count);
- ItemCfg itemNeedCfg =
- CommonDataManager.Tables.TblItemCfg.GetOrDefault(activityStoryCfg.NeedItems[0].ItemId);
- 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.NeedItems[0].Count);
- ItemCfg itemNeedCfg =
- CommonDataManager.Tables.TblItemCfg.GetOrDefault(activityStoryCfg.NeedItems[0].ItemId);
- 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 =
- CommonDataManager.Tables.TblActivityStoryCfg.GetOrDefault(_activityCfg.Params4[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.NeedItems[0].ItemId, out count))
- {
- if (count < activityStoryCfg.NeedItems[0].Count)
- {
- PromptController.Instance.ShowFloatTextPrompt("需收集物达到开启需求");
- return;
- }
- }
- else
- {
- PromptController.Instance.ShowFloatTextPrompt("需收集物达到开启需求");
- return;
- }
- }
- MainStoryDataManager.currentLevelCfgId = storyLevelCfg.Id;
- InstanceZonesController.ShowLevelView(storyLevelCfg.Id,
- StudioDataManager.Instance.OnFinishStudioStoryLevel);
- }
- }
- }
|