123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- using System;
- using System.Linq;
- using Core.Language;
- using Excel2Json;
- using Fort23.UTool;
- using UnityEngine;
- using UnityEngine.UI;
- namespace Fort23.Mono
- {
- [UIBinding(prefab = "DialogueOptionWidget")]
- public partial class DialogueOptionWidget : UIComponent
- {
- public EventConditionConfig eventConditionConfig;
- private Action<DialogueOptionWidget> callback;
- public int type;
- private void Init()
- {
- }
- public override void AddEvent()
- {
- }
- public override void DelEvent()
- {
- }
- public override void AddButtonEvent()
- {
- OptionWidget.onClick.AddListener(() => { callback?.Invoke(this); });
- }
- public void CustomInit(int id, int mainOpid, Action<DialogueOptionWidget> callback)
- {
- type = 1;
- eventConditionConfig = ConfigComponent.Instance.Get<EventConditionConfig>(id);
- var mainEventConditionConfig = ConfigComponent.Instance.Get<EventConditionConfig>(mainOpid);
- int index = mainEventConditionConfig.optionPara1.ToList().IndexOf(eventConditionConfig.ID);
- Text_desc.text = LanguageManager.Instance.Text(mainEventConditionConfig.optionPara2[index]);
- this.callback = callback;
- if (!EventSystemManager.Instance.CheckCondition(eventConditionConfig.ConditionType, eventConditionConfig.ConditionPara))
- {
- transform.Gray();
- }
- else
- {
- transform.RecoverColor();
- }
- LayoutRebuilder.ForceRebuildLayoutImmediate(Text_desc.GetComponent<RectTransform>());
- LayoutRebuilder.ForceRebuildLayoutImmediate(transform);
- }
- public void CustomInit(Action<DialogueOptionWidget> callback)
- {
- type = 2;
- Text_desc.text = "取消事件";
- this.callback = callback;
- transform.RecoverColor();
- LayoutRebuilder.ForceRebuildLayoutImmediate(Text_desc.GetComponent<RectTransform>());
- LayoutRebuilder.ForceRebuildLayoutImmediate(transform);
- }
- }
- }
|