Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEditor;
- using UnityEngine;
- namespace SCOLTool {
- [CustomEditor(typeof(Controllers))]
- public class ControllersEditorScript : Editor {
- public override void OnInspectorGUI() {
- Controllers controllers = (Controllers)target;
- SerializedObject controllersSO = new(target);
- SerializedObject scenarSO;
- SerializedObject ChoosingScenarSO;
- SerializedObject dialogSO;
- SerializedObject choiceSO;
- SerializedObject choiceDrawSO;
- SerializedObject characterSO;
- if (controllers.ScenarioManager != null) {
- scenarSO = new(controllers.ScenarioManager);
- ChoosingScenarSO = new(controllers.ScenarioManager.ScenarioChoosing);
- } else {
- scenarSO = null;
- ChoosingScenarSO = null;
- EditorGUILayout.PropertyField(controllersSO.FindProperty("ScenarioManager"));
- }
- if (controllers.DialogManager != null) {
- dialogSO = new(controllers.DialogManager);
- } else {
- dialogSO = null;
- EditorGUILayout.PropertyField(controllersSO.FindProperty("DialogManager"));
- }
- if (controllers.ChoiceManager != null) {
- choiceSO = new(controllers.ChoiceManager);
- choiceDrawSO = new(controllers.ChoiceManager.ChoiceDrawing);
- } else {
- choiceSO = null;
- choiceDrawSO = null;
- EditorGUILayout.PropertyField(controllersSO.FindProperty("ChoiceManager"));
- }
- if (controllers.CharacterManager != null) {
- characterSO = new(controllers.CharacterManager);
- } else {
- characterSO = null;
- EditorGUILayout.PropertyField(controllersSO.FindProperty("CharacterManager"));
- }
- if (controllersSO != null &&
- scenarSO != null &&
- ChoosingScenarSO != null &&
- dialogSO != null &&
- choiceSO != null &&
- choiceDrawSO != null &&
- characterSO != null) {
- controllersSO.Update();
- scenarSO.Update();
- ChoosingScenarSO.Update();
- choiceSO.Update();
- characterSO.Update();
- choiceDrawSO.Update();
- dialogSO.Update();
- if (EditorApplication.isPlaying) {
- GUILayout.BeginHorizontal();
- EditorGUILayout.PropertyField(choiceDrawSO.FindProperty("ChoiceToSimulate"));
- if (GUILayout.Button("Simulate Choice")) {
- ChoiceManager.Instance.ChoiceDrawing.SimulateChoiceMadeButton();
- }
- GUILayout.EndHorizontal();
- GUILayout.BeginHorizontal();
- if (GUILayout.Button("Save")) {
- SaveSystem.instance.Save();
- }
- if (GUILayout.Button("Load")) {
- SaveSystem.instance.Load();
- }
- GUILayout.EndHorizontal();
- }
- EditorGUILayout.Separator();
- EditorGUILayout.PropertyField(ChoosingScenarSO.FindProperty("playlist"));
- EditorGUILayout.Separator();
- EditorGUILayout.PropertyField(ChoosingScenarSO.FindProperty("ScenarioBank"));
- EditorGUILayout.PropertyField(scenarSO.FindProperty("MaxActiveScenarios"));
- EditorGUILayout.PropertyField(characterSO.FindProperty("maxCharactersOnScreen"));
- EditorGUILayout.PropertyField(characterSO.FindProperty("CharacterOverflowBehavior"));
- EditorGUILayout.Separator();
- controllersSO.ApplyModifiedProperties();
- scenarSO.ApplyModifiedProperties();
- ChoosingScenarSO.ApplyModifiedProperties();
- choiceSO.ApplyModifiedProperties();
- characterSO.ApplyModifiedProperties();
- choiceDrawSO.ApplyModifiedProperties();
- dialogSO.ApplyModifiedProperties();
- }
- controllersSO.ApplyModifiedProperties();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment