Guest User

Untitled

a guest
Feb 28th, 2022
19
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.37 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEditor;
  4. using UnityEngine;
  5. namespace SCOLTool {
  6.     [CustomEditor(typeof(Controllers))]
  7.     public class ControllersEditorScript : Editor {
  8.         public override void OnInspectorGUI() {
  9.             Controllers controllers = (Controllers)target;
  10.             SerializedObject controllersSO = new(target);
  11.             SerializedObject scenarSO;
  12.             SerializedObject ChoosingScenarSO;
  13.             SerializedObject dialogSO;
  14.             SerializedObject choiceSO;
  15.             SerializedObject choiceDrawSO;
  16.             SerializedObject characterSO;
  17.             if (controllers.ScenarioManager != null) {
  18.                 scenarSO = new(controllers.ScenarioManager);
  19.                 ChoosingScenarSO = new(controllers.ScenarioManager.ScenarioChoosing);
  20.             } else {
  21.                 scenarSO = null;
  22.                 ChoosingScenarSO = null;
  23.                 EditorGUILayout.PropertyField(controllersSO.FindProperty("ScenarioManager"));
  24.             }
  25.             if (controllers.DialogManager != null) {
  26.                 dialogSO = new(controllers.DialogManager);
  27.             } else {
  28.                 dialogSO = null;
  29.                 EditorGUILayout.PropertyField(controllersSO.FindProperty("DialogManager"));
  30.             }
  31.             if (controllers.ChoiceManager != null) {
  32.                 choiceSO = new(controllers.ChoiceManager);
  33.                 choiceDrawSO = new(controllers.ChoiceManager.ChoiceDrawing);
  34.             } else {
  35.                 choiceSO = null;
  36.                 choiceDrawSO = null;
  37.                 EditorGUILayout.PropertyField(controllersSO.FindProperty("ChoiceManager"));
  38.             }
  39.             if (controllers.CharacterManager != null) {
  40.                 characterSO = new(controllers.CharacterManager);
  41.             } else {
  42.                 characterSO = null;
  43.                 EditorGUILayout.PropertyField(controllersSO.FindProperty("CharacterManager"));
  44.             }
  45.  
  46.             if (controllersSO != null &&
  47.                 scenarSO != null &&
  48.                 ChoosingScenarSO != null &&
  49.                 dialogSO != null &&
  50.                 choiceSO != null &&
  51.                 choiceDrawSO != null &&
  52.                 characterSO != null) {
  53.                 controllersSO.Update();
  54.                 scenarSO.Update();
  55.                 ChoosingScenarSO.Update();
  56.                 choiceSO.Update();
  57.                 characterSO.Update();
  58.                 choiceDrawSO.Update();
  59.                 dialogSO.Update();
  60.                 if (EditorApplication.isPlaying) {
  61.                     GUILayout.BeginHorizontal();
  62.                     EditorGUILayout.PropertyField(choiceDrawSO.FindProperty("ChoiceToSimulate"));
  63.                     if (GUILayout.Button("Simulate Choice")) {
  64.                         ChoiceManager.Instance.ChoiceDrawing.SimulateChoiceMadeButton();
  65.                     }
  66.                     GUILayout.EndHorizontal();
  67.                     GUILayout.BeginHorizontal();
  68.                     if (GUILayout.Button("Save")) {
  69.                         SaveSystem.instance.Save();
  70.                     }
  71.                     if (GUILayout.Button("Load")) {
  72.                         SaveSystem.instance.Load();
  73.                     }
  74.                     GUILayout.EndHorizontal();
  75.                 }
  76.                 EditorGUILayout.Separator();
  77.                 EditorGUILayout.PropertyField(ChoosingScenarSO.FindProperty("playlist"));
  78.                 EditorGUILayout.Separator();
  79.                 EditorGUILayout.PropertyField(ChoosingScenarSO.FindProperty("ScenarioBank"));
  80.                 EditorGUILayout.PropertyField(scenarSO.FindProperty("MaxActiveScenarios"));
  81.                 EditorGUILayout.PropertyField(characterSO.FindProperty("maxCharactersOnScreen"));
  82.                 EditorGUILayout.PropertyField(characterSO.FindProperty("CharacterOverflowBehavior"));
  83.                 EditorGUILayout.Separator();
  84.  
  85.  
  86.                 controllersSO.ApplyModifiedProperties();
  87.                 scenarSO.ApplyModifiedProperties();
  88.                 ChoosingScenarSO.ApplyModifiedProperties();
  89.                 choiceSO.ApplyModifiedProperties();
  90.                 characterSO.ApplyModifiedProperties();
  91.                 choiceDrawSO.ApplyModifiedProperties();
  92.                 dialogSO.ApplyModifiedProperties();
  93.             }
  94.             controllersSO.ApplyModifiedProperties();
  95.         }
  96.     }
  97.  
  98. }
  99.  
Advertisement
Add Comment
Please, Sign In to add comment