public virtual void DoUnityAxis()
    {
        // Unity Axis
        if (m_AxisFoldout)
        {
            if (m_Component.UnityAxis != null)
            {
                GUILayout.Space(10);

                GUILayout.BeginHorizontal();
                GUILayout.Space(20);
                EditorGUILayout.LabelField("Axis Name");
                GUILayout.EndHorizontal();

                for (int i = 0; i < m_Component.UnityAxis.Count; ++i)
                {
                    GUILayout.BeginHorizontal();
                    GUILayout.Space(20);

                    m_Component.UnityAxis[i] = EditorGUILayout.TextField(m_Component.UnityAxis[i]);

                    if (GUILayout.Button("Remove", vp_EditorGUIUtility.SmallButtonStyle, GUILayout.MinWidth(50), GUILayout.MaxWidth(50), GUILayout.MinHeight(15)))
                    {
                        m_Component.UnityAxis.RemoveAt(i);
                        --i;
                    }
                    GUI.backgroundColor = Color.white;

                    GUILayout.Space(20);

                    GUILayout.EndHorizontal();

                    GUILayout.Space(5);
                }
            }


            GUILayout.BeginHorizontal();
            GUILayout.Space(20);
            if (m_Component.UnityAxis.Count == 0)
            {
                EditorGUILayout.HelpBox("There are no Unity Axis. Click \"Add Unity Input Axis\" to add a new Unity Axis or \"Restore Defaults\" To restore the default Unity Axis.", MessageType.Info);
            }
            else
            {
                string type = "Mouse";
                if (m_Component.ControlType == 1)
                {
                    type = "Joystick";
                }
                EditorGUILayout.HelpBox("Due to the nature of Unity Input, Axis cannot be set for the " + type + ". Because of this, VP Input Manager will use Input.GetAxisRaw(), so you need to enter in the Axis name as it appears in Unity's Input Inspector", MessageType.Warning);
            }
            GUILayout.Space(20);
            GUILayout.EndHorizontal();


            GUILayout.Space(8f);

            GUILayout.BeginHorizontal();
            GUILayout.Space(10f);
            if (GUILayout.Button("Add Unity Input Axis", GUILayout.MinWidth(150), GUILayout.MinHeight(25)))
            {
                m_Component.AddUnityAxis("Unity Axis " + m_Component.UnityAxis.Count);
            }
            if (m_Component.UnityAxis.Count == 0)
            {
                if (GUILayout.Button("Restore Unity Axis Defaults", GUILayout.MinWidth(150), GUILayout.MinHeight(25)))
                {
                    m_Component.SetupDefaults("UnityAxis");
                }
            }
            GUI.backgroundColor = Color.white;
            GUILayout.Space(10f);
            GUILayout.EndHorizontal();

            DrawSeparator();
        }
    }
Esempio n. 2
0
    /// <summary>
    ///
    /// </summary>
    public virtual void DoUnityAxis()
    {
        // Unity Axis
        if (m_AxisFoldout)
        {
            if (m_Component.UnityAxis != null)
            {
                GUILayout.Space(10);

                GUILayout.BeginHorizontal();
                GUILayout.Space(20);
                EditorGUILayout.LabelField("Axis Name");
                GUILayout.EndHorizontal();

                for (int i = 0; i < m_Component.UnityAxis.Count; ++i)
                {
                    GUILayout.BeginHorizontal();
                    GUILayout.Space(20);

                    m_Component.UnityAxis[i] = EditorGUILayout.TextField(m_Component.UnityAxis[i]);

                    if (GUILayout.Button("Remove", vp_EditorGUIUtility.SmallButtonStyle, GUILayout.MinWidth(50), GUILayout.MaxWidth(50), GUILayout.MinHeight(15)))
                    {
                        m_Component.UnityAxis.RemoveAt(i);
                        --i;
                    }
                    GUI.backgroundColor = Color.white;

                    GUILayout.Space(20);

                    GUILayout.EndHorizontal();

                    GUILayout.Space(5);
                }
            }

            GUILayout.BeginHorizontal();
            GUILayout.Space(20);
            if (m_Component.UnityAxis.Count == 0)
            {
                EditorGUILayout.HelpBox("There are no Unity axes. Click \"Add Unity Input Axis\" to add a new Unity axis or \"Restore Defaults\" To restore the default Unity axis.", MessageType.Info);
            }
            else
            {
                EditorGUILayout.HelpBox("Axis names must be entered exactly as they appear in Unity's Input Inspector.", MessageType.Info);
            }
            GUILayout.Space(20);
            GUILayout.EndHorizontal();


            GUILayout.Space(8f);

            GUILayout.BeginHorizontal();
            GUILayout.Space(10f);
            if (GUILayout.Button("Add Unity Input Axis", GUILayout.MinWidth(150), GUILayout.MinHeight(25)))
            {
                m_Component.AddUnityAxis("Unity Axis " + m_Component.UnityAxis.Count);
            }
            if (m_Component.UnityAxis.Count == 0)
            {
                if (GUILayout.Button("Restore Unity Axis Defaults", GUILayout.MinWidth(150), GUILayout.MinHeight(25)))
                {
                    m_Component.SetupDefaults("UnityAxis");
                }
            }
            GUI.backgroundColor = Color.white;
            GUILayout.Space(10f);
            GUILayout.EndHorizontal();

            DrawSeparator();
        }
    }