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 { private AccountFileInfo.SentimentData sentimentData; List sentimentEffectWidgets = new List(); private void Init() { } 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); 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) { Text_Name.text = LanguageManager.Instance.Text(sentimentEffectConfig.name); // Text_Desc.text = UtilTools.GetString(sentimentEffectConfig.) } private void OnClick(ItemWidgetBasic obj) { SentimentEffectWidget sentimentEffectWidget = obj as SentimentEffectWidget; int conFigId = sentimentEffectWidget.sentimentProperty.groupId * 100 + sentimentEffectWidget.sentimentProperty.level; SentimentEffectConfig sentimentEffectConfig = ConfigComponent.Instance.Get(conFigId); UpdateUi(sentimentEffectConfig); } public async CTask OpenPanel(AccountFileInfo.SentimentData sentimentData) { await UIManager.Instance.LoadAndOpenPanel(null, uiData: new object[] { sentimentData }); } } }