/// <summary> /// Renders the currently selected step /// </summary> /// <param name="rStep"></param> private bool DrawEffectDetailItem(ActorCoreEffect rItem) { bool lIsDirty = false; if (rItem == null) { EditorGUILayout.LabelField("NULL"); return(false); } if (rItem.Name.Length > 0) { EditorHelper.DrawSmallTitle(rItem.Name.Length > 0 ? rItem.Name : "Actor Core Effect"); } else { string lName = BaseNameAttribute.GetName(rItem.GetType()); EditorHelper.DrawSmallTitle(lName.Length > 0 ? lName : "Actor Core Effect"); } // Render out the Effect specific inspectors bool lIsEffectDirty = rItem.OnInspectorGUI(mTarget); if (lIsEffectDirty) { lIsDirty = true; } if (lIsDirty) { mTarget._EffectDefinitions[mEffectList.index] = rItem.Serialize(); } return(lIsDirty); }
/// <summary> /// Allows us to add to a list /// </summary> /// <param name="rList"></param> private void OnEffectListItemAdd(ReorderableList rList) { if (mEffectIndex >= mEffectTypes.Count) { return; } ActorCoreEffect lItem = Activator.CreateInstance(mEffectTypes[mEffectIndex]) as ActorCoreEffect; lItem.ActorCore = mTarget; mTarget._Effects.Add(lItem); mTarget._EffectDefinitions.Add(lItem.Serialize()); mEffectList.index = mTarget._Effects.Count - 1; OnEffectListItemSelect(rList); mIsDirty = true; }