123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- using System.Collections.Generic;
- using System.Linq;
- using Core.Language;
- using Excel2Json;
- using Fort23.Core;
- using Fort23.UTool;
- using GameLogic.Bag;
- using GameLogic.Player;
- namespace Fort23.Mono
- {
- [UIBinding(prefab = "TaskInfoPanel")]
- public partial class TaskInfoPanel : UIPanel
- {
- List<WidgetItem> widgetItems = new List<WidgetItem>();
- private void Init()
- {
- isAddStack = false;
- }
- protected override void AddEvent()
- {
- }
- protected override void DelEvent()
- {
- }
- public override void AddButtonEvent()
- {
- Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
- }
- public async void CustomInit(AccountFileInfo.EventList eventList)
- {
- EventConfig taskConfig = ConfigComponent.Instance.Get<EventConfig>(eventList.eventID);
- Text_Name.text = LanguageManager.Instance.Text(taskConfig.EventName);
- Text_desc.text = LanguageManager.Instance.Text(taskConfig.Description);
- EventLinkConfig evenkConfig = ConfigComponent.Instance.Get<EventLinkConfig>(eventList.curStep);
- AccountFileInfo.EventLinkData eventLinkData = eventList.eventLinks.FirstOrDefault(el => el.eventLinkId == eventList.curStep);
- if (eventLinkData == null || eventLinkData.eventConditions == null || eventLinkData.eventConditions.Count == 0)
- {
- Text_Condition.text = LanguageManager.Instance.Text(evenkConfig.EventConditionMessage);
- }
- else
- {
- string desc = "";
- foreach (var eventConditionData in eventLinkData.eventConditions)
- {
- desc += EventHelper.GetTaskMessage(eventConditionData) + "\n";
- }
- Text_Condition.text = desc;
- }
- if (taskConfig.PrizeIDs != null)
- {
- List<ItemInfo> itemInfos = new List<ItemInfo>();
- for (var i = 0; i < taskConfig.PrizeIDs.Length; i++)
- {
- DropConfig dropConfig = ConfigComponent.Instance.Get<DropConfig>(taskConfig.PrizeIDs[i]);
- if (dropConfig.dropType == 3)
- {
- ItemInfo itemInfo = new ItemInfo(dropConfig.dropGroupID[0], taskConfig.PrizeNums[i]);
- itemInfos.Add(itemInfo);
- }
- else
- {
- List<ItemInfo> items = DropManager.Instance.DropItem(taskConfig.PrizeNums[i]);
- itemInfos.AddRange(items);
- }
- }
- foreach (var itemInfo in itemInfos)
- {
- WidgetItem widgetItem = await UIManager.Instance.CreateGComponent<WidgetItem>(null, root: ItemRoot);
- widgetItem.InitWidget(itemInfo);
- widgetItems.Add(widgetItem);
- }
- }
- }
- public async static CTask<TaskInfoPanel> OpenPanel(AccountFileInfo.EventList eventList)
- {
- TaskInfoPanel taskInfoPanel = await UIManager.Instance.LoadAndOpenPanel<TaskInfoPanel>(null, UILayer.Top);
- taskInfoPanel.CustomInit(eventList);
- return taskInfoPanel;
- }
- public override void Close()
- {
- foreach (var widgetItem in widgetItems)
- {
- UIManager.Instance.DormancyGComponent(widgetItem);
- }
- widgetItems.Clear();
- base.Close();
- }
- }
- }
|