1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- using System.Collections.Generic;
- 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(int taskId, string title)
- {
- TaskConfig taskConfig = ConfigComponent.Instance.Get<TaskConfig>(taskId);
- Text_Title.text = title;
- Text_Name.text = LanguageManager.Instance.Text(taskConfig.taskName);
- Text_desc.text = LanguageManager.Instance.Text(taskConfig.Description);
- if (taskConfig.awardItemId != null)
- {
- List<ItemInfo> itemInfos = new List<ItemInfo>();
- for (var i = 0; i < taskConfig.awardItemId.Length; i++)
- {
- DropConfig dropConfig = ConfigComponent.Instance.Get<DropConfig>(taskConfig.awardItemId[i]);
- if (dropConfig.dropType == 3)
- {
- ItemInfo itemInfo = new ItemInfo(dropConfig.dropGroupID[0], taskConfig.awardItemCount[i]);
- itemInfos.Add(itemInfo);
- }
- else
- {
- List<ItemInfo> items = DropManager.Instance.DropItem(taskConfig.awardItemCount[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(int taskId,string title)
- {
- TaskInfoPanel taskInfoPanel = await UIManager.Instance.LoadAndOpenPanel<TaskInfoPanel>(null,UILayer.Top);
- taskInfoPanel.CustomInit(taskId, title);
- return taskInfoPanel;
- }
- public override void Close()
- {
- foreach (var widgetItem in widgetItems)
- {
- UIManager.Instance.DormancyGComponent(widgetItem);
- }
- widgetItems.Clear();
- base.Close();
- }
- }
- }
|