public MoveEventEditor() { this.ge = ScriptableObject.CreateInstance <SerializableGameEvent>(); ge.Name = this.EventName; ge.setParameter("entity", null); ge.setParameter("cell", null); }
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); }
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; } }
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); } } }
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))); } } }
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)); }