net.dreditor.roombuilding 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.attestation.p7m +0 -0
- package/DREditor.RoomBuilding.asmdef +28 -28
- package/DREditor.RoomBuilding.asmdef.meta +7 -7
- package/Editor/DREditor.RoomBuilding.Editor.asmdef +19 -19
- package/Editor/DREditor.RoomBuilding.Editor.asmdef.meta +7 -7
- package/Editor/FindCharactersInRoomsWizard.cs +55 -55
- package/Editor/FindCharactersInRoomsWizard.cs.meta +11 -11
- package/Editor/RoomBuilderContainsObjective.cs +38 -38
- package/Editor/RoomBuilderContainsObjective.cs.meta +11 -11
- package/Editor/RoomBuilderScanWizard.cs +90 -90
- package/Editor/RoomBuilderScanWizard.cs.meta +11 -11
- package/Editor/ScanRoomBuilders.cs +74 -74
- package/Editor/ScanRoomBuilders.cs.meta +11 -11
- package/Editor.meta +8 -8
- package/Implementation/Actors/ActorData.cs +115 -115
- package/Implementation/Actors/ActorData.cs.meta +11 -11
- package/Implementation/Actors/ActorStateData.cs +10 -10
- package/Implementation/Actors/ActorStateData.cs.meta +11 -11
- package/Implementation/Actors/ActorStateLoader.cs +344 -344
- package/Implementation/Actors/ActorStateLoader.cs.meta +11 -11
- package/Implementation/Actors/TActorData.cs +35 -35
- package/Implementation/Actors/TActorData.cs.meta +11 -11
- package/Implementation/Actors/TrialActorManager.cs +157 -157
- package/Implementation/Actors/TrialActorManager.cs.meta +11 -11
- package/Implementation/Actors.meta +8 -8
- package/Implementation/DoorLoader.cs +117 -117
- package/Implementation/DoorLoader.cs.meta +11 -11
- package/Implementation/DoorLoaderUtility.cs +51 -51
- package/Implementation/DoorLoaderUtility.cs.meta +11 -11
- package/Implementation/DoorStateData.cs +11 -11
- package/Implementation/DoorStateData.cs.meta +11 -11
- package/Implementation/ItemActorLoader.cs +157 -157
- package/Implementation/ItemActorLoader.cs.meta +11 -11
- package/Implementation/ItemData.cs +67 -67
- package/Implementation/ItemData.cs.meta +11 -11
- package/Implementation/ItemStateData.cs +10 -10
- package/Implementation/ItemStateData.cs.meta +11 -11
- package/Implementation/MoveLoader.cs +67 -67
- package/Implementation/MoveLoader.cs.meta +11 -11
- package/Implementation/MoveStateData.cs +11 -11
- package/Implementation/MoveStateData.cs.meta +11 -11
- package/Implementation/RoomStateHandlerBase.cs +241 -241
- package/Implementation/RoomStateHandlerBase.cs.meta +11 -11
- package/Implementation/SaveableData.cs +56 -56
- package/Implementation/SaveableData.cs.meta +11 -11
- package/Implementation/SaveableDataSet.cs +66 -66
- package/Implementation/SaveableDataSet.cs.meta +11 -11
- package/Implementation/SaveableManager.cs +70 -70
- package/Implementation/SaveableManager.cs.meta +11 -11
- package/Implementation/SaveableStateData.cs +10 -10
- package/Implementation/SaveableStateData.cs.meta +11 -11
- package/Implementation/SpawnableLoader.cs +125 -125
- package/Implementation/SpawnableLoader.cs.meta +11 -11
- package/Implementation/SpawnableStateData.cs +11 -11
- package/Implementation/SpawnableStateData.cs.meta +11 -11
- package/Implementation/StateDataAsset.cs +28 -28
- package/Implementation/StateDataAsset.cs.meta +11 -11
- package/Implementation/SubAreaLoader.cs +108 -108
- package/Implementation/SubAreaLoader.cs.meta +11 -11
- package/Implementation/SubAreaStateData.cs +11 -11
- package/Implementation/SubAreaStateData.cs.meta +11 -11
- package/Implementation/TriggerConverter.cs +137 -137
- package/Implementation/TriggerConverter.cs.meta +11 -11
- package/Implementation/TriggerLoader.cs +295 -295
- package/Implementation/TriggerLoader.cs.meta +11 -11
- package/Implementation/TriggerStateData.cs +18 -18
- package/Implementation/TriggerStateData.cs.meta +11 -11
- package/Implementation.meta +8 -8
- package/InstanceListWrapper.cs +23 -23
- package/InstanceListWrapper.cs.meta +11 -11
- package/Instances/ConvertInstanceData.cs +89 -89
- package/Instances/ConvertInstanceData.cs.meta +11 -11
- package/Instances/InstanceData.cs +43 -43
- package/Instances/InstanceData.cs.meta +11 -11
- package/Instances/InstanceStateData.cs +51 -51
- package/Instances/InstanceStateData.cs.meta +11 -11
- package/Instances/RoomInstanceData.cs +68 -68
- package/Instances/RoomInstanceData.cs.meta +11 -11
- package/Instances/RoomInstanceManager.cs +452 -452
- package/Instances/RoomInstanceManager.cs.meta +11 -11
- package/Instances.meta +8 -8
- package/LoadInvestigationRoomState.cs +53 -53
- package/LoadInvestigationRoomState.cs.meta +11 -11
- package/Old/ActorLoader.cs +382 -382
- package/Old/ActorLoader.cs.meta +11 -11
- package/Old/Room.cs +24 -24
- package/Old/Room.cs.meta +11 -11
- package/Old/RoomBuilder.cs +59 -59
- package/Old/RoomBuilder.cs.meta +11 -11
- package/Old/RoomData.cs +90 -90
- package/Old/RoomData.cs.meta +11 -11
- package/Old/RoomManager.cs +256 -256
- package/Old/RoomManager.cs.meta +11 -11
- package/Old/RoomManagerDisplayEditor.cs +72 -72
- package/Old/RoomManagerDisplayEditor.cs.meta +11 -11
- package/Old/RoomManagerEditor.cs +211 -211
- package/Old/RoomManagerEditor.cs.meta +11 -11
- package/Old/RoomManagerShellDisplayEditor.cs +48 -48
- package/Old/RoomManagerShellDisplayEditor.cs.meta +11 -11
- package/Old/RoomSection.cs +35 -35
- package/Old/RoomSection.cs.meta +11 -11
- package/Old.meta +8 -8
- package/RoomManagerBase.cs +84 -84
- package/RoomManagerBase.cs.meta +11 -11
- package/RoomManagerEditorBase.cs +86 -86
- package/RoomManagerEditorBase.cs.meta +11 -11
- package/RoomManagerEditorCoreBase.cs +159 -159
- package/RoomManagerEditorCoreBase.cs.meta +11 -11
- package/RoomSaveDisplayEditorBase.cs +111 -111
- package/RoomSaveDisplayEditorBase.cs.meta +11 -11
- package/RoomShellDisplayEditorBase.cs +68 -68
- package/RoomShellDisplayEditorBase.cs.meta +11 -11
- package/RoomStateBuilder.cs +53 -53
- package/RoomStateBuilder.cs.meta +11 -11
- package/RoomStateData.cs +58 -58
- package/RoomStateData.cs.meta +11 -11
- package/RoomStateManager.cs +202 -202
- package/RoomStateManager.cs.meta +11 -11
- package/RoomStateManagerEditor.cs +392 -392
- package/RoomStateManagerEditor.cs.meta +11 -11
- package/RoomStateSaveDisplayEditor.cs +175 -175
- package/RoomStateSaveDisplayEditor.cs.meta +11 -11
- package/RoomStateSection.cs +69 -69
- package/RoomStateSection.cs.meta +11 -11
- package/RoomStateShellDisplayEditor.cs +108 -108
- package/RoomStateShellDisplayEditor.cs.meta +11 -11
- package/{Samples → Samples~}/Room_State_Manager.prefab +473 -473
- package/{Samples → Samples~}/Room_State_Manager.prefab.meta +7 -7
- package/{Samples → Samples~}/Trial_Actor_Manager.prefab +51 -51
- package/{Samples → Samples~}/Trial_Actor_Manager.prefab.meta +7 -7
- package/package.json +51 -46
- package/package.json.meta +7 -7
- package/Samples.meta +0 -8
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
#if UNITY_EDITOR
|
|
3
|
-
using DREditor.RoomBuilding.Implementation;
|
|
4
|
-
using DREditor.Editor.Utility;
|
|
5
|
-
using UnityEngine;
|
|
6
|
-
|
|
7
|
-
namespace DREditor.RoomBuilding.Old
|
|
8
|
-
{
|
|
9
|
-
/// <summary>
|
|
10
|
-
///
|
|
11
|
-
/// </summary>
|
|
12
|
-
public class RoomManagerDisplayEditor : RoomSaveDisplayEditorBase
|
|
13
|
-
{
|
|
14
|
-
readonly RoomManager manager;
|
|
15
|
-
|
|
16
|
-
public RoomManagerDisplayEditor(RoomManager manager)
|
|
17
|
-
{
|
|
18
|
-
this.manager = manager;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/// <inheritdoc/>
|
|
22
|
-
public override void LoadRoom(object room)
|
|
23
|
-
{
|
|
24
|
-
ActorLoader.UnloadActors(true);
|
|
25
|
-
|
|
26
|
-
manager.LoadRoom((RoomData)room);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/// <inheritdoc/>
|
|
30
|
-
public override void OverwriteRoom(object current, object room, int i)
|
|
31
|
-
{
|
|
32
|
-
((RoomSection)current).Rooms[i] = manager.OverwriteRoom((RoomData)room);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/// <inheritdoc/>
|
|
36
|
-
public override void DeleteRoom(object current, object room) => ((RoomSection)current).Rooms.Remove((RoomData)room);
|
|
37
|
-
|
|
38
|
-
/// <inheritdoc/>
|
|
39
|
-
public override void DisplayRoomPieces(object roomData)
|
|
40
|
-
{
|
|
41
|
-
RoomData room = (RoomData)roomData;
|
|
42
|
-
|
|
43
|
-
room.SetPersistent(HandyFields.BoolField(room.isPersistent, "Is Persistent: "));
|
|
44
|
-
|
|
45
|
-
if (Button("Load Actors"))
|
|
46
|
-
ActorLoader.Load(room);
|
|
47
|
-
|
|
48
|
-
if (Button("Load Items"))
|
|
49
|
-
ItemActorLoader.LoadItems(room.itemDatas);
|
|
50
|
-
|
|
51
|
-
if (Button("Load Doors"))
|
|
52
|
-
DoorLoader.Load(room.doorDatas);
|
|
53
|
-
|
|
54
|
-
if (Button("Load Moveables"))
|
|
55
|
-
MoveLoader.Load(room.moveDatas);
|
|
56
|
-
|
|
57
|
-
if (Button("Load Triggers"))
|
|
58
|
-
TriggerLoader.Load(room.triggers);
|
|
59
|
-
|
|
60
|
-
if (Button("Load Spawnables"))
|
|
61
|
-
SpawnableLoader.LoadSpawnables(room.spawnDatas);
|
|
62
|
-
|
|
63
|
-
if (Button("Load SubAreas"))
|
|
64
|
-
SubAreaLoader.Load(room.subAreas);
|
|
65
|
-
|
|
66
|
-
if (Button("Load Saveables"))
|
|
67
|
-
SaveableManager.Load(room.saveables);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
protected bool Button(string s) => GUILayout.Button(s, GUILayout.Width(150));
|
|
71
|
-
}
|
|
72
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
#if UNITY_EDITOR
|
|
3
|
+
using DREditor.RoomBuilding.Implementation;
|
|
4
|
+
using DREditor.Editor.Utility;
|
|
5
|
+
using UnityEngine;
|
|
6
|
+
|
|
7
|
+
namespace DREditor.RoomBuilding.Old
|
|
8
|
+
{
|
|
9
|
+
/// <summary>
|
|
10
|
+
///
|
|
11
|
+
/// </summary>
|
|
12
|
+
public class RoomManagerDisplayEditor : RoomSaveDisplayEditorBase
|
|
13
|
+
{
|
|
14
|
+
readonly RoomManager manager;
|
|
15
|
+
|
|
16
|
+
public RoomManagerDisplayEditor(RoomManager manager)
|
|
17
|
+
{
|
|
18
|
+
this.manager = manager;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/// <inheritdoc/>
|
|
22
|
+
public override void LoadRoom(object room)
|
|
23
|
+
{
|
|
24
|
+
ActorLoader.UnloadActors(true);
|
|
25
|
+
|
|
26
|
+
manager.LoadRoom((RoomData)room);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/// <inheritdoc/>
|
|
30
|
+
public override void OverwriteRoom(object current, object room, int i)
|
|
31
|
+
{
|
|
32
|
+
((RoomSection)current).Rooms[i] = manager.OverwriteRoom((RoomData)room);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/// <inheritdoc/>
|
|
36
|
+
public override void DeleteRoom(object current, object room) => ((RoomSection)current).Rooms.Remove((RoomData)room);
|
|
37
|
+
|
|
38
|
+
/// <inheritdoc/>
|
|
39
|
+
public override void DisplayRoomPieces(object roomData)
|
|
40
|
+
{
|
|
41
|
+
RoomData room = (RoomData)roomData;
|
|
42
|
+
|
|
43
|
+
room.SetPersistent(HandyFields.BoolField(room.isPersistent, "Is Persistent: "));
|
|
44
|
+
|
|
45
|
+
if (Button("Load Actors"))
|
|
46
|
+
ActorLoader.Load(room);
|
|
47
|
+
|
|
48
|
+
if (Button("Load Items"))
|
|
49
|
+
ItemActorLoader.LoadItems(room.itemDatas);
|
|
50
|
+
|
|
51
|
+
if (Button("Load Doors"))
|
|
52
|
+
DoorLoader.Load(room.doorDatas);
|
|
53
|
+
|
|
54
|
+
if (Button("Load Moveables"))
|
|
55
|
+
MoveLoader.Load(room.moveDatas);
|
|
56
|
+
|
|
57
|
+
if (Button("Load Triggers"))
|
|
58
|
+
TriggerLoader.Load(room.triggers);
|
|
59
|
+
|
|
60
|
+
if (Button("Load Spawnables"))
|
|
61
|
+
SpawnableLoader.LoadSpawnables(room.spawnDatas);
|
|
62
|
+
|
|
63
|
+
if (Button("Load SubAreas"))
|
|
64
|
+
SubAreaLoader.Load(room.subAreas);
|
|
65
|
+
|
|
66
|
+
if (Button("Load Saveables"))
|
|
67
|
+
SaveableManager.Load(room.saveables);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
protected bool Button(string s) => GUILayout.Button(s, GUILayout.Width(150));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
73
|
#endif
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: bcfc15990646cab4b97bfb10e0d9457f
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: bcfc15990646cab4b97bfb10e0d9457f
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
package/Old/RoomManagerEditor.cs
CHANGED
|
@@ -1,212 +1,212 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
#if UNITY_EDITOR
|
|
3
|
-
using DREditor.Progressing;
|
|
4
|
-
using DREditor.RoomBuilding.Implementation;
|
|
5
|
-
using DREditor.Editor.Utility;
|
|
6
|
-
using System.Linq;
|
|
7
|
-
using UnityEditor;
|
|
8
|
-
using UnityEngine;
|
|
9
|
-
|
|
10
|
-
namespace DREditor.RoomBuilding.Old
|
|
11
|
-
{
|
|
12
|
-
/// <summary>
|
|
13
|
-
///
|
|
14
|
-
/// </summary>
|
|
15
|
-
[CustomEditor(typeof(RoomManager))]
|
|
16
|
-
[CanEditMultipleObjects]
|
|
17
|
-
public class RoomManagerEditor : RoomManagerEditorBase
|
|
18
|
-
{
|
|
19
|
-
RoomManager manager;
|
|
20
|
-
|
|
21
|
-
RoomBuilder builder;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
/// <inheritdoc/>
|
|
25
|
-
protected override void OnEnable()
|
|
26
|
-
{
|
|
27
|
-
manager = (RoomManager)target;
|
|
28
|
-
|
|
29
|
-
managerBase = manager;
|
|
30
|
-
|
|
31
|
-
editor = new(manager);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
base.OnEnable();
|
|
35
|
-
|
|
36
|
-
shellEditor = new(manager, manager.Builder);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
#region Builder Initialization
|
|
40
|
-
|
|
41
|
-
/// <inheritdoc/>
|
|
42
|
-
protected override void SetBuilderDirty()
|
|
43
|
-
{
|
|
44
|
-
if (manager.Builder != null)
|
|
45
|
-
EditorUtility.SetDirty(builder);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/// <inheritdoc/>
|
|
49
|
-
protected override bool DisplayBuilderField()
|
|
50
|
-
{
|
|
51
|
-
using (new EditorGUILayout.HorizontalScope())
|
|
52
|
-
{
|
|
53
|
-
manager.SetBuilder(HandyFields.UnityField(manager.Builder, 200, 35));
|
|
54
|
-
|
|
55
|
-
if (manager.Builder != null && builder == null)
|
|
56
|
-
builder = manager.Builder;
|
|
57
|
-
|
|
58
|
-
if (GUILayout.Button("Apply Changes"))
|
|
59
|
-
EditorUtility.SetDirty(manager);
|
|
60
|
-
|
|
61
|
-
return true;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/// <inheritdoc/>
|
|
66
|
-
protected override bool IsManagerBuilderValid() => manager.Builder != null;
|
|
67
|
-
|
|
68
|
-
#endregion
|
|
69
|
-
|
|
70
|
-
#region Create Room Save
|
|
71
|
-
|
|
72
|
-
/// <inheritdoc/>
|
|
73
|
-
protected override void DisplayShellData()
|
|
74
|
-
{
|
|
75
|
-
shellEditor.DisplayShellData();
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/// <inheritdoc/>
|
|
79
|
-
protected override void SaveRoom(Objective pValue)
|
|
80
|
-
{
|
|
81
|
-
RoomData room = manager.NewSaveRoom(pValue);
|
|
82
|
-
|
|
83
|
-
UnityEngine.Debug.Log(JsonUtility.ToJson(room));
|
|
84
|
-
|
|
85
|
-
var look = builder.Sections.Where(n => n.Chapter == managerBase.Chapter).ToList();
|
|
86
|
-
|
|
87
|
-
int index = managerBase.intChapter;
|
|
88
|
-
|
|
89
|
-
if (look.Count > 0)
|
|
90
|
-
index = builder.Sections.IndexOf(look[0]);
|
|
91
|
-
|
|
92
|
-
builder.Sections[index].Rooms.Add(room);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
#endregion
|
|
96
|
-
|
|
97
|
-
#region Clear Drop Down
|
|
98
|
-
|
|
99
|
-
/// <inheritdoc/>
|
|
100
|
-
protected override void OnClearFoldOut()
|
|
101
|
-
{
|
|
102
|
-
if (GUILayout.Button("Unload Spawnables", GUILayout.Width(150)))
|
|
103
|
-
if (EditorUtility.DisplayDialog("Unload Spawnables", "Are you sure you want to destroy all Spawnables?",
|
|
104
|
-
"Yes", "No"))
|
|
105
|
-
{
|
|
106
|
-
SpawnableLoader.UnloadSpawnables(true);
|
|
107
|
-
EditorUtility.SetDirty(manager);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
if (GUILayout.Button("Unload Actors", GUILayout.Width(150)))
|
|
111
|
-
if (EditorUtility.DisplayDialog("Unload Actors",
|
|
112
|
-
"Warning! All REFERENCED objects with the Actor component will be destroyed. Are you sure?",
|
|
113
|
-
"Yes", "No"))
|
|
114
|
-
{
|
|
115
|
-
ActorLoader.UnloadActors(true);
|
|
116
|
-
EditorUtility.SetDirty(manager);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
if (GUILayout.Button("Unload Actuators", GUILayout.Width(150)))
|
|
120
|
-
if (EditorUtility.DisplayDialog("Clear Actuators", "Are you sure you want to clear all Actuators?",
|
|
121
|
-
"Yes", "No"))
|
|
122
|
-
{
|
|
123
|
-
TriggerLoader.UnloadEvents();
|
|
124
|
-
EditorUtility.SetDirty(manager);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
if (GUILayout.Button("Clear Door Locks", GUILayout.Width(150)))
|
|
128
|
-
if (EditorUtility.DisplayDialog("Clear Door Locks", "Are you sure you want to clear Door Locks?",
|
|
129
|
-
"Yes", "No"))
|
|
130
|
-
{
|
|
131
|
-
DoorLoader.UnloadDoors();
|
|
132
|
-
EditorUtility.SetDirty(manager);
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
if (GUILayout.Button("Clear Items", GUILayout.Width(150)))
|
|
136
|
-
if (EditorUtility.DisplayDialog("Clear Items", "Are you sure you want to clear all Item Data?",
|
|
137
|
-
"Yes", "No"))
|
|
138
|
-
{
|
|
139
|
-
ItemActorLoader.UnloadItems();
|
|
140
|
-
EditorUtility.SetDirty(manager);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
/// <inheritdoc/>
|
|
145
|
-
protected override void ClearAll()
|
|
146
|
-
{
|
|
147
|
-
SpawnableLoader.UnloadSpawnables(true);
|
|
148
|
-
|
|
149
|
-
ActorLoader.UnloadActors(true);
|
|
150
|
-
|
|
151
|
-
ItemActorLoader.UnloadItems();
|
|
152
|
-
|
|
153
|
-
TriggerLoader.UnloadEvents();
|
|
154
|
-
|
|
155
|
-
DoorLoader.UnloadDoors();
|
|
156
|
-
|
|
157
|
-
EditorUtility.SetDirty(manager);
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
#endregion
|
|
161
|
-
|
|
162
|
-
#region Load Room Save
|
|
163
|
-
|
|
164
|
-
/// <inheritdoc/>
|
|
165
|
-
protected override void DisplayRoomStates()
|
|
166
|
-
{
|
|
167
|
-
RoomSection current = null;
|
|
168
|
-
|
|
169
|
-
foreach (RoomSection r in builder.Sections)
|
|
170
|
-
{
|
|
171
|
-
if (r.Chapter == pDB.Chapters[pDB.Chapters.IndexOf(managerBase.Chapter)])
|
|
172
|
-
{
|
|
173
|
-
current = r;
|
|
174
|
-
|
|
175
|
-
break;
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
if (current == null)
|
|
180
|
-
{
|
|
181
|
-
GUILayout.Label("Couldn't find a Room Builder Section with the related chapter. " +
|
|
182
|
-
"Please do not create a room save while this is showing.");
|
|
183
|
-
|
|
184
|
-
return;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
if (current.Rooms.Count > 0)
|
|
188
|
-
{
|
|
189
|
-
if (editor.saveFolds.Count != current.Rooms.Count)
|
|
190
|
-
for (int i = 0; i < current.Rooms.Count; i++)
|
|
191
|
-
editor.saveFolds.Add(false);
|
|
192
|
-
|
|
193
|
-
string foldTitle = "Saved Rooms";
|
|
194
|
-
|
|
195
|
-
roomFold = EditorGUILayout.Foldout(roomFold, foldTitle);
|
|
196
|
-
|
|
197
|
-
if (roomFold)
|
|
198
|
-
{
|
|
199
|
-
GUILayout.Label("On Load will remove REFERENCED Actors");
|
|
200
|
-
|
|
201
|
-
for (int i = 0; i < current.Rooms.Count; i++)
|
|
202
|
-
editor.DisplayRoomSave(current, i, current.Rooms[i], current.Rooms[i].progressionValue.Description);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
RoomManagerShellDisplayEditor shellEditor;
|
|
208
|
-
RoomManagerDisplayEditor editor;
|
|
209
|
-
#endregion
|
|
210
|
-
}
|
|
211
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
#if UNITY_EDITOR
|
|
3
|
+
using DREditor.Progressing;
|
|
4
|
+
using DREditor.RoomBuilding.Implementation;
|
|
5
|
+
using DREditor.Editor.Utility;
|
|
6
|
+
using System.Linq;
|
|
7
|
+
using UnityEditor;
|
|
8
|
+
using UnityEngine;
|
|
9
|
+
|
|
10
|
+
namespace DREditor.RoomBuilding.Old
|
|
11
|
+
{
|
|
12
|
+
/// <summary>
|
|
13
|
+
///
|
|
14
|
+
/// </summary>
|
|
15
|
+
[CustomEditor(typeof(RoomManager))]
|
|
16
|
+
[CanEditMultipleObjects]
|
|
17
|
+
public class RoomManagerEditor : RoomManagerEditorBase
|
|
18
|
+
{
|
|
19
|
+
RoomManager manager;
|
|
20
|
+
|
|
21
|
+
RoomBuilder builder;
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
/// <inheritdoc/>
|
|
25
|
+
protected override void OnEnable()
|
|
26
|
+
{
|
|
27
|
+
manager = (RoomManager)target;
|
|
28
|
+
|
|
29
|
+
managerBase = manager;
|
|
30
|
+
|
|
31
|
+
editor = new(manager);
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
base.OnEnable();
|
|
35
|
+
|
|
36
|
+
shellEditor = new(manager, manager.Builder);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
#region Builder Initialization
|
|
40
|
+
|
|
41
|
+
/// <inheritdoc/>
|
|
42
|
+
protected override void SetBuilderDirty()
|
|
43
|
+
{
|
|
44
|
+
if (manager.Builder != null)
|
|
45
|
+
EditorUtility.SetDirty(builder);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/// <inheritdoc/>
|
|
49
|
+
protected override bool DisplayBuilderField()
|
|
50
|
+
{
|
|
51
|
+
using (new EditorGUILayout.HorizontalScope())
|
|
52
|
+
{
|
|
53
|
+
manager.SetBuilder(HandyFields.UnityField(manager.Builder, 200, 35));
|
|
54
|
+
|
|
55
|
+
if (manager.Builder != null && builder == null)
|
|
56
|
+
builder = manager.Builder;
|
|
57
|
+
|
|
58
|
+
if (GUILayout.Button("Apply Changes"))
|
|
59
|
+
EditorUtility.SetDirty(manager);
|
|
60
|
+
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/// <inheritdoc/>
|
|
66
|
+
protected override bool IsManagerBuilderValid() => manager.Builder != null;
|
|
67
|
+
|
|
68
|
+
#endregion
|
|
69
|
+
|
|
70
|
+
#region Create Room Save
|
|
71
|
+
|
|
72
|
+
/// <inheritdoc/>
|
|
73
|
+
protected override void DisplayShellData()
|
|
74
|
+
{
|
|
75
|
+
shellEditor.DisplayShellData();
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/// <inheritdoc/>
|
|
79
|
+
protected override void SaveRoom(Objective pValue)
|
|
80
|
+
{
|
|
81
|
+
RoomData room = manager.NewSaveRoom(pValue);
|
|
82
|
+
|
|
83
|
+
UnityEngine.Debug.Log(JsonUtility.ToJson(room));
|
|
84
|
+
|
|
85
|
+
var look = builder.Sections.Where(n => n.Chapter == managerBase.Chapter).ToList();
|
|
86
|
+
|
|
87
|
+
int index = managerBase.intChapter;
|
|
88
|
+
|
|
89
|
+
if (look.Count > 0)
|
|
90
|
+
index = builder.Sections.IndexOf(look[0]);
|
|
91
|
+
|
|
92
|
+
builder.Sections[index].Rooms.Add(room);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
#endregion
|
|
96
|
+
|
|
97
|
+
#region Clear Drop Down
|
|
98
|
+
|
|
99
|
+
/// <inheritdoc/>
|
|
100
|
+
protected override void OnClearFoldOut()
|
|
101
|
+
{
|
|
102
|
+
if (GUILayout.Button("Unload Spawnables", GUILayout.Width(150)))
|
|
103
|
+
if (EditorUtility.DisplayDialog("Unload Spawnables", "Are you sure you want to destroy all Spawnables?",
|
|
104
|
+
"Yes", "No"))
|
|
105
|
+
{
|
|
106
|
+
SpawnableLoader.UnloadSpawnables(true);
|
|
107
|
+
EditorUtility.SetDirty(manager);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
if (GUILayout.Button("Unload Actors", GUILayout.Width(150)))
|
|
111
|
+
if (EditorUtility.DisplayDialog("Unload Actors",
|
|
112
|
+
"Warning! All REFERENCED objects with the Actor component will be destroyed. Are you sure?",
|
|
113
|
+
"Yes", "No"))
|
|
114
|
+
{
|
|
115
|
+
ActorLoader.UnloadActors(true);
|
|
116
|
+
EditorUtility.SetDirty(manager);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if (GUILayout.Button("Unload Actuators", GUILayout.Width(150)))
|
|
120
|
+
if (EditorUtility.DisplayDialog("Clear Actuators", "Are you sure you want to clear all Actuators?",
|
|
121
|
+
"Yes", "No"))
|
|
122
|
+
{
|
|
123
|
+
TriggerLoader.UnloadEvents();
|
|
124
|
+
EditorUtility.SetDirty(manager);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
if (GUILayout.Button("Clear Door Locks", GUILayout.Width(150)))
|
|
128
|
+
if (EditorUtility.DisplayDialog("Clear Door Locks", "Are you sure you want to clear Door Locks?",
|
|
129
|
+
"Yes", "No"))
|
|
130
|
+
{
|
|
131
|
+
DoorLoader.UnloadDoors();
|
|
132
|
+
EditorUtility.SetDirty(manager);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
if (GUILayout.Button("Clear Items", GUILayout.Width(150)))
|
|
136
|
+
if (EditorUtility.DisplayDialog("Clear Items", "Are you sure you want to clear all Item Data?",
|
|
137
|
+
"Yes", "No"))
|
|
138
|
+
{
|
|
139
|
+
ItemActorLoader.UnloadItems();
|
|
140
|
+
EditorUtility.SetDirty(manager);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/// <inheritdoc/>
|
|
145
|
+
protected override void ClearAll()
|
|
146
|
+
{
|
|
147
|
+
SpawnableLoader.UnloadSpawnables(true);
|
|
148
|
+
|
|
149
|
+
ActorLoader.UnloadActors(true);
|
|
150
|
+
|
|
151
|
+
ItemActorLoader.UnloadItems();
|
|
152
|
+
|
|
153
|
+
TriggerLoader.UnloadEvents();
|
|
154
|
+
|
|
155
|
+
DoorLoader.UnloadDoors();
|
|
156
|
+
|
|
157
|
+
EditorUtility.SetDirty(manager);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
#endregion
|
|
161
|
+
|
|
162
|
+
#region Load Room Save
|
|
163
|
+
|
|
164
|
+
/// <inheritdoc/>
|
|
165
|
+
protected override void DisplayRoomStates()
|
|
166
|
+
{
|
|
167
|
+
RoomSection current = null;
|
|
168
|
+
|
|
169
|
+
foreach (RoomSection r in builder.Sections)
|
|
170
|
+
{
|
|
171
|
+
if (r.Chapter == pDB.Chapters[pDB.Chapters.IndexOf(managerBase.Chapter)])
|
|
172
|
+
{
|
|
173
|
+
current = r;
|
|
174
|
+
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
if (current == null)
|
|
180
|
+
{
|
|
181
|
+
GUILayout.Label("Couldn't find a Room Builder Section with the related chapter. " +
|
|
182
|
+
"Please do not create a room save while this is showing.");
|
|
183
|
+
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
if (current.Rooms.Count > 0)
|
|
188
|
+
{
|
|
189
|
+
if (editor.saveFolds.Count != current.Rooms.Count)
|
|
190
|
+
for (int i = 0; i < current.Rooms.Count; i++)
|
|
191
|
+
editor.saveFolds.Add(false);
|
|
192
|
+
|
|
193
|
+
string foldTitle = "Saved Rooms";
|
|
194
|
+
|
|
195
|
+
roomFold = EditorGUILayout.Foldout(roomFold, foldTitle);
|
|
196
|
+
|
|
197
|
+
if (roomFold)
|
|
198
|
+
{
|
|
199
|
+
GUILayout.Label("On Load will remove REFERENCED Actors");
|
|
200
|
+
|
|
201
|
+
for (int i = 0; i < current.Rooms.Count; i++)
|
|
202
|
+
editor.DisplayRoomSave(current, i, current.Rooms[i], current.Rooms[i].progressionValue.Description);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
RoomManagerShellDisplayEditor shellEditor;
|
|
208
|
+
RoomManagerDisplayEditor editor;
|
|
209
|
+
#endregion
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
212
|
#endif
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 3058746b322b41a4eab4ff90ec738c72
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 3058746b322b41a4eab4ff90ec738c72
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|