Пример #1
0
    void DrawStateInfo()
    {
        GUI.SetNextControlName("Renamer");
        temp_name = GUILayout.TextField(temp_name);

        transition_list.list = state_machine.GetTransitions(states[focused_state_id]);
        transition_list.DoLayoutList();

        if (transition_list.index != -1)
        {
            DrawConditionList(transition_list.GetCurrent <Transition>());
        }
    }
Пример #2
0
 void RemoveConditionFromFocused(ReorderableList condition_list)
 {
     if (IsTransitionFocused(focused_transition_id_from, focused_transition_id_to))
     {
         state_machine.GetTransition(states[focused_transition_id_from], states[focused_transition_id_to]).RemoveCondition(condition_list.GetCurrent <Condition>());
     }
     else if (focused_state_id != -1)
     {
         transition_list.GetCurrent <Transition>().RemoveCondition(condition_list.GetCurrent <Condition>());
     }
 }
Пример #3
0
    void PreGUIEventHandler()
    {
        if (side_panel_view == SidePanelView.state)
        {
            if (GUI.GetNameOfFocusedControl() == "Renamer")
            {
                if (Event.current.type == EventType.KeyDown && (Event.current.keyCode == KeyCode.Return || Event.current.keyCode == KeyCode.KeypadEnter))
                {
                    state_machine.RenameState(states[focused_state_id], temp_name);
                    Event.current.Use();
                }
                if (Event.current.button == 0 && Event.current.type == EventType.MouseDown)
                {
                    GUI.FocusControl(null);
                    Repaint();
                }
            }
            else if (states.ContainsKey(focused_state_id))
            {
                temp_name = states[focused_state_id].name;
            }
            parameter_list.index = -1;
        }

        if (side_panel_view == SidePanelView.parameters)
        {
            if (GUI.GetNameOfFocusedControl() == "ParameterTextField")
            {
                if (Event.current.type == EventType.KeyDown && (Event.current.keyCode == KeyCode.Return || Event.current.keyCode == KeyCode.KeypadEnter))
                {
                    state_machine.RenameParameter(parameter_list.GetCurrent <Parameter>(), temp_name);
                    edit_parameter = -1;
                    Event.current.Use();
                }
                if (Event.current.button == 0 && Event.current.type == EventType.MouseDown)
                {
                    edit_parameter = -1;
                    GUI.FocusControl(null);
                    Repaint();
                }
            }
            condition_list.index  = -1;
            transition_list.index = -1;
        }

        if (making_state_transition)
        {
            if (Event.current.type == EventType.MouseDown)
            {
                cancel_transition = true;
            }
        }
    }