using System.Collections.Generic; using Core.Language; using Excel2Json; using Fort23.Core; using Fort23.UTool; using Utility; namespace Fort23.Mono { [UIBinding(prefab = "SentimentInfoPanel")] public partial class SentimentInfoPanel : UIPanel { AccountFileInfo.SentimentProperty curretnSentimentProperty; private AccountFileInfo.SentimentData sentimentData; List sentimentEffectWidgets = new List(); private void Init() { isAddStack = false; isPopUi = true; } protected override void AddEvent() { } protected override void DelEvent() { } public override void AddButtonEvent() { Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); }); } public async override CTask AsyncInit(object[] uiData) { sentimentData = uiData[0] as AccountFileInfo.SentimentData; SentimentEffectWidget sentimentEffectWidget = await UIManager.Instance.CreateGComponentForObject(MainSentimentEffectWidget, null); sentimentEffectWidget.CustomInit(sentimentData.mainSentiment); sentimentEffectWidget.OnClick = OnClick; foreach (var sentimentDataSentimentProperty in sentimentData.sentimentProperties) { SentimentEffectWidget sentimentEffectWidget1 = await UIManager.Instance.CreateGComponent(null, Content); sentimentEffectWidget1.CustomInit(sentimentDataSentimentProperty); sentimentEffectWidget1.OnClick = OnClick; sentimentEffectWidgets.Add(sentimentEffectWidget1); } return await base.AsyncInit(uiData); } // private void UpdateUi(SentimentEffectConfig sentimentEffectConfig) // { // // } private void OnClick(ItemWidgetBasic obj) { SentimentEffectWidget sentimentEffectWidget = obj as SentimentEffectWidget; curretnSentimentProperty = sentimentEffectWidget.sentimentProperty; int conFigId = sentimentEffectWidget.sentimentProperty.groupId * 100 + sentimentEffectWidget.sentimentProperty.level; SentimentEffectConfig sentimentEffectConfig = ConfigComponent.Instance.Get(conFigId); Text_Name.text = LanguageManager.Instance.Text(sentimentEffectConfig.name); Text_Desc.text = UtilTools.GetString(LanguageManager.Instance.Text(sentimentEffectConfig.massge), sentimentEffectConfig.effectVale); Text_Level.text = $"当前层 ;{curretnSentimentProperty.level}/{5}"; // UpdateUi(sentimentEffectConfig); } public static async CTask OpenPanel(AccountFileInfo.SentimentData sentimentData) { await UIManager.Instance.LoadAndOpenPanel(null, uiData: new object[] { sentimentData }); } public override void Close() { foreach (var sentimentEffectWidget in sentimentEffectWidgets) { UIManager.Instance.DormancyGComponent(sentimentEffectWidget); } sentimentEffectWidgets.Clear(); base.Close(); } } }