Example #1
0
        void DisplayShooterGraphMenu()
        {
            GenericMenu menu = new GenericMenu();

            foreach (System.Reflection.Assembly asm in AppDomain.CurrentDomain.GetAssemblies())
            {
                foreach (Type type in asm.GetTypes())
                {
                    if (type.BaseType == typeof(DMKBulletShooter))
                    {
                        menu.AddItem(new GUIContent("New Shooter/" + DMKUtil.GetTypeClassName(type)), false, OnAddShooterClicked, type);
                    }
                }
            }

            foreach (System.Reflection.Assembly asm in AppDomain.CurrentDomain.GetAssemblies())
            {
                foreach (Type type in asm.GetTypes())
                {
                    if (type.BaseType == typeof(DMKShooterModifier))
                    {
                        menu.AddItem(new GUIContent("New Modifier/" + DMKUtil.GetTypeClassName(type)), false, OnAddModifierClicked, type);
                    }
                }
            }


            menu.ShowAsContext();
        }
Example #2
0
        void DisplayShooterToolsMenu(bool isSubShooter)
        {
            GenericMenu menu = new GenericMenu();

            DMKBulletShooterController shooterController = selectedGraphObject as DMKBulletShooterController;

            if (!shooterController)
            {
                return;
            }

            menu.AddItem(new GUIContent("Link Modifier"), false, OnShooterMenuCreateLinkClicked);

            if (shooterController.subController == null)
            {
                foreach (System.Reflection.Assembly asm in AppDomain.CurrentDomain.GetAssemblies())
                {
                    foreach (Type type in asm.GetTypes())
                    {
                        if (type.BaseType == typeof(DMKBulletShooter))
                        {
                            menu.AddItem(new GUIContent("New Sub-Shooter/" + DMKUtil.GetTypeClassName(type)), false, OnShooterMenuAddSubShooterClicked, type);
                        }
                    }
                }
            }

            if (!isSubShooter)
            {
                foreach (System.Reflection.Assembly asm in AppDomain.CurrentDomain.GetAssemblies())
                {
                    foreach (Type type in asm.GetTypes())
                    {
                        if (type.BaseType == typeof(DMKTrigger))
                        {
                            menu.AddItem(new GUIContent("New Trigger/" + DMKUtil.GetTypeClassName(type)), false, OnAddTriggerClicked, type);
                        }
                    }
                }
            }

            menu.AddSeparator("");


            menu.AddItem(new GUIContent("Copy"), false, OnShooterMenuCopyClicked);
            if (copiedShooter != null &&
                copiedShooter != selectedGraphObject)
            {
                menu.AddItem(new GUIContent("Paste"), false, OnShooterMenuPasteClicked);
            }
            else
            {
                menu.AddDisabledItem(new GUIContent("Paste"));
            }
            if (copiedShooter != null)
            {
                menu.AddItem(new GUIContent("Paste as New"), false, OnShooterMenuPasteAsNewClicked);
            }
            menu.AddSeparator("");


            menu.AddItem(new GUIContent("Remove"), false, OnShooterMenuRemoveClicked, isSubShooter.ToString());
            menu.ShowAsContext();
        }