protected override void OnInitialized() { base.OnInitialized(); if (!typeof(GOAPAction).IsAssignableFrom(T_Model.GetType())) { return; } for (int i = 0; i < T_Model.Preconditions.Count; i++) { VisualElement v = CreateToggle(T_Model.Preconditions[i], (ele, state) => { T_Model.RemovePrecondition(state); ele.RemoveFromHierarchy(); }); conditionFoldout.Add(v); ConditionElements[T_Model.Preconditions[i]] = v; } for (int i = 0; i < T_Model.Effects.Count; i++) { VisualElement v = CreateToggle(T_Model.Effects[i], (ele, state) => { T_Model.RemoveEffect(state); ele.RemoveFromHierarchy(); }); effectFoldout.Add(v); EffectElements[T_Model.Effects[i]] = v; } }
void OnEffectAdded(GOAPState _newEffect) { VisualElement v = CreateToggle(_newEffect, (ele, state) => { T_Model.RemoveEffect(state); }); effectFoldout.Add(v); EffectElements[_newEffect] = v; }