Esempio n. 1
0
    bool ShowRemoveButton(DriveObject.ValueEvent valueEvent)
    {
        if (GUILayout.Button("-", EditorStyles.miniButtonLeft, miniButtonWidth))
        {
            return(true);
        }

        return(false);
    }
Esempio n. 2
0
    void ShowValueEvents()
    {
        GUILayout.Space(10);

        MyEditorTools.BeginHorizontal();

        bool eventsBool = EditorGUILayout.BeginFoldoutHeaderGroup(drive.eventsBool, "Value Event Actions");

        EditorGUILayout.EndFoldoutHeaderGroup();

        MyEditorTools.ShowRefrenceButton(drive.valueEventsParent.gameObject);

        MyEditorTools.EndHorizontal();

        if (drive.eventsBool != eventsBool)
        {
            Undo.RecordObject(drive, "Toggled eventsBool");
            drive.eventsBool = eventsBool;
        }

        GUILayout.Space(10);

        if (drive.eventsBool)
        {
            UpdateValueEventBools(ref drive.ValueEventsBools);


            for (int i = 0; i < drive.valueEvents.Count; i++)
            {
                DriveObject.ValueEvent tempValEvent = ShowValueEvent(drive.valueEvents[i], i);

                if (tempValEvent == null)
                {
                    drive.RemoveValueEvent(drive.valueEvents[i]);
                    return;
                }

                drive.valueEvents[i] = tempValEvent;
            }

            if (GUILayout.Button("New Value Event"))
            {
                drive.CreateValueEvent();
            }
        }
    }
Esempio n. 3
0
    void ShowRangeArea(ref DriveObject.ValueEvent valueEvent)
    {
        MyEditorTools.BeginHorizontal();

        FloatRange tempRange = valueEvent.floatToBoolean.GetActivationRange();

        tempRange.minimum = EditorGUILayout.FloatField(tempRange.minimum, EditorStyles.numberField, miniFeildWidth);

        EditorGUILayout.MinMaxSlider(ref tempRange.minimum, ref tempRange.maximum, 0, 1);

        tempRange.maximum = EditorGUILayout.FloatField(tempRange.maximum, EditorStyles.numberField, miniFeildWidth);

        if (tempRange.maximum > 1)
        {
            tempRange.maximum = 1;
        }

        valueEvent.floatToBoolean.SetActivationRange(tempRange);

        MyEditorTools.EndHorizontal();
    }
Esempio n. 4
0
    DriveObject.ValueEvent ShowValueEvent(DriveObject.ValueEvent valueEvent, int i)
    {
        MyEditorTools.BeginHorizontal();

        drive.ValueEventsBools[i] = EditorGUILayout.BeginFoldoutHeaderGroup(drive.ValueEventsBools[i], "Positive Bounds");
        EditorGUILayout.EndFoldoutHeaderGroup();

        ShowRangeArea(ref valueEvent);

        if (ShowRemoveButton(valueEvent))
        {
            return(null);
        }

        MyEditorTools.EndHorizontal();

        if (drive.ValueEventsBools[i])
        {
            ShowValueEvents(valueEvent.booleanAction);
        }

        return(valueEvent);
    }