Example #1
0
    /// <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);
    }
Example #2
0
    /// <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;
    }
Example #3
0
    /// <summary>
    /// Allows us to draw each item in the list
    /// </summary>
    /// <param name="rRect"></param>
    /// <param name="rIndex"></param>
    /// <param name="rIsActive"></param>
    /// <param name="rIsFocused"></param>
    private void DrawEffectListItem(Rect rRect, int rIndex, bool rIsActive, bool rIsFocused)
    {
        if (rIndex < mTarget._Effects.Count)
        {
            ActorCoreEffect lItem = mTarget._Effects[rIndex];
            if (lItem == null)
            {
                EditorGUI.LabelField(rRect, "NULL");
                return;
            }

            rRect.y += 2;

            string lName = lItem.Name;
            if (lName.Length == 0)
            {
                lName = BaseNameAttribute.GetName(lItem.GetType());
            }

            Rect lNameRect = new Rect(rRect.x, rRect.y, rRect.width, EditorGUIUtility.singleLineHeight);
            EditorGUI.LabelField(lNameRect, lName);
        }
    }