示例#1
0
    public override void OnInspectorGUI()
    {
        EasyFingerGestues t = (EasyFingerGestues)target;

        t.showProperties = HTEditorToolKit.DrawTitleFoldOut(t.showProperties, "Finger Gestues properties");
        if (t.showProperties)
        {
            t.enable = EditorGUILayout.Toggle("Enable Gestues", t.enable);

            HTEditorToolKit.DrawSeparatorLine();
            EditorGUILayout.Separator();

            t.InputAreaCenter = EditorGUILayout.Vector2Field("Area Center", t.InputAreaCenter);
            t.InputAreaSize   = EditorGUILayout.Vector2Field("Area radius", t.InputAreaSize);

            EditorGUILayout.Separator();
        }
    }
    public override void OnInspectorGUI()
    {
        EasyJoystick t = (EasyJoystick)target;

        // Joystick Properties
        t.showProperties = HTEditorToolKit.DrawTitleFoldOut(t.showProperties, "Joystick properties");
        if (t.showProperties)
        {
            EditorGUILayout.BeginVertical(paddingStyle1);

            t.name            = EditorGUILayout.TextField("Joystick name", t.name);
            t.enable          = EditorGUILayout.Toggle("Enable joystick", t.enable);
            t.isActivated     = EditorGUILayout.Toggle("Activated", t.isActivated);
            t.showDebugRadius = EditorGUILayout.Toggle("Show debug area", t.showDebugRadius);

            HTEditorToolKit.DrawSeparatorLine(paddingStyle1.padding.left);
            EditorGUILayout.Separator();

            t.useFixedUpdate = EditorGUILayout.Toggle("Use fixed update", t.useFixedUpdate);
            t.isUseGuiLayout = EditorGUILayout.Toggle("Use GUI Layout", t.isUseGuiLayout);
            if (!t.isUseGuiLayout)
            {
                EditorGUILayout.HelpBox("This lets you skip the GUI layout phase (Increase GUI performance). It can only be used if you do not use GUI.Window and GUILayout inside of this OnGUI call.", MessageType.Warning);
            }
            EditorGUILayout.EndVertical();
        }

        t.showPosition = HTEditorToolKit.DrawTitleFoldOut(t.showPosition, "Joystick position & size");
        if (t.showPosition)
        {
            // Dynamic joystick
            t.DynamicJoystick = EditorGUILayout.Toggle("Dynamic joystick", t.DynamicJoystick);
            if (t.DynamicJoystick)
            {
                t.area = (EasyJoystick.DynamicArea)EditorGUILayout.EnumPopup("Free area", t.area);
            }
            else
            {
                t.JoyAnchor = (EasyJoystick.JoystickAnchor)EditorGUILayout.EnumPopup("Anchor", t.JoyAnchor);
                t.JoystickPositionOffset = EditorGUILayout.Vector2Field("Offset", t.JoystickPositionOffset);
            }

            HTEditorToolKit.DrawSeparatorLine(paddingStyle1.padding.left);
            EditorGUILayout.Separator();

            t.ZoneRadius      = EditorGUILayout.FloatField("Area radius", t.ZoneRadius);
            t.TouchSize       = EditorGUILayout.FloatField("Touch radius", t.TouchSize);
            t.RestrictArea    = EditorGUILayout.Toggle("    Restrict to area", t.RestrictArea);
            t.resetFingerExit = EditorGUILayout.Toggle("    Reset  finger exit", t.resetFingerExit);
            t.deadZone        = EditorGUILayout.FloatField("Dead zone radius", t.deadZone);
        }

        // Joystick axes properties
        t.showInteraction = HTEditorToolKit.DrawTitleFoldOut(t.showInteraction, "Joystick axes properties & events");
        if (t.showInteraction)
        {
            EditorGUILayout.BeginVertical(paddingStyle1);

            // Interaction
            t.Interaction = (EasyJoystick.InteractionType)EditorGUILayout.EnumPopup("Interaction type", t.Interaction);

            if (t.Interaction == EasyJoystick.InteractionType.EventNotification || t.Interaction == EasyJoystick.InteractionType.DirectAndEvent)
            {
                t.useBroadcast = EditorGUILayout.Toggle("Broadcast messages", t.useBroadcast);
                if (t.useBroadcast)
                {
                    t.receiverGameObject = (GameObject)EditorGUILayout.ObjectField("    Receiver gameobject", t.receiverGameObject, typeof(GameObject), true);
                    t.messageMode        = (EasyJoystick.Broadcast)EditorGUILayout.EnumPopup("    Sending mode", t.messageMode);
                }
            }

            HTEditorToolKit.DrawSeparatorLine(paddingStyle1.padding.left);

            // X axis
            GUI.color     = new Color(255f / 255f, 69f / 255f, 40f / 255f);
            t.enableXaxis = EditorGUILayout.BeginToggleGroup("Enable X axis", t.enableXaxis);
            GUI.color     = Color.white;
            if (t.enableXaxis)
            {
                EditorGUILayout.BeginVertical(paddingStyle1);
                t.speed.x      = EditorGUILayout.FloatField("Speed", t.speed.x);
                t.inverseXAxis = EditorGUILayout.Toggle("Inverse axis", t.inverseXAxis);
                EditorGUILayout.Separator();

                if (t.Interaction == EasyJoystick.InteractionType.Direct || t.Interaction == EasyJoystick.InteractionType.DirectAndEvent)
                {
                    t.XAxisTransform = (Transform)EditorGUILayout.ObjectField("Joystick X to", t.XAxisTransform, typeof(Transform), true);
                    if (t.XAxisTransform != null)
                    {
                        // characterCollider
                        if (t.XAxisTransform.GetComponent <CharacterController>() && (t.XTI == EasyJoystick.PropertiesInfluenced.Translate || t.XTI == EasyJoystick.PropertiesInfluenced.TranslateLocal))
                        {
                            EditorGUILayout.HelpBox("CharacterController detected", MessageType.Info);
                            t.xAxisGravity = EditorGUILayout.FloatField("Gravity", t.xAxisGravity);
                        }
                        else
                        {
                            t.xAxisGravity = 0;
                        }
                        t.XTI = (EasyJoystick.PropertiesInfluenced)EditorGUILayout.EnumPopup("Influenced", t.XTI);

                        switch (t.xAI)
                        {
                        case EasyJoystick.AxisInfluenced.X:
                            GUI.color = new Color(255f / 255f, 69f / 255f, 40f / 255f);
                            break;

                        case EasyJoystick.AxisInfluenced.Y:
                            GUI.color = Color.green;
                            break;

                        case EasyJoystick.AxisInfluenced.Z:
                            GUI.color = new Color(63f / 255f, 131f / 255f, 245f / 255f);
                            break;
                        }

                        t.xAI     = (EasyJoystick.AxisInfluenced)EditorGUILayout.EnumPopup("Axis influenced", t.xAI);
                        GUI.color = Color.white;

                        EditorGUILayout.Separator();



                        if (t.XTI == EasyJoystick.PropertiesInfluenced.RotateLocal)
                        {
                            // auto stab
                            t.enableXAutoStab = EditorGUILayout.Toggle("AutoStab", t.enableXAutoStab);
                            if (t.enableXAutoStab)
                            {
                                EditorGUILayout.BeginVertical(paddingStyle1);
                                t.ThresholdX = EditorGUILayout.FloatField("Threshold ", t.ThresholdX);
                                t.StabSpeedX = EditorGUILayout.FloatField("Speed", t.StabSpeedX);
                                EditorGUILayout.EndVertical();
                            }

                            EditorGUILayout.Separator();

                            // Clamp
                            t.enableXClamp = EditorGUILayout.Toggle("Clamp rotation", t.enableXClamp);
                            if (t.enableXClamp)
                            {
                                EditorGUILayout.BeginVertical(paddingStyle1);
                                t.clampXMax = EditorGUILayout.FloatField("Max angle value", t.clampXMax);
                                t.clampXMin = EditorGUILayout.FloatField("Min angle value", t.clampXMin);
                                EditorGUILayout.EndVertical();
                            }
                        }
                    }
                }
                EditorGUILayout.EndVertical();
            }
            EditorGUILayout.EndToggleGroup();

            HTEditorToolKit.DrawSeparatorLine(paddingStyle1.padding.left);

            // Y axis
            GUI.color     = Color.green;
            t.enableYaxis = EditorGUILayout.BeginToggleGroup("Enable Y axis", t.enableYaxis);
            GUI.color     = Color.white;
            if (t.enableYaxis)
            {
                EditorGUILayout.BeginVertical(paddingStyle1);
                t.speed.y      = EditorGUILayout.FloatField("Speed", t.speed.y);
                t.inverseYAxis = EditorGUILayout.Toggle("Inverse axis", t.inverseYAxis);
                EditorGUILayout.Separator();

                if (t.Interaction == EasyJoystick.InteractionType.Direct || t.Interaction == EasyJoystick.InteractionType.DirectAndEvent)
                {
                    t.YAxisTransform = (Transform)EditorGUILayout.ObjectField("Joystick Y to", t.YAxisTransform, typeof(Transform), true);
                    if (t.YAxisTransform != null)
                    {
                        // characterCollider
                        if (t.YAxisTransform.GetComponent <CharacterController>() && (t.YTI == EasyJoystick.PropertiesInfluenced.Translate || t.YTI == EasyJoystick.PropertiesInfluenced.TranslateLocal))
                        {
                            EditorGUILayout.HelpBox("CharacterController detected", MessageType.Info);
                            t.yAxisGravity = EditorGUILayout.FloatField("Gravity", t.yAxisGravity);
                        }
                        else
                        {
                            t.yAxisGravity = 0;
                        }
                        t.YTI = (EasyJoystick.PropertiesInfluenced)EditorGUILayout.EnumPopup("Influenced", t.YTI);

                        switch (t.yAI)
                        {
                        case EasyJoystick.AxisInfluenced.X:
                            GUI.color = new Color(255f / 255f, 69f / 255f, 40f / 255f);
                            break;

                        case EasyJoystick.AxisInfluenced.Y:
                            GUI.color = Color.green;
                            break;

                        case EasyJoystick.AxisInfluenced.Z:
                            GUI.color = new Color(63f / 255f, 131f / 255f, 245f / 255f);
                            break;
                        }
                        t.yAI     = (EasyJoystick.AxisInfluenced)EditorGUILayout.EnumPopup("Axis influenced", t.yAI);
                        GUI.color = Color.white;

                        EditorGUILayout.Separator();



                        if (t.YTI == EasyJoystick.PropertiesInfluenced.RotateLocal)
                        {
                            // auto stab
                            t.enableYAutoStab = EditorGUILayout.Toggle("AutoStab", t.enableYAutoStab);
                            if (t.enableYAutoStab)
                            {
                                EditorGUILayout.BeginVertical(paddingStyle1);
                                t.ThresholdY = EditorGUILayout.FloatField("Threshold ", t.ThresholdY);
                                t.StabSpeedY = EditorGUILayout.FloatField("Speed", t.StabSpeedY);
                                EditorGUILayout.EndVertical();
                            }

                            EditorGUILayout.Separator();

                            // Clamp
                            t.enableYClamp = EditorGUILayout.Toggle("Clamp rotation", t.enableYClamp);
                            if (t.enableYClamp)
                            {
                                EditorGUILayout.BeginVertical(paddingStyle1);
                                t.clampYMax = EditorGUILayout.FloatField("Max angle value", t.clampYMax);
                                t.clampYMin = EditorGUILayout.FloatField("Min angle value", t.clampYMin);
                                EditorGUILayout.EndVertical();
                            }
                        }
                    }
                }
                EditorGUILayout.EndVertical();
            }
            EditorGUILayout.EndToggleGroup();

            HTEditorToolKit.DrawSeparatorLine(paddingStyle1.padding.left);
            EditorGUILayout.Separator();

            // Smoothing return
            t.enableSmoothing = EditorGUILayout.BeginToggleGroup("Smoothing return", t.enableSmoothing);
            if (t.enableSmoothing)
            {
                EditorGUILayout.BeginVertical(paddingStyle1);
                t.Smoothing = EditorGUILayout.Vector2Field("Smoothing", t.Smoothing);
                EditorGUILayout.EndVertical();
            }
            EditorGUILayout.EndToggleGroup();

            t.enableInertia = EditorGUILayout.BeginToggleGroup("Enable inertia", t.enableInertia);
            if (t.enableInertia)
            {
                EditorGUILayout.BeginVertical(paddingStyle1);
                t.Inertia = EditorGUILayout.Vector2Field("Inertia", t.Inertia);
                EditorGUILayout.EndVertical();
            }
            EditorGUILayout.EndToggleGroup();

            EditorGUILayout.EndVertical();
        }

        // Joystick Texture
        t.showAppearance = HTEditorToolKit.DrawTitleFoldOut(t.showAppearance, "Joystick textures");
        if (t.showAppearance)
        {
            EditorGUILayout.BeginVertical(paddingStyle1);

            t.guiDepth = EditorGUILayout.IntField("Gui depth", t.guiDepth);
            EditorGUILayout.Separator();

            t.showZone = EditorGUILayout.Toggle("Show area", t.showZone);
            if (t.showZone)
            {
                t.areaColor   = EditorGUILayout.ColorField("Color", t.areaColor);
                t.areaTexture = (Texture)EditorGUILayout.ObjectField("Area texture", t.areaTexture, typeof(Texture), true);
            }
            EditorGUILayout.Separator();

            t.showTouch = EditorGUILayout.Toggle("Show touch", t.showTouch);
            if (t.showTouch)
            {
                t.touchColor   = EditorGUILayout.ColorField("Color", t.touchColor);
                t.touchTexture = (Texture)EditorGUILayout.ObjectField("Area texture", t.touchTexture, typeof(Texture), true);
            }
            EditorGUILayout.Separator();

            t.showDeadZone = EditorGUILayout.Toggle("Show dead", t.showDeadZone);
            if (t.showDeadZone)
            {
                t.deadTexture = (Texture)EditorGUILayout.ObjectField("Dead zone texture", t.deadTexture, typeof(Texture), true);
            }

            EditorGUILayout.EndVertical();
        }

        // Refresh
        if (GUI.changed)
        {
            EditorUtility.SetDirty(t);
        }
    }
    public override void OnInspectorGUI()
    {
        EasyButton t = (EasyButton)target;

        // Button Properties
        t.showInspectorProperties = HTEditorToolKit.DrawTitleFoldOut(t.showInspectorProperties, "Button properties");
        if (t.showInspectorProperties)
        {
            EditorGUILayout.BeginVertical(paddingStyle1);

            t.name = EditorGUILayout.TextField("Button name", t.name);

            t.enable        = EditorGUILayout.Toggle("Enable button", t.enable);
            t.isActivated   = EditorGUILayout.Toggle("Activated", t.isActivated);
            t.showDebugArea = EditorGUILayout.Toggle("Show debug area", t.showDebugArea);

            HTEditorToolKit.DrawSeparatorLine(paddingStyle1.padding.left);
            EditorGUILayout.Separator();

            t.isUseGuiLayout = EditorGUILayout.Toggle("Use GUI Layout", t.isUseGuiLayout);
            if (!t.isUseGuiLayout)
            {
                EditorGUILayout.HelpBox("This lets you skip the GUI layout phase (Increase GUI performance). It can only be used if you do not use GUI.Window and GUILayout inside of this OnGUI call.", MessageType.Warning);
            }
            EditorGUILayout.EndVertical();
        }

        // Button position and size
        t.showInspectorPosition = HTEditorToolKit.DrawTitleFoldOut(t.showInspectorPosition, "Button position & size");
        if (t.showInspectorPosition)
        {
            t.Anchor = (EasyButton.ButtonAnchor)EditorGUILayout.EnumPopup("Anchor", t.Anchor);
            t.Offset = EditorGUILayout.Vector2Field("Offset", t.Offset);
            t.Scale  = EditorGUILayout.Vector2Field("Scale", t.Scale);

            HTEditorToolKit.DrawSeparatorLine(paddingStyle1.padding.left);
            EditorGUILayout.Separator();

            t.isSwipeIn  = EditorGUILayout.Toggle("Swipe in", t.isSwipeIn);
            t.isSwipeOut = EditorGUILayout.Toggle("Swipe out", t.isSwipeOut);
        }

        // Event
        t.showInspectorEvent = HTEditorToolKit.DrawTitleFoldOut(t.showInspectorEvent, "Button Interaction & Events");
        if (t.showInspectorEvent)
        {
            EditorGUILayout.BeginVertical(paddingStyle1);
            t.interaction = (EasyButton.InteractionType)EditorGUILayout.EnumPopup("Interaction type", t.interaction);

            if (t.interaction == EasyButton.InteractionType.Event)
            {
                t.useBroadcast = EditorGUILayout.Toggle("Broadcast messages", t.useBroadcast);
                if (t.useBroadcast)
                {
                    EditorGUILayout.BeginVertical(paddingStyle1);
                    t.receiverGameObject = (GameObject)EditorGUILayout.ObjectField("Receiver object", t.receiverGameObject, typeof(GameObject), true);
                    t.messageMode        = (EasyButton.Broadcast)EditorGUILayout.EnumPopup("Sending mode", t.messageMode);

                    EditorGUILayout.Separator();

                    t.useSpecificalMethod = EditorGUILayout.Toggle("Use specific method", t.useSpecificalMethod);
                    if (t.useSpecificalMethod)
                    {
                        t.downMethodName  = EditorGUILayout.TextField("   Down method name", t.downMethodName);
                        t.pressMethodName = EditorGUILayout.TextField("   Press method name", t.pressMethodName);
                        t.upMethodName    = EditorGUILayout.TextField("   Up method name", t.upMethodName);
                    }
                    EditorGUILayout.EndVertical();
                }
            }
            EditorGUILayout.EndVertical();
        }

        // Button texture
        t.showInspectorTexture = HTEditorToolKit.DrawTitleFoldOut(t.showInspectorTexture, "Button textures");
        if (t.showInspectorTexture)
        {
            EditorGUILayout.BeginVertical(paddingStyle1);
            t.guiDepth = EditorGUILayout.IntField("Gui depth", t.guiDepth);
            EditorGUILayout.Separator();
            t.buttonNormalColor = EditorGUILayout.ColorField("Color", t.buttonNormalColor);
            t.NormalTexture     = (Texture2D)EditorGUILayout.ObjectField("Normal texture", t.NormalTexture, typeof(Texture), true);
            EditorGUILayout.Separator();
            t.buttonActiveColor = EditorGUILayout.ColorField("Color", t.buttonActiveColor);
            t.ActiveTexture     = (Texture2D)EditorGUILayout.ObjectField("Normal texture", t.ActiveTexture, typeof(Texture), true);
            EditorGUILayout.EndVertical();
        }



        // Refresh
        if (GUI.changed)
        {
            EditorUtility.SetDirty(t);
        }
    }
示例#4
0
    public override void OnInspectorGUI()
    {
        EasyJoystick t = (EasyJoystick)target;

        t.showProperties = HTEditorToolKit.DrawTitleFoldOut(t.showProperties, "Joystick properties");
        if (t.showProperties)
        {
            t.enable         = EditorGUILayout.Toggle("Enable joystick", t.enable);
            t.useFixedUpdate = EditorGUILayout.Toggle("Use fixed update", t.useFixedUpdate);

            HTEditorToolKit.DrawSeparatorLine();
            EditorGUILayout.Separator();

            t.zoneRadius = EditorGUILayout.FloatField("Area radius", t.zoneRadius);

            t.TouchSize    = EditorGUILayout.FloatField("Touch radius", t.TouchSize);
            t.RestrictArea = EditorGUILayout.Toggle("Restrict to area", t.RestrictArea);

            t.deadZone = EditorGUILayout.FloatField("Dead zone radius", t.deadZone);

            EditorGUILayout.Separator();

            // Dynamic joystick
            t.DynamicJoystick = EditorGUILayout.Toggle("Dynamic joystick", t.DynamicJoystick);
            if (t.DynamicJoystick)
            {
                t.area = (EasyJoystick.DynamicArea)EditorGUILayout.EnumPopup("Free area", t.area);
            }
            else
            {
                t.joystickPosition = EditorGUILayout.Vector2Field("Joystick position", t.joystickPosition);
            }

            HTEditorToolKit.DrawSeparatorLine();

            // Smoothing return
            t.enableSmoothing = EditorGUILayout.Toggle("Smoothing return", t.enableSmoothing);
            if (t.enableSmoothing)
            {
                t.Smoothing = EditorGUILayout.Vector2Field("Smoothing", t.Smoothing);
            }

            HTEditorToolKit.DrawSeparatorLine();
            // Inertie
            t.enableInertia = EditorGUILayout.Toggle("Enable inertia", t.enableInertia);
            if (t.enableInertia)
            {
                t.Inertia = EditorGUILayout.Vector2Field("Inertia", t.Inertia);
            }

            //EditorGUILayout.Separator();
        }

        // Interaction

        t.showInteraction = HTEditorToolKit.DrawTitleFoldOut(t.showInteraction, "Interaction");
        if (t.showInteraction)
        {
            // Joystick speed
            t.interaction = (EasyJoystick.InteractionType)EditorGUILayout.EnumPopup("Interaction type", t.interaction);

            if (t.interaction == EasyJoystick.InteractionType.EventNotification || t.interaction == EasyJoystick.InteractionType.DirectAndEvent)
            {
                t.useBroadcast = EditorGUILayout.Toggle("Broadcast messages", t.useBroadcast);
                if (t.useBroadcast)
                {
                    t.ReceiverObjectGame = (GameObject)EditorGUILayout.ObjectField("Receiver objet", t.ReceiverObjectGame, typeof(GameObject), true);
                    t.messageMode        = (EasyJoystick.Broadcast)EditorGUILayout.EnumPopup("Sending mode", t.messageMode);
                }
            }

            HTEditorToolKit.DrawSeparatorLine();

            // x Axis
            EditorGUILayout.Separator();
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.PrefixLabel("X axis speed");
            t.speed.x      = EditorGUILayout.FloatField(t.speed.x);
            t.inverseXAxis = EditorGUILayout.Toggle(t.inverseXAxis);
            EditorGUILayout.LabelField("inverse axis");
            EditorGUILayout.EndHorizontal();

            // y Axis
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.PrefixLabel("Y axis speed");
            t.speed.y      = EditorGUILayout.FloatField(t.speed.y);
            t.inverseYAxis = EditorGUILayout.Toggle(t.inverseYAxis);
            EditorGUILayout.LabelField("inverse axis");
            EditorGUILayout.EndHorizontal();


            HTEditorToolKit.DrawSeparatorLine();
            EditorGUILayout.Separator();
            // Interaction direct
            if (t.interaction == EasyJoystick.InteractionType.Direct || t.interaction == EasyJoystick.InteractionType.DirectAndEvent)
            {
                t.XAxisTransform = (Transform)EditorGUILayout.ObjectField("Joystick X to", t.XAxisTransform, typeof(Transform), true);
                if (t.XAxisTransform != null)
                {
                    // characterCollider
                    if (t.XAxisTransform.GetComponent <CharacterController>() && (t.xTI == EasyJoystick.PropertiesInfluenced.Translate || t.xTI == EasyJoystick.PropertiesInfluenced.TranslateLocal))
                    {
                        EditorGUILayout.HelpBox("CharacterController detected", MessageType.Info);
                        t.xAxisGravity = EditorGUILayout.FloatField("Gravity", t.xAxisGravity);
                    }
                    else
                    {
                        t.xAxisGravity = 0;
                    }
                    t.xTI = (EasyJoystick.PropertiesInfluenced)EditorGUILayout.EnumPopup("Influenced", t.xTI);
                    t.xAI = (EasyJoystick.AxisInfluenced)EditorGUILayout.EnumPopup("Axis influenced", t.xAI);
                }
                EditorGUILayout.Separator();
                HTEditorToolKit.DrawSeparatorLine();
                EditorGUILayout.Separator();
                t.YAxisTransform = (Transform)EditorGUILayout.ObjectField("Joystick Y to", t.YAxisTransform, typeof(Transform), true);
                if (t.YAxisTransform != null)
                {
                    // characterCollider
                    if (t.YAxisTransform.GetComponent <CharacterController>() && (t.yTI == EasyJoystick.PropertiesInfluenced.Translate || t.yTI == EasyJoystick.PropertiesInfluenced.TranslateLocal))
                    {
                        EditorGUILayout.HelpBox("CharacterController detected", MessageType.Info);
                        t.yAxisGravity = EditorGUILayout.FloatField("Gravity", t.yAxisGravity);
                    }
                    else
                    {
                        t.yAxisGravity = 0;
                    }
                    t.yTI = (EasyJoystick.PropertiesInfluenced)EditorGUILayout.EnumPopup("Influenced", t.yTI);
                    t.yAI = (EasyJoystick.AxisInfluenced)EditorGUILayout.EnumPopup("Axis influenced", t.yAI);
                }
            }
        }


        // Joystick Appearance
        t.showAppearance = HTEditorToolKit.DrawTitleFoldOut(t.showAppearance, "Joystick Appearance");
        if (t.showAppearance)
        {
            t.showZone = EditorGUILayout.Toggle("Show area", t.showZone);
            if (t.showZone)
            {
                t.areaTexture = (Texture)EditorGUILayout.ObjectField("Area texture", t.areaTexture, typeof(Texture), true);
            }

            t.showTouch = EditorGUILayout.Toggle("Show touch", t.showTouch);
            if (t.showTouch)
            {
                t.touchTexture = (Texture)EditorGUILayout.ObjectField("Area texture", t.touchTexture, typeof(Texture), true);
            }

            t.showDeadZone = EditorGUILayout.Toggle("Show touch", t.showDeadZone);
            if (t.showDeadZone)
            {
                t.deadTexture = (Texture)EditorGUILayout.ObjectField("Dead zone texture", t.deadTexture, typeof(Texture), true);
            }
        }

        // Refresh
        if (GUI.changed)
        {
            EditorUtility.SetDirty(t);
        }
    }
示例#5
0
    public override void OnInspectorGUI()
    {
        EasyJoystick t = (EasyJoystick)target;

        t.showProperties = HTEditorToolKit.DrawTitleFoldOut(t.showProperties, "Joystick properties");
        if (t.showProperties)
        {
            t.enable         = EditorGUILayout.Toggle("Enable joystick", t.enable);
            t.useFixedUpdate = EditorGUILayout.Toggle("Use fixed update", t.useFixedUpdate);

            HTEditorToolKit.DrawSeparatorLine();
            EditorGUILayout.Separator();

            t.zoneRadius = EditorGUILayout.FloatField("Area radius", t.zoneRadius);

            t.TouchSize    = EditorGUILayout.FloatField("Touch radius", t.TouchSize);
            t.RestrictArea = EditorGUILayout.Toggle("Restrict to area", t.RestrictArea);

            t.deadZone = EditorGUILayout.FloatField("Dead zone radius", t.deadZone);

            EditorGUILayout.Separator();

            // Dynamic joystick
            t.DynamicJoystick = EditorGUILayout.Toggle("Dynamic joystick", t.DynamicJoystick);
            if (t.DynamicJoystick)
            {
                t.area = (EasyJoystick.DynamicArea)EditorGUILayout.EnumPopup("Free area", t.area);
            }
            else
            {
                t.joystickPosition = EditorGUILayout.Vector2Field("Joystick position", t.joystickPosition);
            }

            HTEditorToolKit.DrawSeparatorLine();

            // Smoothing return
            t.enableSmoothing = EditorGUILayout.Toggle("Smoothing return", t.enableSmoothing);
            if (t.enableSmoothing)
            {
                t.Smoothing = EditorGUILayout.Vector2Field("Smoothing", t.Smoothing);
            }

            HTEditorToolKit.DrawSeparatorLine();
            // Inertie
            t.enableInertia = EditorGUILayout.Toggle("Enable inertia", t.enableInertia);
            if (t.enableInertia)
            {
                t.Inertia = EditorGUILayout.Vector2Field("Inertia", t.Inertia);
            }

            //EditorGUILayout.Separator();
        }

        // Interaction

        t.showInteraction = HTEditorToolKit.DrawTitleFoldOut(t.showInteraction, "Interaction");
        if (t.showInteraction)
        {
            // Joystick speed
            t.interaction = (EasyJoystick.InteractionType)EditorGUILayout.EnumPopup("Interaction type", t.interaction);
            HTEditorToolKit.DrawSeparatorLine();

            // x Axis
            EditorGUILayout.Separator();
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.PrefixLabel("X axis speed");
            t.speed.x = EditorGUILayout.FloatField(t.speed.x);
            EditorGUILayout.EndHorizontal();

            // y Axis
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.PrefixLabel("Y axis speed");
            t.speed.y = EditorGUILayout.FloatField(t.speed.y);
            EditorGUILayout.EndHorizontal();


            HTEditorToolKit.DrawSeparatorLine();
            EditorGUILayout.Separator();
        }


        // Joystick Appearance
        t.showAppearance = HTEditorToolKit.DrawTitleFoldOut(t.showAppearance, "Joystick Appearance");
        if (t.showAppearance)
        {
            t.showZone = EditorGUILayout.Toggle("Show area", t.showZone);
            if (t.showZone)
            {
                t.areaTexture = (Texture)EditorGUILayout.ObjectField("Area texture", t.areaTexture, typeof(Texture), true);
            }

            t.showTouch = EditorGUILayout.Toggle("Show touch", t.showTouch);
            if (t.showTouch)
            {
                t.touchTexture = (Texture)EditorGUILayout.ObjectField("Area texture", t.touchTexture, typeof(Texture), true);
            }

            t.showDeadZone = EditorGUILayout.Toggle("Show touch", t.showDeadZone);
            if (t.showDeadZone)
            {
                t.deadTexture = (Texture)EditorGUILayout.ObjectField("Dead zone texture", t.deadTexture, typeof(Texture), true);
            }
        }

        // Refresh
        if (GUI.changed)
        {
            EditorUtility.SetDirty(t);
        }
    }
    public override void OnInspectorGUI()
    {
        EasyTouch t = (EasyTouch)target;

        t.showGeneral = HTEditorToolKit.DrawTitleFoldOut(t.showGeneral, "General properties");
        if (t.showGeneral)
        {
            t.enable = EditorGUILayout.Toggle("Enable EasyTouch", t.enable);

            t.enableRemote = EditorGUILayout.Toggle("Enable unity remote", t.enableRemote);



            t.useBroadcastMessage = EditorGUILayout.BeginToggleGroup("Broadcast messages", t.useBroadcastMessage);
            if (t.useBroadcastMessage)
            {
                EditorGUILayout.BeginVertical(paddingStyle1);
                t.receiverObject = (GameObject)EditorGUILayout.ObjectField("Other receiver", t.receiverObject, typeof(GameObject), true);
                t.isExtension    = EditorGUILayout.Toggle("Joysticks & buttons", t.isExtension);
                EditorGUILayout.EndVertical();
            }

            EditorGUILayout.EndToggleGroup();
            EditorGUILayout.Space();

            t.enableReservedArea = EditorGUILayout.Toggle("Enable reserved area", t.enableReservedArea);
            EditorGUILayout.Space();
            t.enabledNGuiMode = EditorGUILayout.Toggle("Enable NGUI compatibilty", t.enabledNGuiMode);
            if (t.enabledNGuiMode)
            {
                EditorGUILayout.BeginVertical(paddingStyle1);

                // Camera
                serializedObject.Update();
                EditorGUIUtility.labelWidth = 0;
                EditorGUIUtility.fieldWidth = 0;
                SerializedProperty cameras = serializedObject.FindProperty("nGUICameras");
                EditorGUILayout.PropertyField(cameras, true);
                serializedObject.ApplyModifiedProperties();
                EditorGUIUtility.LookLikeControls();

                EditorGUILayout.Space();

                // layers
                serializedObject.Update();
                EditorGUIUtility.labelWidth = 0;
                EditorGUIUtility.fieldWidth = 0;
                SerializedProperty layers = serializedObject.FindProperty("nGUILayers");
                EditorGUILayout.PropertyField(layers, false);
                serializedObject.ApplyModifiedProperties();
                EditorGUIUtility.LookLikeControls();

                EditorGUILayout.EndVertical();
            }
        }

        if (t.enable)
        {
            // Auto select porperties
            t.showSelect = HTEditorToolKit.DrawTitleFoldOut(t.showSelect, "Auto-select properties");
            if (t.showSelect)
            {
                t.easyTouchCamera = (Camera)EditorGUILayout.ObjectField("Camera", t.easyTouchCamera, typeof(Camera), true);
                t.autoSelect      = EditorGUILayout.Toggle("Enable auto-select", t.autoSelect);

                if (t.autoSelect)
                {
                    serializedObject.Update();
                    EditorGUIUtility.labelWidth = 0;
                    EditorGUIUtility.fieldWidth = 0;
                    SerializedProperty layers = serializedObject.FindProperty("pickableLayers");
                    EditorGUILayout.PropertyField(layers, true);
                    serializedObject.ApplyModifiedProperties();
                    EditorGUIUtility.LookLikeControls();
                }
            }

            // General gesture properties
            t.showGesture = HTEditorToolKit.DrawTitleFoldOut(t.showGesture, "General gesture properties");
            if (t.showGesture)
            {
                t.StationnaryTolerance = EditorGUILayout.FloatField("Stationary tolerance", t.StationnaryTolerance);
                t.longTapTime          = EditorGUILayout.FloatField("Long tap time", t.longTapTime);
                t.swipeTolerance       = EditorGUILayout.FloatField("Swipe tolerance", t.swipeTolerance);
            }

            // Two fingers gesture
            t.showTwoFinger = HTEditorToolKit.DrawTitleFoldOut(t.showTwoFinger, "Two fingers gesture properties");
            if (t.showTwoFinger)
            {
                t.enable2FingersGesture = EditorGUILayout.Toggle("2 fingers gesture", t.enable2FingersGesture);

                if (t.enable2FingersGesture)
                {
                    EditorGUILayout.Separator();
                    t.enablePinch = EditorGUILayout.Toggle("Enable Pinch", t.enablePinch);
                    if (t.enablePinch)
                    {
                        t.minPinchLength = EditorGUILayout.FloatField("Min pinch length", t.minPinchLength);
                    }
                    EditorGUILayout.Separator();
                    t.enableTwist = EditorGUILayout.Toggle("Enable twist", t.enableTwist);
                    if (t.enableTwist)
                    {
                        t.minTwistAngle = EditorGUILayout.FloatField("Min twist angle", t.minTwistAngle);
                    }

                    EditorGUILayout.Separator();
                }
            }

            // Second Finger simulation
            t.showSecondFinger = HTEditorToolKit.DrawTitleFoldOut(t.showSecondFinger, "Second finger simulation");
            if (t.showSecondFinger)
            {
                if (t.secondFingerTexture == null)
                {
                    t.secondFingerTexture = Resources.Load("secondFinger") as Texture;
                }

                t.secondFingerTexture = (Texture)EditorGUILayout.ObjectField("Texture", t.secondFingerTexture, typeof(Texture), true);
                EditorGUILayout.HelpBox("Change the keys settings for a fash compilation, or if you want to change the keys", MessageType.Info);
                t.twistKey = (KeyCode)EditorGUILayout.EnumPopup("Twist & pinch key", t.twistKey);
                t.swipeKey = (KeyCode)EditorGUILayout.EnumPopup("Swipe key", t.swipeKey);
            }
        }
    }
示例#7
0
    public override void OnInspectorGUI()
    {
        EasyTouch t = (EasyTouch)target;

        t.showGeneral = HTEditorToolKit.DrawTitleFoldOut(t.showGeneral, "General properties");
        if (t.showGeneral)
        {
            t.enable              = EditorGUILayout.Toggle("Enable EasyTouch", t.enable);
            t.enableRemote        = EditorGUILayout.Toggle("Enable unity remote", t.enableRemote);
            t.useBroadcastMessage = EditorGUILayout.Toggle("Broadcast messages", t.useBroadcastMessage);

            if (t.useBroadcastMessage)
            {
                t.joystickAddon = EditorGUILayout.Toggle("Joystick Add-on", t.joystickAddon);
            }
        }

        if (t.enable)
        {
            // Auto select porperties
            t.showSelect = HTEditorToolKit.DrawTitleFoldOut(t.showSelect, "Auto-select properties");
            if (t.showSelect)
            {
                t.autoSelect = EditorGUILayout.Toggle("Enable auto-select", t.autoSelect);

                if (t.autoSelect)
                {
                    serializedObject.Update();
                    EditorGUIUtility.LookLikeInspector();
                    SerializedProperty layers = serializedObject.FindProperty("pickableLayers");
                    EditorGUILayout.PropertyField(layers, true);
                    serializedObject.ApplyModifiedProperties();
                    EditorGUIUtility.LookLikeControls();
                }
            }

            // General gesture properties
            t.showGesture = HTEditorToolKit.DrawTitleFoldOut(t.showGesture, "General gesture properties");
            if (t.showGesture)
            {
                t.StationnaryTolerance = EditorGUILayout.FloatField("Stationary tolerance", t.StationnaryTolerance);
                t.longTapTime          = EditorGUILayout.FloatField("Long tap time", t.longTapTime);
                t.swipeTolerance       = EditorGUILayout.FloatField("Swipe tolerance", t.swipeTolerance);
            }

            // Two fingers gesture
            t.showTwoFinger = HTEditorToolKit.DrawTitleFoldOut(t.showTwoFinger, "Two fingers gesture properties");
            if (t.showTwoFinger)
            {
                t.enable2FingersGesture = EditorGUILayout.Toggle("2 fingers gesture", t.enable2FingersGesture);

                if (t.enable2FingersGesture)
                {
                    EditorGUILayout.Separator();
                    t.enablePinch = EditorGUILayout.Toggle("Enable Pinch", t.enablePinch);
                    if (t.enablePinch)
                    {
                        t.minPinchLength = EditorGUILayout.FloatField("Min pinch length", t.minPinchLength);
                    }
                    EditorGUILayout.Separator();
                    t.enableTwist = EditorGUILayout.Toggle("Enable twist", t.enableTwist);
                    if (t.enableTwist)
                    {
                        t.minTwistAngle = EditorGUILayout.FloatField("Min twist angle", t.minTwistAngle);
                    }
                }
            }
        }
    }