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,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 3ae5cfa1a1cc9e9449336c18ce2b32d6
|
|
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: 3ae5cfa1a1cc9e9449336c18ce2b32d6
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
using System;
|
|
3
|
-
using UnityEngine;
|
|
4
|
-
|
|
5
|
-
namespace DREditor.RoomBuilding.Implementation.Actors
|
|
6
|
-
{
|
|
7
|
-
/// <summary>
|
|
8
|
-
///
|
|
9
|
-
/// </summary>
|
|
10
|
-
/// <remarks>
|
|
11
|
-
///
|
|
12
|
-
/// </remarks>
|
|
13
|
-
[Serializable]
|
|
14
|
-
public class TActorData : ActorData
|
|
15
|
-
{
|
|
16
|
-
public TActorData() { }
|
|
17
|
-
|
|
18
|
-
public TActorData(string refName, GameObject actor, bool ident, string spriteName, Material shared)
|
|
19
|
-
{
|
|
20
|
-
position = actor.transform.position;
|
|
21
|
-
|
|
22
|
-
rotation = actor.transform.eulerAngles;
|
|
23
|
-
|
|
24
|
-
aReference = refName;
|
|
25
|
-
|
|
26
|
-
mat = shared;
|
|
27
|
-
|
|
28
|
-
identified = ident;
|
|
29
|
-
|
|
30
|
-
matName = spriteName;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/// <inheritdoc/>
|
|
34
|
-
public override object Clone() => base.Clone() as TActorData;
|
|
35
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using System;
|
|
3
|
+
using UnityEngine;
|
|
4
|
+
|
|
5
|
+
namespace DREditor.RoomBuilding.Implementation.Actors
|
|
6
|
+
{
|
|
7
|
+
/// <summary>
|
|
8
|
+
///
|
|
9
|
+
/// </summary>
|
|
10
|
+
/// <remarks>
|
|
11
|
+
///
|
|
12
|
+
/// </remarks>
|
|
13
|
+
[Serializable]
|
|
14
|
+
public class TActorData : ActorData
|
|
15
|
+
{
|
|
16
|
+
public TActorData() { }
|
|
17
|
+
|
|
18
|
+
public TActorData(string refName, GameObject actor, bool ident, string spriteName, Material shared)
|
|
19
|
+
{
|
|
20
|
+
position = actor.transform.position;
|
|
21
|
+
|
|
22
|
+
rotation = actor.transform.eulerAngles;
|
|
23
|
+
|
|
24
|
+
aReference = refName;
|
|
25
|
+
|
|
26
|
+
mat = shared;
|
|
27
|
+
|
|
28
|
+
identified = ident;
|
|
29
|
+
|
|
30
|
+
matName = spriteName;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/// <inheritdoc/>
|
|
34
|
+
public override object Clone() => base.Clone() as TActorData;
|
|
35
|
+
}
|
|
36
36
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 45979bbd15d5c26438defe558fb90fd0
|
|
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: 45979bbd15d5c26438defe558fb90fd0
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,158 +1,158 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
using DREditor.Actors;
|
|
3
|
-
using DREditor.Characters;
|
|
4
|
-
using DREditor.EventObjects;
|
|
5
|
-
using DREditor.Saving;
|
|
6
|
-
using System.Collections.Generic;
|
|
7
|
-
using UnityEngine;
|
|
8
|
-
|
|
9
|
-
namespace DREditor.RoomBuilding.Implementation.Actors
|
|
10
|
-
{
|
|
11
|
-
/// <summary>
|
|
12
|
-
///
|
|
13
|
-
/// </summary>
|
|
14
|
-
[ClassHeader(nameof(IDRESaveable) + ", " + nameof(IDRELoadable) +
|
|
15
|
-
"\n\n")]
|
|
16
|
-
public class TrialActorManager : MonoBehaviour, IDRESaveable, IDRELoadable
|
|
17
|
-
{
|
|
18
|
-
/// <summary>
|
|
19
|
-
///
|
|
20
|
-
/// </summary>
|
|
21
|
-
[Tooltip("")]
|
|
22
|
-
[SerializeField] protected string saveKey = "actorDatas";
|
|
23
|
-
|
|
24
|
-
/// <summary>
|
|
25
|
-
///
|
|
26
|
-
/// </summary>
|
|
27
|
-
[Tooltip("")]
|
|
28
|
-
[SerializeField] protected CharacterDatabase characterDatabase = null;
|
|
29
|
-
|
|
30
|
-
/// <summary>
|
|
31
|
-
///
|
|
32
|
-
/// </summary>
|
|
33
|
-
[Tooltip("")]
|
|
34
|
-
[SerializeField] protected BoolWithEvent inDialogue = null;
|
|
35
|
-
|
|
36
|
-
/// <summary>
|
|
37
|
-
///
|
|
38
|
-
/// </summary>
|
|
39
|
-
[Tooltip("")]
|
|
40
|
-
[SerializeField] protected BoolWithEvent inTrialMode = null;
|
|
41
|
-
|
|
42
|
-
/// <summary>
|
|
43
|
-
///
|
|
44
|
-
/// </summary>
|
|
45
|
-
[Tooltip("")]
|
|
46
|
-
[SerializeField] protected List<TActorData> debugViewingInstances = new();
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
/// <summary>
|
|
50
|
-
///
|
|
51
|
-
/// </summary>
|
|
52
|
-
public virtual void Save(Dictionary<string, object> saveData)
|
|
53
|
-
{
|
|
54
|
-
if (inTrialMode.Value && inDialogue.Value)
|
|
55
|
-
saveData.Set(saveKey, SaveTrialActors());
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/// <summary>
|
|
59
|
-
///
|
|
60
|
-
/// </summary>
|
|
61
|
-
public virtual void Load(Dictionary<string, object> saveDatas)
|
|
62
|
-
{
|
|
63
|
-
if (inTrialMode.Value)
|
|
64
|
-
LoadTrialActors(saveDatas.Get<List<TActorData>>(saveKey));
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/// <summary>
|
|
68
|
-
///
|
|
69
|
-
/// </summary>
|
|
70
|
-
protected virtual Actor[] InitializeTrialActors()
|
|
71
|
-
{
|
|
72
|
-
if (characterDatabase == null)
|
|
73
|
-
characterDatabase = Resources.Load<CharacterDatabase>("Characters/CharacterDatabase");
|
|
74
|
-
|
|
75
|
-
Actor[] actors = (Actor[])FindObjectsByType(typeof(Actor));
|
|
76
|
-
|
|
77
|
-
if (actors.Length == 0)
|
|
78
|
-
{
|
|
79
|
-
UnityEngine.Debug.Log("There are no Actors in the scene!");
|
|
80
|
-
|
|
81
|
-
return null;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return actors;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/// <summary>
|
|
88
|
-
///
|
|
89
|
-
/// </summary>
|
|
90
|
-
protected virtual List<TActorData> SaveTrialActors()
|
|
91
|
-
{
|
|
92
|
-
Actor[] actors = InitializeTrialActors();
|
|
93
|
-
|
|
94
|
-
List<TActorData> actorInstances = new();
|
|
95
|
-
|
|
96
|
-
for (int i = 0; i < actors.Length; i++)
|
|
97
|
-
{
|
|
98
|
-
GameObject actorGO = actors[i].gameObject;
|
|
99
|
-
|
|
100
|
-
MeshRenderer mesh = actorGO.GetComponentInChildren<MeshRenderer>();
|
|
101
|
-
|
|
102
|
-
Character character = characterDatabase.GetCharacter(actorGO.name);
|
|
103
|
-
|
|
104
|
-
TActorData trialActorData = new(
|
|
105
|
-
actorGO.name,
|
|
106
|
-
actorGO,
|
|
107
|
-
actors[i].GetIdentified(),
|
|
108
|
-
character.GetSpriteLabelByTexName(mesh.material.mainTexture.name),
|
|
109
|
-
mesh.sharedMaterial
|
|
110
|
-
);
|
|
111
|
-
|
|
112
|
-
actorInstances.Add(trialActorData);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
debugViewingInstances = actorInstances;
|
|
116
|
-
|
|
117
|
-
return actorInstances;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
/// <summary>
|
|
121
|
-
///
|
|
122
|
-
/// </summary>
|
|
123
|
-
protected virtual void LoadTrialActors(List<TActorData> trialActorDatas)
|
|
124
|
-
{
|
|
125
|
-
Actor[] actors = InitializeTrialActors();
|
|
126
|
-
|
|
127
|
-
if (actors == null || trialActorDatas == null)
|
|
128
|
-
return;
|
|
129
|
-
|
|
130
|
-
for (int i = 0; i < actors.Length; i++)
|
|
131
|
-
for (int j = 0; j < trialActorDatas.Count; j++)
|
|
132
|
-
if (actors[i].gameObject.name == trialActorDatas[j].aReference)
|
|
133
|
-
LoadTrialActor(actors[i], trialActorDatas[j]);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/// <summary>
|
|
137
|
-
///
|
|
138
|
-
/// </summary>
|
|
139
|
-
protected virtual void LoadTrialActor(Actor actor, TActorData data)
|
|
140
|
-
{
|
|
141
|
-
actor.transform.position = data.position;
|
|
142
|
-
|
|
143
|
-
actor.transform.eulerAngles = data.rotation;
|
|
144
|
-
|
|
145
|
-
MeshRenderer[] meshes = actor.GetComponentsInChildren<MeshRenderer>();
|
|
146
|
-
|
|
147
|
-
Character character = characterDatabase.GetCharacter(data.aReference);
|
|
148
|
-
|
|
149
|
-
Texture texture = character.GetSpriteByName(data.matName);
|
|
150
|
-
|
|
151
|
-
if (meshes.Length > 0)
|
|
152
|
-
meshes[0].material.mainTexture = texture;
|
|
153
|
-
|
|
154
|
-
if (meshes.Length > 1)
|
|
155
|
-
meshes[1].material.mainTexture = texture;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.Actors;
|
|
3
|
+
using DREditor.Characters;
|
|
4
|
+
using DREditor.EventObjects;
|
|
5
|
+
using DREditor.Saving;
|
|
6
|
+
using System.Collections.Generic;
|
|
7
|
+
using UnityEngine;
|
|
8
|
+
|
|
9
|
+
namespace DREditor.RoomBuilding.Implementation.Actors
|
|
10
|
+
{
|
|
11
|
+
/// <summary>
|
|
12
|
+
///
|
|
13
|
+
/// </summary>
|
|
14
|
+
[ClassHeader(nameof(IDRESaveable) + ", " + nameof(IDRELoadable) +
|
|
15
|
+
"\n\n")]
|
|
16
|
+
public class TrialActorManager : MonoBehaviour, IDRESaveable, IDRELoadable
|
|
17
|
+
{
|
|
18
|
+
/// <summary>
|
|
19
|
+
///
|
|
20
|
+
/// </summary>
|
|
21
|
+
[Tooltip("")]
|
|
22
|
+
[SerializeField] protected string saveKey = "actorDatas";
|
|
23
|
+
|
|
24
|
+
/// <summary>
|
|
25
|
+
///
|
|
26
|
+
/// </summary>
|
|
27
|
+
[Tooltip("")]
|
|
28
|
+
[SerializeField] protected CharacterDatabase characterDatabase = null;
|
|
29
|
+
|
|
30
|
+
/// <summary>
|
|
31
|
+
///
|
|
32
|
+
/// </summary>
|
|
33
|
+
[Tooltip("")]
|
|
34
|
+
[SerializeField] protected BoolWithEvent inDialogue = null;
|
|
35
|
+
|
|
36
|
+
/// <summary>
|
|
37
|
+
///
|
|
38
|
+
/// </summary>
|
|
39
|
+
[Tooltip("")]
|
|
40
|
+
[SerializeField] protected BoolWithEvent inTrialMode = null;
|
|
41
|
+
|
|
42
|
+
/// <summary>
|
|
43
|
+
///
|
|
44
|
+
/// </summary>
|
|
45
|
+
[Tooltip("")]
|
|
46
|
+
[SerializeField] protected List<TActorData> debugViewingInstances = new();
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
/// <summary>
|
|
50
|
+
///
|
|
51
|
+
/// </summary>
|
|
52
|
+
public virtual void Save(Dictionary<string, object> saveData)
|
|
53
|
+
{
|
|
54
|
+
if (inTrialMode.Value && inDialogue.Value)
|
|
55
|
+
saveData.Set(saveKey, SaveTrialActors());
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/// <summary>
|
|
59
|
+
///
|
|
60
|
+
/// </summary>
|
|
61
|
+
public virtual void Load(Dictionary<string, object> saveDatas)
|
|
62
|
+
{
|
|
63
|
+
if (inTrialMode.Value)
|
|
64
|
+
LoadTrialActors(saveDatas.Get<List<TActorData>>(saveKey));
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/// <summary>
|
|
68
|
+
///
|
|
69
|
+
/// </summary>
|
|
70
|
+
protected virtual Actor[] InitializeTrialActors()
|
|
71
|
+
{
|
|
72
|
+
if (characterDatabase == null)
|
|
73
|
+
characterDatabase = Resources.Load<CharacterDatabase>("Characters/CharacterDatabase");
|
|
74
|
+
|
|
75
|
+
Actor[] actors = (Actor[])FindObjectsByType(typeof(Actor));
|
|
76
|
+
|
|
77
|
+
if (actors.Length == 0)
|
|
78
|
+
{
|
|
79
|
+
UnityEngine.Debug.Log("There are no Actors in the scene!");
|
|
80
|
+
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return actors;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/// <summary>
|
|
88
|
+
///
|
|
89
|
+
/// </summary>
|
|
90
|
+
protected virtual List<TActorData> SaveTrialActors()
|
|
91
|
+
{
|
|
92
|
+
Actor[] actors = InitializeTrialActors();
|
|
93
|
+
|
|
94
|
+
List<TActorData> actorInstances = new();
|
|
95
|
+
|
|
96
|
+
for (int i = 0; i < actors.Length; i++)
|
|
97
|
+
{
|
|
98
|
+
GameObject actorGO = actors[i].gameObject;
|
|
99
|
+
|
|
100
|
+
MeshRenderer mesh = actorGO.GetComponentInChildren<MeshRenderer>();
|
|
101
|
+
|
|
102
|
+
Character character = characterDatabase.GetCharacter(actorGO.name);
|
|
103
|
+
|
|
104
|
+
TActorData trialActorData = new(
|
|
105
|
+
actorGO.name,
|
|
106
|
+
actorGO,
|
|
107
|
+
actors[i].GetIdentified(),
|
|
108
|
+
character.GetSpriteLabelByTexName(mesh.material.mainTexture.name),
|
|
109
|
+
mesh.sharedMaterial
|
|
110
|
+
);
|
|
111
|
+
|
|
112
|
+
actorInstances.Add(trialActorData);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
debugViewingInstances = actorInstances;
|
|
116
|
+
|
|
117
|
+
return actorInstances;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/// <summary>
|
|
121
|
+
///
|
|
122
|
+
/// </summary>
|
|
123
|
+
protected virtual void LoadTrialActors(List<TActorData> trialActorDatas)
|
|
124
|
+
{
|
|
125
|
+
Actor[] actors = InitializeTrialActors();
|
|
126
|
+
|
|
127
|
+
if (actors == null || trialActorDatas == null)
|
|
128
|
+
return;
|
|
129
|
+
|
|
130
|
+
for (int i = 0; i < actors.Length; i++)
|
|
131
|
+
for (int j = 0; j < trialActorDatas.Count; j++)
|
|
132
|
+
if (actors[i].gameObject.name == trialActorDatas[j].aReference)
|
|
133
|
+
LoadTrialActor(actors[i], trialActorDatas[j]);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/// <summary>
|
|
137
|
+
///
|
|
138
|
+
/// </summary>
|
|
139
|
+
protected virtual void LoadTrialActor(Actor actor, TActorData data)
|
|
140
|
+
{
|
|
141
|
+
actor.transform.position = data.position;
|
|
142
|
+
|
|
143
|
+
actor.transform.eulerAngles = data.rotation;
|
|
144
|
+
|
|
145
|
+
MeshRenderer[] meshes = actor.GetComponentsInChildren<MeshRenderer>();
|
|
146
|
+
|
|
147
|
+
Character character = characterDatabase.GetCharacter(data.aReference);
|
|
148
|
+
|
|
149
|
+
Texture texture = character.GetSpriteByName(data.matName);
|
|
150
|
+
|
|
151
|
+
if (meshes.Length > 0)
|
|
152
|
+
meshes[0].material.mainTexture = texture;
|
|
153
|
+
|
|
154
|
+
if (meshes.Length > 1)
|
|
155
|
+
meshes[1].material.mainTexture = texture;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
158
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: bb0e87e53ba9d264ba038a428fb5c285
|
|
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: bb0e87e53ba9d264ba038a428fb5c285
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: a36a5d1dffc04964e9a213f2986f685f
|
|
3
|
-
folderAsset: yes
|
|
4
|
-
DefaultImporter:
|
|
5
|
-
externalObjects: {}
|
|
6
|
-
userData:
|
|
7
|
-
assetBundleName:
|
|
8
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: a36a5d1dffc04964e9a213f2986f685f
|
|
3
|
+
folderAsset: yes
|
|
4
|
+
DefaultImporter:
|
|
5
|
+
externalObjects: {}
|
|
6
|
+
userData:
|
|
7
|
+
assetBundleName:
|
|
8
|
+
assetBundleVariant:
|