void DrawOptions() { scrollPos = EditorGUILayout.BeginScrollView(scrollPos, true, true, GUILayout.Width(optionsArea.width), GUILayout.Height(optionsArea.height)); if (start) { if (GUILayout.Button("New Event")) { Debug.Log("New Event"); start = false; currentEditableEvent = (EventScriptableObject)ScriptableObject.CreateInstance(typeof(EventScriptableObject)); } if (GUILayout.Button("Edit Event")) { Debug.Log("Edit Event"); start = false; editEventEntry = true; currentEditableEvent = null; } } else { if (editEventEntry) { currentEditableEvent = (EventScriptableObject)EditorGUILayout.ObjectField(currentEditableEvent, typeof(EventScriptableObject), false); if (currentEditableEvent != null) { if (GUILayout.Button("Edit This Event")) { Debug.Log("Edit Event"); editEventEntry = false; editEvent = true; } } } else { DrawEventOptions(); EditorGUILayout.LabelField("", GUI.skin.horizontalSlider); if (GUILayout.Button("Save Event")) { Debug.Log("Save Event"); if (EditorUtility.DisplayDialog("Event Saving", "Are you sure you would like to save this event?", "OK", "Cancel")) { if (AssetDatabase.LoadAssetAtPath(eventAssetPath + currentEditableEvent.eventName + ".asset", typeof(EventScriptableObject)) == null) { AssetDatabase.CreateAsset(currentEditableEvent, eventAssetPath + currentEditableEvent.eventName + ".asset"); } start = true; editEvent = false; currentEditableEvent = null; } } } } GUILayout.EndScrollView(); }
public void StartDialogueEvent(EventScriptableObject thisEvent) { playerController.pausedGame = true; inDialogue = true; dialogueBox.SetActive(true); eventDialogueIndex = 0; currentEvent = thisEvent; PlayEventAnimation(); }
public override void OnInspectorGUI() { base.OnInspectorGUI(); GUI.enabled = Application.isPlaying; EventScriptableObject e = target as EventScriptableObject; if (GUILayout.Button("Raise")) { e.Raise(); } }