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,118 +1,118 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
using DREditor.Doors;
|
|
3
|
-
using System.Collections.Generic;
|
|
4
|
-
using System.Linq;
|
|
5
|
-
using UnityEngine;
|
|
6
|
-
|
|
7
|
-
namespace DREditor.RoomBuilding.Implementation
|
|
8
|
-
{
|
|
9
|
-
/// <summary>
|
|
10
|
-
///
|
|
11
|
-
/// </summary>
|
|
12
|
-
[ClassHeader(nameof(RoomStateHandlerBase<DoorStateData, DoorData>) +
|
|
13
|
-
" for types <" + nameof(DoorStateData) + ", " + nameof(DoorData) + ">" +
|
|
14
|
-
"\n\n")]
|
|
15
|
-
public class DoorLoader : RoomStateHandlerBase<DoorStateData, DoorData>
|
|
16
|
-
{
|
|
17
|
-
/// <inheritdoc/>
|
|
18
|
-
public override List<DoorData> Save() => SaveData();
|
|
19
|
-
|
|
20
|
-
/// <inheritdoc/>
|
|
21
|
-
public override void Unload(bool inEditor) => UnloadDoors();
|
|
22
|
-
|
|
23
|
-
/// <inheritdoc/>
|
|
24
|
-
protected override void LoadAssetProcess(List<DoorData> baseDatas, List<DoorData> instanceDatas = null)
|
|
25
|
-
=> Load(baseDatas, instanceDatas);
|
|
26
|
-
|
|
27
|
-
/// <inheritdoc/>
|
|
28
|
-
protected override bool LoadedInstanceValid(string dataInstance, out DoorData result)
|
|
29
|
-
=> base.LoadedInstanceValid(dataInstance, out result) && !string.IsNullOrEmpty(result.doorName);
|
|
30
|
-
|
|
31
|
-
/// <summary>
|
|
32
|
-
///
|
|
33
|
-
/// </summary>
|
|
34
|
-
/// <returns></returns>
|
|
35
|
-
public static List<DoorData> SaveData()
|
|
36
|
-
{
|
|
37
|
-
List<DoorData> doorData = new();
|
|
38
|
-
|
|
39
|
-
var doorList = GetDoors();
|
|
40
|
-
|
|
41
|
-
foreach (IDoor door in doorList)
|
|
42
|
-
doorData.Add((DoorData)door.Save());
|
|
43
|
-
|
|
44
|
-
return doorData;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/// <summary>
|
|
48
|
-
///
|
|
49
|
-
/// </summary>
|
|
50
|
-
/// <param name="loadedData"></param>
|
|
51
|
-
/// <param name="instanceData"></param>
|
|
52
|
-
public static void Load(List<DoorData> loadedData, List<DoorData> instanceData = null)
|
|
53
|
-
{
|
|
54
|
-
var doorList = GetDoors();
|
|
55
|
-
|
|
56
|
-
for (int i = 0; i < loadedData.Count; i++)
|
|
57
|
-
for (int x = 0; x < doorList.Count(); x++)
|
|
58
|
-
{
|
|
59
|
-
if (doorList[x].GetGameObjectName() == loadedData[i].doorName)
|
|
60
|
-
{
|
|
61
|
-
DoorData doorInstance = GetInstanceData(doorList[x].GetGameObjectName(), instanceData);
|
|
62
|
-
|
|
63
|
-
var doorDataToLoad = doorInstance != null
|
|
64
|
-
? MergeInstance(loadedData[i], doorInstance)
|
|
65
|
-
: (DoorData)loadedData[i].Clone(); // fallback to base data
|
|
66
|
-
|
|
67
|
-
doorList[x].Load(doorDataToLoad);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/// <summary>
|
|
73
|
-
///
|
|
74
|
-
/// </summary>
|
|
75
|
-
/// <param name="doorName"></param>
|
|
76
|
-
/// <param name="instanceDatas"></param>
|
|
77
|
-
/// <returns></returns>
|
|
78
|
-
static DoorData GetInstanceData(string doorName, List<DoorData> instanceDatas)
|
|
79
|
-
{
|
|
80
|
-
if (instanceDatas != null)
|
|
81
|
-
return instanceDatas.FirstOrDefault(doorData => doorData.doorName == doorName);
|
|
82
|
-
|
|
83
|
-
return null;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/// <summary>
|
|
87
|
-
///
|
|
88
|
-
/// </summary>
|
|
89
|
-
/// <param name="doorBaseData"></param>
|
|
90
|
-
/// <param name="doorInstaceData"></param>
|
|
91
|
-
/// <returns></returns>
|
|
92
|
-
static DoorData MergeInstance(DoorData doorBaseData, DoorData doorInstaceData)
|
|
93
|
-
{
|
|
94
|
-
DoorData copy = (DoorData)doorBaseData.Clone();
|
|
95
|
-
|
|
96
|
-
copy.SetIdentified(doorInstaceData.identified);
|
|
97
|
-
|
|
98
|
-
return copy;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/// <summary>
|
|
102
|
-
///
|
|
103
|
-
/// </summary>
|
|
104
|
-
public static void UnloadDoors()
|
|
105
|
-
{
|
|
106
|
-
var doors = GetDoors();
|
|
107
|
-
|
|
108
|
-
foreach (IDoor door in doors)
|
|
109
|
-
door.ClearLockData();
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/// <summary>
|
|
113
|
-
///
|
|
114
|
-
/// </summary>
|
|
115
|
-
/// <returns></returns>
|
|
116
|
-
static IDoor[] GetDoors() => FindObjectsByType<MonoBehaviour>().OfType<IDoor>().ToArray();
|
|
117
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.Doors;
|
|
3
|
+
using System.Collections.Generic;
|
|
4
|
+
using System.Linq;
|
|
5
|
+
using UnityEngine;
|
|
6
|
+
|
|
7
|
+
namespace DREditor.RoomBuilding.Implementation
|
|
8
|
+
{
|
|
9
|
+
/// <summary>
|
|
10
|
+
///
|
|
11
|
+
/// </summary>
|
|
12
|
+
[ClassHeader(nameof(RoomStateHandlerBase<DoorStateData, DoorData>) +
|
|
13
|
+
" for types <" + nameof(DoorStateData) + ", " + nameof(DoorData) + ">" +
|
|
14
|
+
"\n\n")]
|
|
15
|
+
public class DoorLoader : RoomStateHandlerBase<DoorStateData, DoorData>
|
|
16
|
+
{
|
|
17
|
+
/// <inheritdoc/>
|
|
18
|
+
public override List<DoorData> Save() => SaveData();
|
|
19
|
+
|
|
20
|
+
/// <inheritdoc/>
|
|
21
|
+
public override void Unload(bool inEditor) => UnloadDoors();
|
|
22
|
+
|
|
23
|
+
/// <inheritdoc/>
|
|
24
|
+
protected override void LoadAssetProcess(List<DoorData> baseDatas, List<DoorData> instanceDatas = null)
|
|
25
|
+
=> Load(baseDatas, instanceDatas);
|
|
26
|
+
|
|
27
|
+
/// <inheritdoc/>
|
|
28
|
+
protected override bool LoadedInstanceValid(string dataInstance, out DoorData result)
|
|
29
|
+
=> base.LoadedInstanceValid(dataInstance, out result) && !string.IsNullOrEmpty(result.doorName);
|
|
30
|
+
|
|
31
|
+
/// <summary>
|
|
32
|
+
///
|
|
33
|
+
/// </summary>
|
|
34
|
+
/// <returns></returns>
|
|
35
|
+
public static List<DoorData> SaveData()
|
|
36
|
+
{
|
|
37
|
+
List<DoorData> doorData = new();
|
|
38
|
+
|
|
39
|
+
var doorList = GetDoors();
|
|
40
|
+
|
|
41
|
+
foreach (IDoor door in doorList)
|
|
42
|
+
doorData.Add((DoorData)door.Save());
|
|
43
|
+
|
|
44
|
+
return doorData;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/// <summary>
|
|
48
|
+
///
|
|
49
|
+
/// </summary>
|
|
50
|
+
/// <param name="loadedData"></param>
|
|
51
|
+
/// <param name="instanceData"></param>
|
|
52
|
+
public static void Load(List<DoorData> loadedData, List<DoorData> instanceData = null)
|
|
53
|
+
{
|
|
54
|
+
var doorList = GetDoors();
|
|
55
|
+
|
|
56
|
+
for (int i = 0; i < loadedData.Count; i++)
|
|
57
|
+
for (int x = 0; x < doorList.Count(); x++)
|
|
58
|
+
{
|
|
59
|
+
if (doorList[x].GetGameObjectName() == loadedData[i].doorName)
|
|
60
|
+
{
|
|
61
|
+
DoorData doorInstance = GetInstanceData(doorList[x].GetGameObjectName(), instanceData);
|
|
62
|
+
|
|
63
|
+
var doorDataToLoad = doorInstance != null
|
|
64
|
+
? MergeInstance(loadedData[i], doorInstance)
|
|
65
|
+
: (DoorData)loadedData[i].Clone(); // fallback to base data
|
|
66
|
+
|
|
67
|
+
doorList[x].Load(doorDataToLoad);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/// <summary>
|
|
73
|
+
///
|
|
74
|
+
/// </summary>
|
|
75
|
+
/// <param name="doorName"></param>
|
|
76
|
+
/// <param name="instanceDatas"></param>
|
|
77
|
+
/// <returns></returns>
|
|
78
|
+
static DoorData GetInstanceData(string doorName, List<DoorData> instanceDatas)
|
|
79
|
+
{
|
|
80
|
+
if (instanceDatas != null)
|
|
81
|
+
return instanceDatas.FirstOrDefault(doorData => doorData.doorName == doorName);
|
|
82
|
+
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/// <summary>
|
|
87
|
+
///
|
|
88
|
+
/// </summary>
|
|
89
|
+
/// <param name="doorBaseData"></param>
|
|
90
|
+
/// <param name="doorInstaceData"></param>
|
|
91
|
+
/// <returns></returns>
|
|
92
|
+
static DoorData MergeInstance(DoorData doorBaseData, DoorData doorInstaceData)
|
|
93
|
+
{
|
|
94
|
+
DoorData copy = (DoorData)doorBaseData.Clone();
|
|
95
|
+
|
|
96
|
+
copy.SetIdentified(doorInstaceData.identified);
|
|
97
|
+
|
|
98
|
+
return copy;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/// <summary>
|
|
102
|
+
///
|
|
103
|
+
/// </summary>
|
|
104
|
+
public static void UnloadDoors()
|
|
105
|
+
{
|
|
106
|
+
var doors = GetDoors();
|
|
107
|
+
|
|
108
|
+
foreach (IDoor door in doors)
|
|
109
|
+
door.ClearLockData();
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/// <summary>
|
|
113
|
+
///
|
|
114
|
+
/// </summary>
|
|
115
|
+
/// <returns></returns>
|
|
116
|
+
static IDoor[] GetDoors() => FindObjectsByType<MonoBehaviour>().OfType<IDoor>().ToArray();
|
|
117
|
+
}
|
|
118
118
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: fae4beb9d04dc6e4791a8954c730467b
|
|
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: fae4beb9d04dc6e4791a8954c730467b
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
#if UNITY_EDITOR
|
|
3
|
-
using DREditor.Doors;
|
|
4
|
-
using DREditor.Editor.Utility;
|
|
5
|
-
using System.Collections.Generic;
|
|
6
|
-
using System.Linq;
|
|
7
|
-
using UnityEditor;
|
|
8
|
-
using UnityEngine;
|
|
9
|
-
|
|
10
|
-
namespace DREditor.RoomBuilding.Implementation
|
|
11
|
-
{
|
|
12
|
-
/// <summary>
|
|
13
|
-
///
|
|
14
|
-
/// </summary>
|
|
15
|
-
public static class DoorLoaderUtility
|
|
16
|
-
{
|
|
17
|
-
#if UNITY_EDITOR
|
|
18
|
-
|
|
19
|
-
/// <summary>
|
|
20
|
-
///
|
|
21
|
-
/// </summary>
|
|
22
|
-
[MenuItem("DREditor/Doors/Apply Current Door Names to Saves")]
|
|
23
|
-
public static void SetAllDoorsToName()
|
|
24
|
-
{
|
|
25
|
-
List<IDoor> doors = MonoBehaviour.FindObjectsByType<MonoBehaviour>().OfType<IDoor>().ToList();
|
|
26
|
-
|
|
27
|
-
List<DoorStateData> datas = BuilderUtility.FindAssetsByType<DoorStateData>();
|
|
28
|
-
|
|
29
|
-
foreach (IDoor door in doors)
|
|
30
|
-
foreach (var doorStateData in datas)
|
|
31
|
-
foreach (var doorData in doorStateData.datas)
|
|
32
|
-
if (doorData.doorName == door.GetDoorName())
|
|
33
|
-
SetDisplayName(doorStateData, doorData, door);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/// <summary>
|
|
37
|
-
///
|
|
38
|
-
/// </summary>
|
|
39
|
-
/// <param name="doorStateData"></param>
|
|
40
|
-
/// <param name="data"></param>
|
|
41
|
-
/// <param name="door"></param>
|
|
42
|
-
static void SetDisplayName(DoorStateData doorStateData, DoorData data, IDoor door)
|
|
43
|
-
{
|
|
44
|
-
data.SetDisplayName(door.GetSaveDisplayName());
|
|
45
|
-
|
|
46
|
-
EditorUtility.SetDirty(doorStateData);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
#endif
|
|
50
|
-
}
|
|
51
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
#if UNITY_EDITOR
|
|
3
|
+
using DREditor.Doors;
|
|
4
|
+
using DREditor.Editor.Utility;
|
|
5
|
+
using System.Collections.Generic;
|
|
6
|
+
using System.Linq;
|
|
7
|
+
using UnityEditor;
|
|
8
|
+
using UnityEngine;
|
|
9
|
+
|
|
10
|
+
namespace DREditor.RoomBuilding.Implementation
|
|
11
|
+
{
|
|
12
|
+
/// <summary>
|
|
13
|
+
///
|
|
14
|
+
/// </summary>
|
|
15
|
+
public static class DoorLoaderUtility
|
|
16
|
+
{
|
|
17
|
+
#if UNITY_EDITOR
|
|
18
|
+
|
|
19
|
+
/// <summary>
|
|
20
|
+
///
|
|
21
|
+
/// </summary>
|
|
22
|
+
[MenuItem("DREditor/Doors/Apply Current Door Names to Saves")]
|
|
23
|
+
public static void SetAllDoorsToName()
|
|
24
|
+
{
|
|
25
|
+
List<IDoor> doors = MonoBehaviour.FindObjectsByType<MonoBehaviour>().OfType<IDoor>().ToList();
|
|
26
|
+
|
|
27
|
+
List<DoorStateData> datas = BuilderUtility.FindAssetsByType<DoorStateData>();
|
|
28
|
+
|
|
29
|
+
foreach (IDoor door in doors)
|
|
30
|
+
foreach (var doorStateData in datas)
|
|
31
|
+
foreach (var doorData in doorStateData.datas)
|
|
32
|
+
if (doorData.doorName == door.GetDoorName())
|
|
33
|
+
SetDisplayName(doorStateData, doorData, door);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/// <summary>
|
|
37
|
+
///
|
|
38
|
+
/// </summary>
|
|
39
|
+
/// <param name="doorStateData"></param>
|
|
40
|
+
/// <param name="data"></param>
|
|
41
|
+
/// <param name="door"></param>
|
|
42
|
+
static void SetDisplayName(DoorStateData doorStateData, DoorData data, IDoor door)
|
|
43
|
+
{
|
|
44
|
+
data.SetDisplayName(door.GetSaveDisplayName());
|
|
45
|
+
|
|
46
|
+
EditorUtility.SetDirty(doorStateData);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
#endif
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
52
|
#endif
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 2b578b45c48417f479f7cd9a6a299a77
|
|
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: 2b578b45c48417f479f7cd9a6a299a77
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
using DREditor.Doors;
|
|
3
|
-
using System;
|
|
4
|
-
|
|
5
|
-
namespace DREditor.RoomBuilding.Implementation
|
|
6
|
-
{
|
|
7
|
-
/// <summary>
|
|
8
|
-
///
|
|
9
|
-
/// </summary>
|
|
10
|
-
[Serializable]
|
|
11
|
-
public class DoorStateData : StateDataAsset<DoorData> { }
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.Doors;
|
|
3
|
+
using System;
|
|
4
|
+
|
|
5
|
+
namespace DREditor.RoomBuilding.Implementation
|
|
6
|
+
{
|
|
7
|
+
/// <summary>
|
|
8
|
+
///
|
|
9
|
+
/// </summary>
|
|
10
|
+
[Serializable]
|
|
11
|
+
public class DoorStateData : StateDataAsset<DoorData> { }
|
|
12
12
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 8befe06bf9c67704d87cc09a9e49b24c
|
|
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: 8befe06bf9c67704d87cc09a9e49b24c
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|