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.
Files changed (133) hide show
  1. package/.attestation.p7m +0 -0
  2. package/DREditor.RoomBuilding.asmdef +28 -28
  3. package/DREditor.RoomBuilding.asmdef.meta +7 -7
  4. package/Editor/DREditor.RoomBuilding.Editor.asmdef +19 -19
  5. package/Editor/DREditor.RoomBuilding.Editor.asmdef.meta +7 -7
  6. package/Editor/FindCharactersInRoomsWizard.cs +55 -55
  7. package/Editor/FindCharactersInRoomsWizard.cs.meta +11 -11
  8. package/Editor/RoomBuilderContainsObjective.cs +38 -38
  9. package/Editor/RoomBuilderContainsObjective.cs.meta +11 -11
  10. package/Editor/RoomBuilderScanWizard.cs +90 -90
  11. package/Editor/RoomBuilderScanWizard.cs.meta +11 -11
  12. package/Editor/ScanRoomBuilders.cs +74 -74
  13. package/Editor/ScanRoomBuilders.cs.meta +11 -11
  14. package/Editor.meta +8 -8
  15. package/Implementation/Actors/ActorData.cs +115 -115
  16. package/Implementation/Actors/ActorData.cs.meta +11 -11
  17. package/Implementation/Actors/ActorStateData.cs +10 -10
  18. package/Implementation/Actors/ActorStateData.cs.meta +11 -11
  19. package/Implementation/Actors/ActorStateLoader.cs +344 -344
  20. package/Implementation/Actors/ActorStateLoader.cs.meta +11 -11
  21. package/Implementation/Actors/TActorData.cs +35 -35
  22. package/Implementation/Actors/TActorData.cs.meta +11 -11
  23. package/Implementation/Actors/TrialActorManager.cs +157 -157
  24. package/Implementation/Actors/TrialActorManager.cs.meta +11 -11
  25. package/Implementation/Actors.meta +8 -8
  26. package/Implementation/DoorLoader.cs +117 -117
  27. package/Implementation/DoorLoader.cs.meta +11 -11
  28. package/Implementation/DoorLoaderUtility.cs +51 -51
  29. package/Implementation/DoorLoaderUtility.cs.meta +11 -11
  30. package/Implementation/DoorStateData.cs +11 -11
  31. package/Implementation/DoorStateData.cs.meta +11 -11
  32. package/Implementation/ItemActorLoader.cs +157 -157
  33. package/Implementation/ItemActorLoader.cs.meta +11 -11
  34. package/Implementation/ItemData.cs +67 -67
  35. package/Implementation/ItemData.cs.meta +11 -11
  36. package/Implementation/ItemStateData.cs +10 -10
  37. package/Implementation/ItemStateData.cs.meta +11 -11
  38. package/Implementation/MoveLoader.cs +67 -67
  39. package/Implementation/MoveLoader.cs.meta +11 -11
  40. package/Implementation/MoveStateData.cs +11 -11
  41. package/Implementation/MoveStateData.cs.meta +11 -11
  42. package/Implementation/RoomStateHandlerBase.cs +241 -241
  43. package/Implementation/RoomStateHandlerBase.cs.meta +11 -11
  44. package/Implementation/SaveableData.cs +56 -56
  45. package/Implementation/SaveableData.cs.meta +11 -11
  46. package/Implementation/SaveableDataSet.cs +66 -66
  47. package/Implementation/SaveableDataSet.cs.meta +11 -11
  48. package/Implementation/SaveableManager.cs +70 -70
  49. package/Implementation/SaveableManager.cs.meta +11 -11
  50. package/Implementation/SaveableStateData.cs +10 -10
  51. package/Implementation/SaveableStateData.cs.meta +11 -11
  52. package/Implementation/SpawnableLoader.cs +125 -125
  53. package/Implementation/SpawnableLoader.cs.meta +11 -11
  54. package/Implementation/SpawnableStateData.cs +11 -11
  55. package/Implementation/SpawnableStateData.cs.meta +11 -11
  56. package/Implementation/StateDataAsset.cs +28 -28
  57. package/Implementation/StateDataAsset.cs.meta +11 -11
  58. package/Implementation/SubAreaLoader.cs +108 -108
  59. package/Implementation/SubAreaLoader.cs.meta +11 -11
  60. package/Implementation/SubAreaStateData.cs +11 -11
  61. package/Implementation/SubAreaStateData.cs.meta +11 -11
  62. package/Implementation/TriggerConverter.cs +137 -137
  63. package/Implementation/TriggerConverter.cs.meta +11 -11
  64. package/Implementation/TriggerLoader.cs +295 -295
  65. package/Implementation/TriggerLoader.cs.meta +11 -11
  66. package/Implementation/TriggerStateData.cs +18 -18
  67. package/Implementation/TriggerStateData.cs.meta +11 -11
  68. package/Implementation.meta +8 -8
  69. package/InstanceListWrapper.cs +23 -23
  70. package/InstanceListWrapper.cs.meta +11 -11
  71. package/Instances/ConvertInstanceData.cs +89 -89
  72. package/Instances/ConvertInstanceData.cs.meta +11 -11
  73. package/Instances/InstanceData.cs +43 -43
  74. package/Instances/InstanceData.cs.meta +11 -11
  75. package/Instances/InstanceStateData.cs +51 -51
  76. package/Instances/InstanceStateData.cs.meta +11 -11
  77. package/Instances/RoomInstanceData.cs +68 -68
  78. package/Instances/RoomInstanceData.cs.meta +11 -11
  79. package/Instances/RoomInstanceManager.cs +452 -452
  80. package/Instances/RoomInstanceManager.cs.meta +11 -11
  81. package/Instances.meta +8 -8
  82. package/LoadInvestigationRoomState.cs +53 -53
  83. package/LoadInvestigationRoomState.cs.meta +11 -11
  84. package/Old/ActorLoader.cs +382 -382
  85. package/Old/ActorLoader.cs.meta +11 -11
  86. package/Old/Room.cs +24 -24
  87. package/Old/Room.cs.meta +11 -11
  88. package/Old/RoomBuilder.cs +59 -59
  89. package/Old/RoomBuilder.cs.meta +11 -11
  90. package/Old/RoomData.cs +90 -90
  91. package/Old/RoomData.cs.meta +11 -11
  92. package/Old/RoomManager.cs +256 -256
  93. package/Old/RoomManager.cs.meta +11 -11
  94. package/Old/RoomManagerDisplayEditor.cs +72 -72
  95. package/Old/RoomManagerDisplayEditor.cs.meta +11 -11
  96. package/Old/RoomManagerEditor.cs +211 -211
  97. package/Old/RoomManagerEditor.cs.meta +11 -11
  98. package/Old/RoomManagerShellDisplayEditor.cs +48 -48
  99. package/Old/RoomManagerShellDisplayEditor.cs.meta +11 -11
  100. package/Old/RoomSection.cs +35 -35
  101. package/Old/RoomSection.cs.meta +11 -11
  102. package/Old.meta +8 -8
  103. package/RoomManagerBase.cs +84 -84
  104. package/RoomManagerBase.cs.meta +11 -11
  105. package/RoomManagerEditorBase.cs +86 -86
  106. package/RoomManagerEditorBase.cs.meta +11 -11
  107. package/RoomManagerEditorCoreBase.cs +159 -159
  108. package/RoomManagerEditorCoreBase.cs.meta +11 -11
  109. package/RoomSaveDisplayEditorBase.cs +111 -111
  110. package/RoomSaveDisplayEditorBase.cs.meta +11 -11
  111. package/RoomShellDisplayEditorBase.cs +68 -68
  112. package/RoomShellDisplayEditorBase.cs.meta +11 -11
  113. package/RoomStateBuilder.cs +53 -53
  114. package/RoomStateBuilder.cs.meta +11 -11
  115. package/RoomStateData.cs +58 -58
  116. package/RoomStateData.cs.meta +11 -11
  117. package/RoomStateManager.cs +202 -202
  118. package/RoomStateManager.cs.meta +11 -11
  119. package/RoomStateManagerEditor.cs +392 -392
  120. package/RoomStateManagerEditor.cs.meta +11 -11
  121. package/RoomStateSaveDisplayEditor.cs +175 -175
  122. package/RoomStateSaveDisplayEditor.cs.meta +11 -11
  123. package/RoomStateSection.cs +69 -69
  124. package/RoomStateSection.cs.meta +11 -11
  125. package/RoomStateShellDisplayEditor.cs +108 -108
  126. package/RoomStateShellDisplayEditor.cs.meta +11 -11
  127. package/{Samples → Samples~}/Room_State_Manager.prefab +473 -473
  128. package/{Samples → Samples~}/Room_State_Manager.prefab.meta +7 -7
  129. package/{Samples → Samples~}/Trial_Actor_Manager.prefab +51 -51
  130. package/{Samples → Samples~}/Trial_Actor_Manager.prefab.meta +7 -7
  131. package/package.json +51 -46
  132. package/package.json.meta +7 -7
  133. package/Samples.meta +0 -8
@@ -1,242 +1,242 @@
1
- //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
- using DREditor.RoomStateBuilding;
3
- using System.Collections.Generic;
4
- using System.IO;
5
- #if UNITY_EDITOR
6
- using UnityEditor;
7
- #endif
8
- using UnityEngine;
9
-
10
- namespace DREditor.RoomBuilding.Implementation
11
- {
12
- /// <summary>
13
- ///
14
- /// </summary>
15
- /// <typeparam name="T"></typeparam>
16
- /// <typeparam name="T2"></typeparam>
17
- public abstract class RoomStateHandlerBase<T, T2> : MonoBehaviour, IRoomStateSaver, IRoomStateLoader where T : StateDataAsset<T2>
18
- {
19
- /// <summary>
20
- ///
21
- /// </summary>
22
- [Header("")]
23
- [Divider]
24
- [Header("")]
25
- [Divider]
26
- [Tooltip("")]
27
- [SerializeField] string handlerTypeName = "";
28
-
29
- /// <summary>
30
- ///
31
- /// </summary>
32
- [Tooltip("")]
33
- [SerializeField] string dataAssetName = "";
34
-
35
-
36
- /// <summary>
37
- ///
38
- /// </summary>
39
- [Header("")]
40
- [Divider]
41
- [Tooltip("")]
42
- [SerializeField] protected List<T2> loadedBaseDatas;
43
-
44
- /// <summary>
45
- ///
46
- /// </summary>
47
- [Tooltip("")]
48
- [SerializeField] protected List<T2> loadedInstances = null;
49
-
50
-
51
- public virtual string GetTypeName() => handlerTypeName;
52
-
53
- public virtual void LoadData(List<ScriptableObject> roomSO)
54
- {
55
- T data = GetDataAsset<T>(roomSO);
56
-
57
- if (data != null)
58
- LoadAssetData(data.datas);
59
- }
60
-
61
- public virtual void LoadInstance(List<ScriptableObject> roomSO, object instanceData)
62
- {
63
- string instanceJson = (string)instanceData;
64
-
65
- List<T2> instanceAssetData = new();
66
-
67
- try
68
- {
69
- var assetData = JsonUtility.FromJson<InstanceListWrapper<InstanceListWrapper<string>>>(instanceJson);
70
-
71
- foreach (var stateSection in assetData.wrappedInstances)
72
- {
73
- foreach (var dataInstance in stateSection.wrappedInstances)
74
- {
75
- try
76
- {
77
- if (LoadedInstanceValid(dataInstance, out T2 result))
78
- instanceAssetData.Add(result);
79
- }
80
- catch { }
81
-
82
- //break; // Commented out because actor instance data wasn't being loaded properly.
83
- // But it is unknown if this break was actually needed.
84
- }
85
- }
86
- }
87
- catch
88
- {
89
- instanceAssetData = JsonUtility.FromJson<List<T2>>(instanceJson);
90
- }
91
-
92
- T data = GetDataAsset<T>(roomSO);
93
-
94
- if (data != null)
95
- LoadAssetData(data.datas, instanceAssetData);
96
- }
97
-
98
- /// <summary>
99
- ///
100
- /// </summary>
101
- /// <param name="dataInstance"></param>
102
- /// <param name="result"></param>
103
- /// <returns></returns>
104
- protected virtual bool LoadedInstanceValid(string dataInstance, out T2 result)
105
- {
106
- string emptyBaseline = JsonUtility.ToJson(JsonUtility.FromJson<T2>("{}"));
107
-
108
- result = JsonUtility.FromJson<T2>(dataInstance);
109
-
110
- return JsonUtility.ToJson(result) != emptyBaseline;
111
- }
112
-
113
- public virtual ScriptableObject SaveDataAsset(string path)
114
- {
115
- #if UNITY_EDITOR
116
- string[] guids = AssetDatabase.FindAssets($"t:{typeof(T).Name}",
117
- new[] { Path.GetDirectoryName(path.TrimEnd(Path.DirectorySeparatorChar)) });
118
-
119
- bool overridingExistingData = guids.Length > 0;
120
-
121
- T dataAsset;
122
-
123
- if (overridingExistingData)
124
- dataAsset = GetAssetFromGUID<T>(guids[0]);
125
- else
126
- dataAsset = ScriptableObject.CreateInstance<T>();
127
-
128
- dataAsset.SetDatas(Save());
129
-
130
- if (!overridingExistingData && dataAsset.datas != null && dataAsset.datas.Count != 0)
131
- AssetDatabase.CreateAsset(dataAsset, path + "_" + GetDataAssetName() + ".asset");
132
-
133
- EditorUtility.SetDirty(dataAsset);
134
-
135
- AssetDatabase.SaveAssets();
136
-
137
- return overridingExistingData ? null : dataAsset;
138
- #else
139
- return null;
140
- #endif
141
- }
142
-
143
- /// <summary>
144
- ///
145
- /// </summary>
146
- /// <returns></returns>
147
- protected virtual string GetDataAssetName() => dataAssetName;
148
-
149
-
150
- public virtual object SaveInstance()
151
- {
152
- List<T2> dataInstances = Save();
153
-
154
- List<string> strings = new();
155
-
156
- if (dataInstances == null)
157
- return strings;
158
-
159
- foreach (T2 dataInstance in dataInstances)
160
- {
161
- if (dataInstance != null)
162
- {
163
- string serializedJson = JsonUtility.ToJson(dataInstance);
164
-
165
- strings.Add(serializedJson);
166
- }
167
- }
168
-
169
- return strings;
170
- }
171
-
172
- public abstract void Unload(bool inEditor);
173
-
174
- #if UNITY_EDITOR
175
- /// <summary>
176
- ///
177
- /// </summary>
178
- /// <typeparam name="T3"></typeparam>
179
- /// <param name="guid"></param>
180
- /// <returns></returns>
181
- protected T3 GetAssetFromGUID<T3>(string guid) where T3 : UnityEngine.Object
182
- {
183
- string path = AssetDatabase.GUIDToAssetPath(guid);
184
-
185
- return AssetDatabase.LoadAssetAtPath<T3>(path);
186
- }
187
- #endif
188
- /// <summary>
189
- ///
190
- /// </summary>
191
- /// <typeparam name="T4"></typeparam>
192
- /// <param name="scriptableObjects"></param>
193
- /// <returns></returns>
194
- protected T4 GetDataAsset<T4>(List<ScriptableObject> scriptableObjects)
195
- {
196
- foreach (var scriptableObject in scriptableObjects)
197
- if (scriptableObject is T4 data)
198
- return data;
199
-
200
- return default;
201
- }
202
-
203
- /// <summary>
204
- ///
205
- /// </summary>
206
- /// <returns></returns>
207
- public abstract List<T2> Save();
208
-
209
- /// <summary>
210
- ///
211
- /// </summary>
212
- /// <param name="baseDatas"></param>
213
- /// <param name="instanceDatas"></param>
214
- protected virtual void LoadAssetData(List<T2> baseDatas, List<T2> instanceDatas = null)
215
- {
216
- InitializeVisibleBaseDatas(baseDatas);
217
-
218
- InitializeVisibleInstanceDatas(instanceDatas);
219
-
220
- LoadAssetProcess(baseDatas, instanceDatas);
221
- }
222
-
223
- /// <summary>
224
- ///
225
- /// </summary>
226
- /// <param name="baseDatas"></param>
227
- protected virtual void InitializeVisibleBaseDatas(List<T2> baseDatas) => loadedBaseDatas = baseDatas;
228
-
229
- /// <summary>
230
- ///
231
- /// </summary>
232
- /// <param name="instanceDatas"></param>
233
- protected virtual void InitializeVisibleInstanceDatas(List<T2> instanceDatas = null) => loadedInstances = instanceDatas;
234
-
235
- /// <summary>
236
- ///
237
- /// </summary>
238
- /// <param name="baseDatas"></param>
239
- /// <param name="instanceDatas"></param>
240
- protected abstract void LoadAssetProcess(List<T2> baseDatas, List<T2> instanceDatas = null);
241
- }
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.RoomStateBuilding;
3
+ using System.Collections.Generic;
4
+ using System.IO;
5
+ #if UNITY_EDITOR
6
+ using UnityEditor;
7
+ #endif
8
+ using UnityEngine;
9
+
10
+ namespace DREditor.RoomBuilding.Implementation
11
+ {
12
+ /// <summary>
13
+ ///
14
+ /// </summary>
15
+ /// <typeparam name="T"></typeparam>
16
+ /// <typeparam name="T2"></typeparam>
17
+ public abstract class RoomStateHandlerBase<T, T2> : MonoBehaviour, IRoomStateSaver, IRoomStateLoader where T : StateDataAsset<T2>
18
+ {
19
+ /// <summary>
20
+ ///
21
+ /// </summary>
22
+ [Header("")]
23
+ [Divider]
24
+ [Header("")]
25
+ [Divider]
26
+ [Tooltip("")]
27
+ [SerializeField] string handlerTypeName = "";
28
+
29
+ /// <summary>
30
+ ///
31
+ /// </summary>
32
+ [Tooltip("")]
33
+ [SerializeField] string dataAssetName = "";
34
+
35
+
36
+ /// <summary>
37
+ ///
38
+ /// </summary>
39
+ [Header("")]
40
+ [Divider]
41
+ [Tooltip("")]
42
+ [SerializeField] protected List<T2> loadedBaseDatas;
43
+
44
+ /// <summary>
45
+ ///
46
+ /// </summary>
47
+ [Tooltip("")]
48
+ [SerializeField] protected List<T2> loadedInstances = null;
49
+
50
+
51
+ public virtual string GetTypeName() => handlerTypeName;
52
+
53
+ public virtual void LoadData(List<ScriptableObject> roomSO)
54
+ {
55
+ T data = GetDataAsset<T>(roomSO);
56
+
57
+ if (data != null)
58
+ LoadAssetData(data.datas);
59
+ }
60
+
61
+ public virtual void LoadInstance(List<ScriptableObject> roomSO, object instanceData)
62
+ {
63
+ string instanceJson = (string)instanceData;
64
+
65
+ List<T2> instanceAssetData = new();
66
+
67
+ try
68
+ {
69
+ var assetData = JsonUtility.FromJson<InstanceListWrapper<InstanceListWrapper<string>>>(instanceJson);
70
+
71
+ foreach (var stateSection in assetData.wrappedInstances)
72
+ {
73
+ foreach (var dataInstance in stateSection.wrappedInstances)
74
+ {
75
+ try
76
+ {
77
+ if (LoadedInstanceValid(dataInstance, out T2 result))
78
+ instanceAssetData.Add(result);
79
+ }
80
+ catch { }
81
+
82
+ //break; // Commented out because actor instance data wasn't being loaded properly.
83
+ // But it is unknown if this break was actually needed.
84
+ }
85
+ }
86
+ }
87
+ catch
88
+ {
89
+ instanceAssetData = JsonUtility.FromJson<List<T2>>(instanceJson);
90
+ }
91
+
92
+ T data = GetDataAsset<T>(roomSO);
93
+
94
+ if (data != null)
95
+ LoadAssetData(data.datas, instanceAssetData);
96
+ }
97
+
98
+ /// <summary>
99
+ ///
100
+ /// </summary>
101
+ /// <param name="dataInstance"></param>
102
+ /// <param name="result"></param>
103
+ /// <returns></returns>
104
+ protected virtual bool LoadedInstanceValid(string dataInstance, out T2 result)
105
+ {
106
+ string emptyBaseline = JsonUtility.ToJson(JsonUtility.FromJson<T2>("{}"));
107
+
108
+ result = JsonUtility.FromJson<T2>(dataInstance);
109
+
110
+ return JsonUtility.ToJson(result) != emptyBaseline;
111
+ }
112
+
113
+ public virtual ScriptableObject SaveDataAsset(string path)
114
+ {
115
+ #if UNITY_EDITOR
116
+ string[] guids = AssetDatabase.FindAssets($"t:{typeof(T).Name}",
117
+ new[] { Path.GetDirectoryName(path.TrimEnd(Path.DirectorySeparatorChar)) });
118
+
119
+ bool overridingExistingData = guids.Length > 0;
120
+
121
+ T dataAsset;
122
+
123
+ if (overridingExistingData)
124
+ dataAsset = GetAssetFromGUID<T>(guids[0]);
125
+ else
126
+ dataAsset = ScriptableObject.CreateInstance<T>();
127
+
128
+ dataAsset.SetDatas(Save());
129
+
130
+ if (!overridingExistingData && dataAsset.datas != null && dataAsset.datas.Count != 0)
131
+ AssetDatabase.CreateAsset(dataAsset, path + "_" + GetDataAssetName() + ".asset");
132
+
133
+ EditorUtility.SetDirty(dataAsset);
134
+
135
+ AssetDatabase.SaveAssets();
136
+
137
+ return overridingExistingData ? null : dataAsset;
138
+ #else
139
+ return null;
140
+ #endif
141
+ }
142
+
143
+ /// <summary>
144
+ ///
145
+ /// </summary>
146
+ /// <returns></returns>
147
+ protected virtual string GetDataAssetName() => dataAssetName;
148
+
149
+
150
+ public virtual object SaveInstance()
151
+ {
152
+ List<T2> dataInstances = Save();
153
+
154
+ List<string> strings = new();
155
+
156
+ if (dataInstances == null)
157
+ return strings;
158
+
159
+ foreach (T2 dataInstance in dataInstances)
160
+ {
161
+ if (dataInstance != null)
162
+ {
163
+ string serializedJson = JsonUtility.ToJson(dataInstance);
164
+
165
+ strings.Add(serializedJson);
166
+ }
167
+ }
168
+
169
+ return strings;
170
+ }
171
+
172
+ public abstract void Unload(bool inEditor);
173
+
174
+ #if UNITY_EDITOR
175
+ /// <summary>
176
+ ///
177
+ /// </summary>
178
+ /// <typeparam name="T3"></typeparam>
179
+ /// <param name="guid"></param>
180
+ /// <returns></returns>
181
+ protected T3 GetAssetFromGUID<T3>(string guid) where T3 : UnityEngine.Object
182
+ {
183
+ string path = AssetDatabase.GUIDToAssetPath(guid);
184
+
185
+ return AssetDatabase.LoadAssetAtPath<T3>(path);
186
+ }
187
+ #endif
188
+ /// <summary>
189
+ ///
190
+ /// </summary>
191
+ /// <typeparam name="T4"></typeparam>
192
+ /// <param name="scriptableObjects"></param>
193
+ /// <returns></returns>
194
+ protected T4 GetDataAsset<T4>(List<ScriptableObject> scriptableObjects)
195
+ {
196
+ foreach (var scriptableObject in scriptableObjects)
197
+ if (scriptableObject is T4 data)
198
+ return data;
199
+
200
+ return default;
201
+ }
202
+
203
+ /// <summary>
204
+ ///
205
+ /// </summary>
206
+ /// <returns></returns>
207
+ public abstract List<T2> Save();
208
+
209
+ /// <summary>
210
+ ///
211
+ /// </summary>
212
+ /// <param name="baseDatas"></param>
213
+ /// <param name="instanceDatas"></param>
214
+ protected virtual void LoadAssetData(List<T2> baseDatas, List<T2> instanceDatas = null)
215
+ {
216
+ InitializeVisibleBaseDatas(baseDatas);
217
+
218
+ InitializeVisibleInstanceDatas(instanceDatas);
219
+
220
+ LoadAssetProcess(baseDatas, instanceDatas);
221
+ }
222
+
223
+ /// <summary>
224
+ ///
225
+ /// </summary>
226
+ /// <param name="baseDatas"></param>
227
+ protected virtual void InitializeVisibleBaseDatas(List<T2> baseDatas) => loadedBaseDatas = baseDatas;
228
+
229
+ /// <summary>
230
+ ///
231
+ /// </summary>
232
+ /// <param name="instanceDatas"></param>
233
+ protected virtual void InitializeVisibleInstanceDatas(List<T2> instanceDatas = null) => loadedInstances = instanceDatas;
234
+
235
+ /// <summary>
236
+ ///
237
+ /// </summary>
238
+ /// <param name="baseDatas"></param>
239
+ /// <param name="instanceDatas"></param>
240
+ protected abstract void LoadAssetProcess(List<T2> baseDatas, List<T2> instanceDatas = null);
241
+ }
242
242
  }
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: 0f6b8bbe599307644a067b10d34bbcb6
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: 0f6b8bbe599307644a067b10d34bbcb6
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -1,57 +1,57 @@
1
- //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
- using System;
3
- using System.Collections.Generic;
4
- using UnityEngine.Serialization;
5
-
6
- namespace DREditor.RoomBuilding.Implementation
7
- {
8
- /// <summary>
9
- ///
10
- /// </summary>
11
- [Serializable]
12
- public class SaveableData
13
- {
14
- /// <summary>
15
- ///
16
- /// </summary>
17
- [FormerlySerializedAs("DataList")]
18
- public List<SaveableDataSet> dataSets = new();
19
-
20
-
21
- public SaveableData() { }
22
-
23
- public SaveableData(List<SaveableDataSet> dataSets) => this.dataSets = dataSets;
24
-
25
-
26
- /// <summary>
27
- ///
28
- /// </summary>
29
- /// <returns></returns>
30
- public virtual bool IsMatch()
31
- {
32
- for (int i = 0; i < dataSets.Count; i++)
33
- {
34
- SaveableDataSet item = dataSets[i];
35
-
36
- for (int x = 0; x < dataSets.Count; x++)
37
- {
38
- if (i == x)
39
- continue;
40
-
41
- SaveableDataSet info = dataSets[x];
42
-
43
- if (info.subID == item.subID &&
44
- item.typeName == info.typeName)
45
- {
46
- UnityEngine.Debug.LogWarning("2 Managers of type : " + item.GetType().Name +
47
- " contain the same SubIDs! This is not allowed because otherwise the " +
48
- "ISaveable will not load Save Data correctly!");
49
- return true;
50
- }
51
- }
52
- }
53
-
54
- return false;
55
- }
56
- }
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using System;
3
+ using System.Collections.Generic;
4
+ using UnityEngine.Serialization;
5
+
6
+ namespace DREditor.RoomBuilding.Implementation
7
+ {
8
+ /// <summary>
9
+ ///
10
+ /// </summary>
11
+ [Serializable]
12
+ public class SaveableData
13
+ {
14
+ /// <summary>
15
+ ///
16
+ /// </summary>
17
+ [FormerlySerializedAs("DataList")]
18
+ public List<SaveableDataSet> dataSets = new();
19
+
20
+
21
+ public SaveableData() { }
22
+
23
+ public SaveableData(List<SaveableDataSet> dataSets) => this.dataSets = dataSets;
24
+
25
+
26
+ /// <summary>
27
+ ///
28
+ /// </summary>
29
+ /// <returns></returns>
30
+ public virtual bool IsMatch()
31
+ {
32
+ for (int i = 0; i < dataSets.Count; i++)
33
+ {
34
+ SaveableDataSet item = dataSets[i];
35
+
36
+ for (int x = 0; x < dataSets.Count; x++)
37
+ {
38
+ if (i == x)
39
+ continue;
40
+
41
+ SaveableDataSet info = dataSets[x];
42
+
43
+ if (info.subID == item.subID &&
44
+ item.typeName == info.typeName)
45
+ {
46
+ UnityEngine.Debug.LogWarning("2 Managers of type : " + item.GetType().Name +
47
+ " contain the same SubIDs! This is not allowed because otherwise the " +
48
+ "ISaveable will not load Save Data correctly!");
49
+ return true;
50
+ }
51
+ }
52
+ }
53
+
54
+ return false;
55
+ }
56
+ }
57
57
  }
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: a178540f7dd59a34c9466fa9482c6235
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: a178540f7dd59a34c9466fa9482c6235
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant: