Beispiel #1
0
 public MoveEventEditor()
 {
     this.ge = ScriptableObject.CreateInstance <SerializableGameEvent>();
     ge.Name = this.EventName;
     ge.setParameter("entity", null);
     ge.setParameter("cell", null);
 }
Beispiel #2
0
        public void draw()
        {
            ge.Name = EditorGUILayout.TextField("Name", ge.Name);

            foreach (string param in ge.Params)
            {
                if (param != "synchronous")
                {
                    EditorGUILayout.BeginHorizontal();

                    ge.setParameter(param, ParamEditor.LayoutEditorFor(param, ge.getParameter(param)));
                    //ge.setParameter (param, EditorGUILayout.ObjectField (param, (Object)ge.getParameter (param), typeof(Object), true));
                    if (GUILayout.Button("X"))
                    {
                        ge.removeParameter(param);
                    }
                    EditorGUILayout.EndHorizontal();
                }
            }
            EditorGUILayout.BeginHorizontal();
            newParameter = EditorGUILayout.TextField("New Parameter", newParameter);
            if (GUILayout.Button("Add"))
            {
                ge.setParameter(newParameter, null);
            }
            EditorGUILayout.EndHorizontal();
        }
 public AddItemEditor()
 {
     this.ge = ScriptableObject.CreateInstance <SerializableGameEvent> ();
     ge.Name = this.EventName;
     ge.setParameter("item", null);
     ge.setParameter("inventory", null);
 }
 public ChangeSwitchEventEditor()
 {
     this.ge = ScriptableObject.CreateInstance <SerializableGameEvent>();
     ge.Name = this.EventName;
     ge.setParameter("switch", "");
     ge.setParameter("value", true);
 }
Beispiel #5
0
    public void draw()
    {
        SerializableGameEvent ge = (SerializableGameEvent)node.Content;

        string[] editors        = EventEditorFactory.Intance.CurrentEventEditors;
        int      editorSelected = 0;

        for (int i = 1; i < editors.Length; i++)
        {
            if (editors [i].ToLower() == ge.Name.ToLower())
            {
                editorSelected = i;
            }
        }

        int was = editorSelected;

        editorSelected = EditorGUILayout.Popup(editorSelected, EventEditorFactory.Intance.CurrentEventEditors);
        if (currentEditor == null || was != editorSelected)
        {
            if (currentEditor != null)
            {
                currentEditor.detachEvent(ge);
            }

            ge.Name       = "";
            currentEditor = EventEditorFactory.Intance.createEventEditorFor(editors[editorSelected]);
            currentEditor.useEvent(ge);
        }

        currentEditor.draw();

        /**
         *  Game event synchronization
         * */

        if (!(ge.getParameter("synchronous") is bool))
        {
            ge.setParameter("synchronous", false);
        }
        ge.setParameter("synchronous", EditorGUILayout.Toggle("Synchronous",
                                                              (ge.getParameter("synchronous") == null)?false:(bool)ge.getParameter("synchronous")));

        if ((bool)ge.getParameter("synchronous"))
        {
            EditorGUILayout.HelpBox("Notice that if there is no EventFinished event, the game will stuck.", MessageType.Warning);
        }

        /**
         * Synchronization end
         * */

        node.Content = currentEditor.Result;

        if (Event.current.type != EventType.layout)
        {
            node.ChildSlots = 1;
        }
    }
Beispiel #6
0
 public void useEvent(SerializableGameEvent ge)
 {
     this.ge      = ge;
     this.ge.Name = this.EventName;
     if (ge.getParameter("switch") == null)
     {
         ge.setParameter("switch", "");
     }
     if (ge.getParameter("value") == null)
     {
         ge.setParameter("value", true);
     }
 }
        protected override void NodeContentInspectorGUI()
        {
            SerializableGameEvent ge = (SerializableGameEvent)target;

            string[] editors        = EventEditorFactory.Intance.CurrentEventEditors;
            int      editorSelected = 0;

            for (int i = 1; i < editors.Length; i++)
            {
                if (ge != null && editors[i].ToLower() == ge.Name.ToLower())
                {
                    editorSelected = i;
                }
            }

            editorSelected = EditorGUILayout.Popup(editorSelected, EventEditorFactory.Intance.CurrentEventEditors);
            if (currentEditor == null || was != editorSelected)
            {
                was = editorSelected;
                if (EventEditorFactory.Intance.CurrentEventEditors.ToList().Contains(ge.Name))
                {
                    ge.Name = "";
                }

                if (currentEditor != null && ge != null)
                {
                    currentEditor.detachEvent(ge);
                }

                currentEditor = EventEditorFactory.Intance.createEventEditorFor(editors[editorSelected]);
                currentEditor.useEvent(ge);
            }

            currentEditor.draw();

            /**
             *  Game event synchronization
             * */

            if (!(ge.getParameter("synchronous") is bool))
            {
                ge.setParameter("synchronous", false);
            }
            ge.setParameter("synchronous", EditorGUILayout.Toggle("Synchronous",
                                                                  (ge.getParameter("synchronous") == null) ? false : (bool)ge.getParameter("synchronous")));

            if ((bool)ge.getParameter("synchronous"))
            {
                EditorGUILayout.HelpBox("Notice that if there is no EventFinished event, the game will stuck.", MessageType.Warning);
            }
        }
 public void useEvent(SerializableGameEvent ge)
 {
     this.ge      = ge;
     this.ge.Name = config.Name;
     foreach (var parameterConfig in config.ParameterConfig)
     {
         if (ge.getParameter(parameterConfig.Key) == null || !parameterConfig.Value.IsAssignableFrom(ge.getParameter(parameterConfig.Key).GetType()))
         {
             object value = config.ParameterHasDefault[parameterConfig.Key] ? config.DefaultValue[parameterConfig.Key] : GetDefault(parameterConfig.Value);
             ge.setParameter(parameterConfig.Key, value);
         }
     }
 }
Beispiel #9
0
 public void draw()
 {
     ge.setParameter("entity", EditorGUILayout.ObjectField("Entity", (Object)ge.getParameter("entity"), typeof(Entity), true));
     ge.setParameter("cell", EditorGUILayout.ObjectField("Cell", (Object)ge.getParameter("cell"), typeof(Cell), true));
 }
 public void draw()
 {
     foreach (var parameterConfig in config.ParameterConfig)
     {
         if (parameterConfig.Value == typeof(bool))
         {
             ge.setParameter(parameterConfig.Key, EditorGUILayout.Toggle(parameterConfig.Key, (bool)ge.getParameter(parameterConfig.Key)));
         }
         if (parameterConfig.Value == typeof(float))
         {
             ge.setParameter(parameterConfig.Key, EditorGUILayout.FloatField(parameterConfig.Key, (float)ge.getParameter(parameterConfig.Key)));
         }
         if (parameterConfig.Value == typeof(int))
         {
             ge.setParameter(parameterConfig.Key, EditorGUILayout.IntField(parameterConfig.Key, (int)ge.getParameter(parameterConfig.Key)));
         }
         if (parameterConfig.Value == typeof(Vector2))
         {
             ge.setParameter(parameterConfig.Key, EditorGUILayout.Vector2Field(parameterConfig.Key, (Vector2)ge.getParameter(parameterConfig.Key)));
         }
         if (parameterConfig.Value == typeof(Vector3))
         {
             ge.setParameter(parameterConfig.Key, EditorGUILayout.Vector3Field(parameterConfig.Key, (Vector3)ge.getParameter(parameterConfig.Key)));
         }
         if (parameterConfig.Value == typeof(Vector4))
         {
             ge.setParameter(parameterConfig.Key, EditorGUILayout.Vector4Field(parameterConfig.Key, (Vector4)ge.getParameter(parameterConfig.Key)));
         }
         if (parameterConfig.Value == typeof(Rect))
         {
             ge.setParameter(parameterConfig.Key, EditorGUILayout.RectField(parameterConfig.Key, (Rect)ge.getParameter(parameterConfig.Key)));
         }
         if (typeof(UnityEngine.Object).IsAssignableFrom(parameterConfig.Value))
         {
             ge.setParameter(parameterConfig.Key, EditorGUILayout.ObjectField(parameterConfig.Key, (UnityEngine.Object)ge.getParameter(parameterConfig.Key), parameterConfig.Value, true));
         }
         if (parameterConfig.Value == typeof(Color))
         {
             ge.setParameter(parameterConfig.Key, EditorGUILayout.ColorField(parameterConfig.Key, (Color)ge.getParameter(parameterConfig.Key)));
         }
         if (parameterConfig.Value == typeof(Bounds))
         {
             ge.setParameter(parameterConfig.Key, EditorGUILayout.BoundsField(parameterConfig.Key, (Bounds)ge.getParameter(parameterConfig.Key)));
         }
         if (parameterConfig.Value == typeof(AnimationCurve))
         {
             ge.setParameter(parameterConfig.Key, EditorGUILayout.CurveField(parameterConfig.Key, (AnimationCurve)ge.getParameter(parameterConfig.Key)));
         }
         if (typeof(Enum).IsAssignableFrom(parameterConfig.Value))
         {
             ge.setParameter(parameterConfig.Key, EditorGUILayout.EnumPopup(parameterConfig.Key, (Enum)ge.getParameter(parameterConfig.Key)));
         }
         if (parameterConfig.Value == typeof(string))
         {
             ge.setParameter(parameterConfig.Key, EditorGUILayout.TextField(parameterConfig.Key, (string)ge.getParameter(parameterConfig.Key)));
         }
         if (parameterConfig.Value == typeof(long))
         {
             ge.setParameter(parameterConfig.Key, EditorGUILayout.LongField(parameterConfig.Key, (long)ge.getParameter(parameterConfig.Key)));
         }
         if (parameterConfig.Value == typeof(double))
         {
             ge.setParameter(parameterConfig.Key, (double)EditorGUILayout.FloatField(parameterConfig.Key, (float)ge.getParameter(parameterConfig.Key)));
         }
     }
 }
Beispiel #11
0
 public void draw()
 {
     ge.setParameter("switch", EditorGUILayout.TextField("SwitchID", (string)ge.getParameter("switch")));
     ge.setParameter("value", ParamEditor.LayoutEditorFor("Value", ge.getParameter("value")));
 }
 public void draw()
 {
     ge.setParameter("item", EditorGUILayout.ObjectField("Item", (Object)ge.getParameter("item"), typeof(Item), true));
     ge.setParameter("inventory", EditorGUILayout.ObjectField("Inventory", (Object)ge.getParameter("inventory"), typeof(Inventory), true));
 }