Example #1
0
        void OnShooterModifierWindow(DMKShooterModifier modifier)
        {
            GUIStyle s = new GUIStyle(GUI.skin.label);

            s.fontSize         = 12;
            s.normal.textColor = new Color(255, 255, 255, 1);
            s.alignment        = TextAnchor.MiddleCenter;
            GUI.Label(new Rect(6, 0, ModifierNodeWindowWidth, ModifierNodeWindowHeight),
                      modifier.DMKName(),
                      s);

            modifier.editorEnabled = EditorGUI.Toggle(new Rect(0, ModifierNodeWindowHeight / 2 - 8, 16, 16), modifier.editorEnabled);


            if ((Event.current.button == 0 || Event.current.button == 1))
            {
                if (Event.current.type == EventType.MouseDown)
                {
                    if (!creatingLink)
                    {
                        selectedGraphObject = modifier;
                        GUI.FocusControl("");
                    }
                    Event.current.Use();
                }
                else if (Event.current.type == EventType.MouseUp)
                {
                    if (Event.current.button == 0 && creatingLink)
                    {
                        if (linkSourceType == typeof(DMKBulletShooterController))
                        {
                            (selectedGraphObject as DMKBulletShooterController).shooter.modifier = modifier;
                        }
                        else if (linkSourceType == typeof(DMKShooterModifier) &&
                                 !HasModifierLoop(modifier, selectedGraphObject as DMKShooterModifier))
                        {
                            (selectedGraphObject as DMKShooterModifier).next = modifier;
                        }
                        creatingLink = false;
                    }
                    else if (Event.current.button == 1)
                    {
                        if (creatingLink)
                        {
                            creatingLink = false;
                        }
                        else
                        {
                            this.DisplayModifierToolsMenu();
                        }
                    }
                    Event.current.Use();
                }
            }
        }