fr.jeanf.scenemanagement 0.0.21 → 0.0.23
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/Runtime/AdditiveLoading/ScenarioManager.cs +19 -0
- package/Runtime/AdditiveLoading/WorldManager.cs +30 -3
- package/Runtime/DynamicLoading/VolumeSystem.cs +35 -13
- package/Runtime/DynamicLoading/VolumeSystemAuthoring.cs +33 -0
- package/Runtime/DynamicLoading/VolumeSystemAuthoring.cs.meta +2 -0
- package/Samples/Example/ObjectThatFollowsCamera.prefab +46 -0
- package/Samples/Example/ObjectThatFollowsCamera.prefab.meta +7 -0
- package/Samples/Example/RegionData/Region_00/Region_00.asset +38 -0
- package/Samples/Example/RegionData/Region_00/Region_00.asset.meta +8 -0
- package/Samples/Example/RegionData/Region_00/Region_00_Colliders.prefab +305 -0
- package/Samples/Example/RegionData/Region_00/Region_00_Colliders.prefab.meta +7 -0
- package/Samples/Example/RegionData/Region_00/Region_00_Volumes.prefab +213 -0
- package/Samples/Example/RegionData/Region_00/Region_00_Volumes.prefab.meta +7 -0
- package/Samples/Example/RegionData/Region_00/Scenarios/Scenario_1.asset +25 -0
- package/Samples/Example/RegionData/Region_00/Scenarios/Scenario_1.asset.meta +8 -0
- package/Samples/Example/RegionData/Region_00/Scenarios/ZoneOverride_1.asset +16 -0
- package/Samples/Example/RegionData/Region_00/Scenarios/ZoneOverride_1.asset.meta +8 -0
- package/Samples/Example/RegionData/Region_00/Scenarios/ZoneOverride_2.asset +16 -0
- package/Samples/Example/RegionData/Region_00/Scenarios/ZoneOverride_2.asset.meta +8 -0
- package/Samples/Example/RegionData/Region_00/Scenarios.meta +8 -0
- package/Samples/Example/RegionData/Region_00/Zones/Zone_1.asset +20 -0
- package/Samples/Example/RegionData/Region_00/Zones/Zone_1.asset.meta +8 -0
- package/Samples/Example/RegionData/Region_00/Zones/Zone_2.asset +20 -0
- package/Samples/Example/RegionData/Region_00/Zones/Zone_2.asset.meta +8 -0
- package/Samples/Example/RegionData/Region_00/Zones/Zone_3.asset +20 -0
- package/Samples/Example/RegionData/Region_00/Zones/Zone_3.asset.meta +8 -0
- package/Samples/Example/RegionData/Region_00/Zones/Zone_4.asset +20 -0
- package/Samples/Example/RegionData/Region_00/Zones/Zone_4.asset.meta +8 -0
- package/Samples/Example/RegionData/Region_00/Zones.meta +8 -0
- package/Samples/Example/RegionData/Region_00.meta +8 -0
- package/Samples/Example/RegionData.meta +8 -0
- package/Samples/Example/Scenes/1.unity +484 -0
- package/Samples/Example/Scenes/1.unity.meta +7 -0
- package/Samples/Example/Scenes/2.unity +484 -0
- package/Samples/Example/Scenes/2.unity.meta +7 -0
- package/Samples/Example/Scenes/3.unity +484 -0
- package/Samples/Example/Scenes/3.unity.meta +7 -0
- package/Samples/Example/Scenes/4.unity +484 -0
- package/Samples/Example/Scenes/4.unity.meta +7 -0
- package/Samples/Example/Scenes/Main.unity +3254 -0
- package/Samples/Example/Scenes/Main.unity.meta +7 -0
- package/Samples/Example/Scenes/Scenario_1.unity +234 -0
- package/Samples/Example/Scenes/Scenario_1.unity.meta +7 -0
- package/Samples/Example/Scenes/World.unity +664 -0
- package/Samples/Example/Scenes/World.unity.meta +7 -0
- package/Samples/Example/Scenes/World_depedency.unity +1717 -0
- package/Samples/Example/Scenes/World_depedency.unity.meta +7 -0
- package/Samples/Example/Scenes.meta +8 -0
- package/Samples/Example/VolumeSystemAuthoring.prefab +49 -0
- package/Samples/Example/VolumeSystemAuthoring.prefab.meta +7 -0
- package/Samples/Example.meta +8 -0
- package/Samples/Setup/AdditiveLoading.prefab +10 -45
- package/package.json +6 -1
|
@@ -17,6 +17,9 @@ namespace jeanf.scenemanagement
|
|
|
17
17
|
[SerializeField] private VoidEventChannelSO KillAllScenariosRequest;
|
|
18
18
|
|
|
19
19
|
public static Dictionary<string, List<AppType>> activeOverridesPerZone = new Dictionary<string, List<AppType>>();
|
|
20
|
+
|
|
21
|
+
public delegate void ScenarioStateChanged(string zoneId);
|
|
22
|
+
public static ScenarioStateChanged OnZoneOverridesChanged;
|
|
20
23
|
private void Awake()
|
|
21
24
|
{
|
|
22
25
|
_sceneLoader = this.GetComponent<SceneLoader>();
|
|
@@ -53,6 +56,7 @@ namespace jeanf.scenemanagement
|
|
|
53
56
|
foreach (var zoneOverride in ScenarioDictionary[scenarioID].ZoneOverrides)
|
|
54
57
|
{
|
|
55
58
|
activeOverridesPerZone.Add(zoneOverride.zone.id, zoneOverride.AppsForThisZone_Override);
|
|
59
|
+
OnZoneOverridesChanged?.Invoke(zoneOverride.zone.id);
|
|
56
60
|
}
|
|
57
61
|
|
|
58
62
|
foreach (var scene in CompileSceneList(scenario))
|
|
@@ -78,6 +82,7 @@ namespace jeanf.scenemanagement
|
|
|
78
82
|
foreach (var zoneOverride in ScenarioDictionary[scenarioID].ZoneOverrides)
|
|
79
83
|
{
|
|
80
84
|
activeOverridesPerZone.Remove(zoneOverride.zone.id);
|
|
85
|
+
OnZoneOverridesChanged?.Invoke(zoneOverride.zone.id);
|
|
81
86
|
}
|
|
82
87
|
foreach (var scene in CompileSceneList(scenario))
|
|
83
88
|
{
|
|
@@ -90,11 +95,25 @@ namespace jeanf.scenemanagement
|
|
|
90
95
|
{
|
|
91
96
|
var scenariosToRemove = _activeScenarios;
|
|
92
97
|
var obsoleteScenarios = scenariosToRemove.Select(scenario => UnloadScenario(scenario.id)).Where(scenarioToUnload => scenarioToUnload is not null).ToList();
|
|
98
|
+
var affectedZones = new HashSet<string>();
|
|
99
|
+
// Collect all affected zones before unloading
|
|
100
|
+
foreach (var scenario in scenariosToRemove)
|
|
101
|
+
{
|
|
102
|
+
foreach (var zoneOverride in scenario.ZoneOverrides)
|
|
103
|
+
{
|
|
104
|
+
affectedZones.Add(zoneOverride.zone.id);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
93
107
|
|
|
94
108
|
foreach (var obsoleteScenario in obsoleteScenarios)
|
|
95
109
|
{
|
|
96
110
|
_activeScenarios.Remove(obsoleteScenario);
|
|
97
111
|
}
|
|
112
|
+
// Notify for all affected zones after everything is unloaded
|
|
113
|
+
foreach (var zoneId in affectedZones)
|
|
114
|
+
{
|
|
115
|
+
OnZoneOverridesChanged?.Invoke(zoneId);
|
|
116
|
+
}
|
|
98
117
|
}
|
|
99
118
|
|
|
100
119
|
private static List<string> CompileSceneList(Scenario scenario)
|
|
@@ -2,6 +2,7 @@ using System.Collections.Generic;
|
|
|
2
2
|
using System.Linq;
|
|
3
3
|
using UnityEngine;
|
|
4
4
|
using jeanf.EventSystem;
|
|
5
|
+
using jeanf.propertyDrawer;
|
|
5
6
|
using jeanf.vrplayer;
|
|
6
7
|
|
|
7
8
|
namespace jeanf.scenemanagement
|
|
@@ -25,8 +26,20 @@ namespace jeanf.scenemanagement
|
|
|
25
26
|
[SerializeField] private StringEventChannelSO regionChangeRequestChannel;
|
|
26
27
|
[SerializeField] private SendTeleportTarget sendTeleportTarget;
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
[ReadOnly] [SerializeField] private Zone _currentPlayerZone;
|
|
30
|
+
private static WorldManager Instance;
|
|
31
|
+
public static Zone CurrentPlayerZone
|
|
32
|
+
{
|
|
33
|
+
get => Instance._currentPlayerZone;
|
|
34
|
+
private set => Instance._currentPlayerZone = value;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
[ReadOnly] [SerializeField] private Region _currentPlayerRegion;
|
|
38
|
+
public static Region CurrentPlayerRegion
|
|
39
|
+
{
|
|
40
|
+
get => Instance._currentPlayerRegion;
|
|
41
|
+
private set => Instance._currentPlayerRegion = value;
|
|
42
|
+
}
|
|
30
43
|
|
|
31
44
|
public delegate void SendId(string newRegionID);
|
|
32
45
|
public static SendId RequestRegionChange;
|
|
@@ -45,6 +58,7 @@ namespace jeanf.scenemanagement
|
|
|
45
58
|
|
|
46
59
|
private void Awake()
|
|
47
60
|
{
|
|
61
|
+
Instance = this;
|
|
48
62
|
_sceneLoader = this.GetComponent<SceneLoader>();
|
|
49
63
|
Init();
|
|
50
64
|
}
|
|
@@ -60,6 +74,7 @@ namespace jeanf.scenemanagement
|
|
|
60
74
|
|
|
61
75
|
ZoneContainer.broadcastObject += SetCurrentZoneAndRegion;
|
|
62
76
|
ResetWorld += Init;
|
|
77
|
+
ScenarioManager.OnZoneOverridesChanged += OnZoneOverridesChanged;
|
|
63
78
|
}
|
|
64
79
|
|
|
65
80
|
private void Unsubscribe()
|
|
@@ -69,6 +84,7 @@ namespace jeanf.scenemanagement
|
|
|
69
84
|
|
|
70
85
|
ZoneContainer.broadcastObject -= SetCurrentZoneAndRegion;
|
|
71
86
|
ResetWorld -= Init;
|
|
87
|
+
ScenarioManager.OnZoneOverridesChanged -= OnZoneOverridesChanged;
|
|
72
88
|
}
|
|
73
89
|
|
|
74
90
|
|
|
@@ -102,6 +118,16 @@ namespace jeanf.scenemanagement
|
|
|
102
118
|
_dependenciesPerRegion.TryAdd(region.id, region.dependenciesInThisRegion);
|
|
103
119
|
}
|
|
104
120
|
}
|
|
121
|
+
|
|
122
|
+
// Add new method to handle zone override changes
|
|
123
|
+
private void OnZoneOverridesChanged(string zoneId)
|
|
124
|
+
{
|
|
125
|
+
// Only update if we're in the affected zone
|
|
126
|
+
if (CurrentPlayerZone != null && CurrentPlayerZone.id == zoneId)
|
|
127
|
+
{
|
|
128
|
+
PublishAppList(CurrentPlayerZone);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
105
131
|
|
|
106
132
|
private void SetCurrentZoneAndRegion(GameObject gameObject, Zone zone)
|
|
107
133
|
{
|
|
@@ -161,12 +187,13 @@ namespace jeanf.scenemanagement
|
|
|
161
187
|
private void PublishAppList(Zone zone)
|
|
162
188
|
{
|
|
163
189
|
var listToBroadcast = zone.DefaultAppsInZone;
|
|
190
|
+
if(isDebug) Debug.Log($"[WorldManager] Default list for zone [{zone.name}] : [{string.Join(", ", listToBroadcast)}]");
|
|
164
191
|
// check if for this zone there is no override
|
|
165
192
|
if (ScenarioManager.activeOverridesPerZone.TryGetValue(zone.id, out var value))
|
|
166
193
|
{
|
|
167
194
|
// if yes, send override list
|
|
168
195
|
listToBroadcast = value;
|
|
169
|
-
Debug.Log($"[WorldManager] List override found: [{string.Join(", ", listToBroadcast)}]");
|
|
196
|
+
if(isDebug) Debug.Log($"[WorldManager] List override found for zone [{zone.name}] : [{string.Join(", ", listToBroadcast)}]");
|
|
170
197
|
}
|
|
171
198
|
|
|
172
199
|
// broadcast list
|
|
@@ -13,12 +13,14 @@ namespace jeanf.scenemanagement
|
|
|
13
13
|
{
|
|
14
14
|
private EntityQuery _relevantQuery;
|
|
15
15
|
private EntityQuery _volumeSetQuery;
|
|
16
|
+
private EntityQuery _configQuery;
|
|
16
17
|
private NativeHashSet<Entity> _activeScenes;
|
|
17
18
|
private NativeHashSet<Entity> _preloadingScenes;
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
private const float
|
|
21
|
-
private const
|
|
20
|
+
// Default values if no config is present
|
|
21
|
+
private const float DEFAULT_PRELOAD_HORIZONTAL_MULTIPLIER = 1.0f;
|
|
22
|
+
private const float DEFAULT_PRELOAD_VERTICAL_MULTIPLIER = 1.0f;
|
|
23
|
+
private const int DEFAULT_MAX_OPERATIONS_PER_FRAME = 2;
|
|
22
24
|
|
|
23
25
|
[BurstCompile]
|
|
24
26
|
public void OnCreate(ref SystemState state)
|
|
@@ -33,6 +35,10 @@ namespace jeanf.scenemanagement
|
|
|
33
35
|
.WithAll<VolumeBuffer>() // Changed from WithReadOnly to WithAll
|
|
34
36
|
.Build(ref state);
|
|
35
37
|
|
|
38
|
+
_configQuery = new EntityQueryBuilder(Allocator.Temp)
|
|
39
|
+
.WithAll<VolumeSystemConfig>()
|
|
40
|
+
.Build(ref state);
|
|
41
|
+
|
|
36
42
|
//_relevantQuery = state.GetEntityQuery(
|
|
37
43
|
// ComponentType.ReadOnly<Relevant>(),
|
|
38
44
|
// ComponentType.ReadOnly<LocalToWorld>());
|
|
@@ -55,6 +61,8 @@ namespace jeanf.scenemanagement
|
|
|
55
61
|
[ReadOnly] public ComponentLookup<LocalToWorld> LocalToWorldLookup;
|
|
56
62
|
[ReadOnly] public ComponentLookup<Volume> VolumeLookup;
|
|
57
63
|
[ReadOnly] public BufferLookup<VolumeBuffer> VolumeBufferLookup;
|
|
64
|
+
[ReadOnly] public float PreloadHorizontalMultiplier; // Added this
|
|
65
|
+
[ReadOnly] public float PreloadVerticalMultiplier; // Added this
|
|
58
66
|
|
|
59
67
|
public NativeHashSet<Entity> ContainingVolumes;
|
|
60
68
|
public NativeHashSet<Entity> NearbyVolumes;
|
|
@@ -70,9 +78,9 @@ namespace jeanf.scenemanagement
|
|
|
70
78
|
private bool IsPositionNearVolume(float3 position, float3 volumePosition, float3 range)
|
|
71
79
|
{
|
|
72
80
|
var distance = math.abs(position - volumePosition);
|
|
73
|
-
bool isNearHorizontally = distance.x < range.x *
|
|
74
|
-
distance.z < range.z *
|
|
75
|
-
bool isNearVertically = distance.y < range.y *
|
|
81
|
+
bool isNearHorizontally = distance.x < range.x * PreloadHorizontalMultiplier &&
|
|
82
|
+
distance.z < range.z * PreloadHorizontalMultiplier;
|
|
83
|
+
bool isNearVertically = distance.y < range.y * PreloadVerticalMultiplier;
|
|
76
84
|
return isNearHorizontally && isNearVertically;
|
|
77
85
|
}
|
|
78
86
|
|
|
@@ -203,9 +211,21 @@ namespace jeanf.scenemanagement
|
|
|
203
211
|
}
|
|
204
212
|
}
|
|
205
213
|
|
|
206
|
-
[BurstCompile]
|
|
207
214
|
public void OnUpdate(ref SystemState state)
|
|
208
215
|
{
|
|
216
|
+
// Get config values with fallback to defaults
|
|
217
|
+
float preloadHorizontalMultiplier = DEFAULT_PRELOAD_HORIZONTAL_MULTIPLIER;
|
|
218
|
+
float preloadVerticalMultiplier = DEFAULT_PRELOAD_VERTICAL_MULTIPLIER;
|
|
219
|
+
int maxOperationsPerFrame = DEFAULT_MAX_OPERATIONS_PER_FRAME;
|
|
220
|
+
|
|
221
|
+
if (_configQuery.HasSingleton<VolumeSystemConfig>())
|
|
222
|
+
{
|
|
223
|
+
var config = SystemAPI.GetSingleton<VolumeSystemConfig>();
|
|
224
|
+
preloadHorizontalMultiplier = config.PreloadHorizontalMultiplier;
|
|
225
|
+
preloadVerticalMultiplier = config.PreloadVerticalMultiplier;
|
|
226
|
+
maxOperationsPerFrame = config.MaxOperationsPerFrame;
|
|
227
|
+
}
|
|
228
|
+
|
|
209
229
|
var relevantTransforms = _relevantQuery.ToComponentDataArray<LocalToWorld>(Allocator.TempJob);
|
|
210
230
|
var playerPosition = relevantTransforms[0].Position;
|
|
211
231
|
var volumeSets = _volumeSetQuery.ToEntityArray(Allocator.TempJob);
|
|
@@ -228,7 +248,9 @@ namespace jeanf.scenemanagement
|
|
|
228
248
|
VolumeLookup = SystemAPI.GetComponentLookup<Volume>(true),
|
|
229
249
|
VolumeBufferLookup = SystemAPI.GetBufferLookup<VolumeBuffer>(true),
|
|
230
250
|
ContainingVolumes = containingVolumes,
|
|
231
|
-
NearbyVolumes = nearbyVolumes
|
|
251
|
+
NearbyVolumes = nearbyVolumes,
|
|
252
|
+
PreloadHorizontalMultiplier = preloadHorizontalMultiplier,
|
|
253
|
+
PreloadVerticalMultiplier = preloadVerticalMultiplier
|
|
232
254
|
};
|
|
233
255
|
|
|
234
256
|
// Schedule scene filter job
|
|
@@ -261,7 +283,7 @@ namespace jeanf.scenemanagement
|
|
|
261
283
|
sceneChangeHandle.Complete();
|
|
262
284
|
|
|
263
285
|
// Process scene operations (this part cannot be burst compiled or parallelized due to SceneSystem calls)
|
|
264
|
-
ProcessSceneOperations(ref state, scenesToUnload, scenesToLoad, scenesToPreload);
|
|
286
|
+
ProcessSceneOperations(ref state, scenesToUnload, scenesToLoad, scenesToPreload, maxOperationsPerFrame);
|
|
265
287
|
|
|
266
288
|
// Cleanup
|
|
267
289
|
relevantTransforms.Dispose();
|
|
@@ -275,14 +297,14 @@ namespace jeanf.scenemanagement
|
|
|
275
297
|
scenesToPreload.Dispose();
|
|
276
298
|
}
|
|
277
299
|
|
|
278
|
-
private void ProcessSceneOperations( ref SystemState state, NativeList<Entity> scenesToUnload, NativeList<Entity> scenesToLoad, NativeList<Entity> scenesToPreload)
|
|
300
|
+
private void ProcessSceneOperations( ref SystemState state, NativeList<Entity> scenesToUnload, NativeList<Entity> scenesToLoad, NativeList<Entity> scenesToPreload, int maxOperationsPerFrame)
|
|
279
301
|
{
|
|
280
302
|
var operationsThisFrame = 0;
|
|
281
303
|
|
|
282
304
|
// Process unloads first
|
|
283
305
|
foreach (var scene in scenesToUnload)
|
|
284
306
|
{
|
|
285
|
-
if (operationsThisFrame >=
|
|
307
|
+
if (operationsThisFrame >= maxOperationsPerFrame) break;
|
|
286
308
|
|
|
287
309
|
// Check if entity exists before trying to access it
|
|
288
310
|
if (!state.EntityManager.Exists(scene))
|
|
@@ -318,7 +340,7 @@ namespace jeanf.scenemanagement
|
|
|
318
340
|
// Process loads
|
|
319
341
|
foreach (var scene in scenesToLoad)
|
|
320
342
|
{
|
|
321
|
-
if (operationsThisFrame >=
|
|
343
|
+
if (operationsThisFrame >= maxOperationsPerFrame) break;
|
|
322
344
|
|
|
323
345
|
if (!state.EntityManager.Exists(scene) || !state.EntityManager.HasComponent<LevelInfo>(scene))
|
|
324
346
|
{
|
|
@@ -341,7 +363,7 @@ namespace jeanf.scenemanagement
|
|
|
341
363
|
// Process preloads
|
|
342
364
|
foreach (var scene in scenesToPreload)
|
|
343
365
|
{
|
|
344
|
-
if (operationsThisFrame >=
|
|
366
|
+
if (operationsThisFrame >= maxOperationsPerFrame) break;
|
|
345
367
|
|
|
346
368
|
if (!state.EntityManager.Exists(scene) || !state.EntityManager.HasComponent<LevelInfo>(scene))
|
|
347
369
|
{
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
using Unity.Entities;
|
|
2
|
+
using UnityEngine;
|
|
3
|
+
|
|
4
|
+
namespace jeanf.scenemanagement
|
|
5
|
+
{
|
|
6
|
+
public class VolumeSystemAuthoring : MonoBehaviour
|
|
7
|
+
{
|
|
8
|
+
public float preloadHorizontalMultiplier = 2.0f;
|
|
9
|
+
public float preloadVerticalMultiplier = 1.0f;
|
|
10
|
+
public int maxOperationsPerFrame = 2;
|
|
11
|
+
|
|
12
|
+
class Baker : Baker<VolumeSystemAuthoring>
|
|
13
|
+
{
|
|
14
|
+
public override void Bake(VolumeSystemAuthoring authoring)
|
|
15
|
+
{
|
|
16
|
+
var entity = GetEntity(TransformUsageFlags.None);
|
|
17
|
+
AddComponent(entity, new VolumeSystemConfig
|
|
18
|
+
{
|
|
19
|
+
PreloadHorizontalMultiplier = authoring.preloadHorizontalMultiplier,
|
|
20
|
+
PreloadVerticalMultiplier = authoring.preloadVerticalMultiplier,
|
|
21
|
+
MaxOperationsPerFrame = authoring.maxOperationsPerFrame
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public struct VolumeSystemConfig : IComponentData
|
|
28
|
+
{
|
|
29
|
+
public float PreloadHorizontalMultiplier;
|
|
30
|
+
public float PreloadVerticalMultiplier;
|
|
31
|
+
public int MaxOperationsPerFrame;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
%YAML 1.1
|
|
2
|
+
%TAG !u! tag:unity3d.com,2011:
|
|
3
|
+
--- !u!1 &6922798849384411428
|
|
4
|
+
GameObject:
|
|
5
|
+
m_ObjectHideFlags: 0
|
|
6
|
+
m_CorrespondingSourceObject: {fileID: 0}
|
|
7
|
+
m_PrefabInstance: {fileID: 0}
|
|
8
|
+
m_PrefabAsset: {fileID: 0}
|
|
9
|
+
serializedVersion: 6
|
|
10
|
+
m_Component:
|
|
11
|
+
- component: {fileID: 4453093168078531673}
|
|
12
|
+
- component: {fileID: 7398194448339198983}
|
|
13
|
+
m_Layer: 0
|
|
14
|
+
m_Name: ObjectThatFollowsCamera
|
|
15
|
+
m_TagString: Untagged
|
|
16
|
+
m_Icon: {fileID: 0}
|
|
17
|
+
m_NavMeshLayer: 0
|
|
18
|
+
m_StaticEditorFlags: 0
|
|
19
|
+
m_IsActive: 1
|
|
20
|
+
--- !u!4 &4453093168078531673
|
|
21
|
+
Transform:
|
|
22
|
+
m_ObjectHideFlags: 0
|
|
23
|
+
m_CorrespondingSourceObject: {fileID: 0}
|
|
24
|
+
m_PrefabInstance: {fileID: 0}
|
|
25
|
+
m_PrefabAsset: {fileID: 0}
|
|
26
|
+
m_GameObject: {fileID: 6922798849384411428}
|
|
27
|
+
serializedVersion: 2
|
|
28
|
+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
29
|
+
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
30
|
+
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
31
|
+
m_ConstrainProportionsScale: 0
|
|
32
|
+
m_Children: []
|
|
33
|
+
m_Father: {fileID: 0}
|
|
34
|
+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
35
|
+
--- !u!114 &7398194448339198983
|
|
36
|
+
MonoBehaviour:
|
|
37
|
+
m_ObjectHideFlags: 0
|
|
38
|
+
m_CorrespondingSourceObject: {fileID: 0}
|
|
39
|
+
m_PrefabInstance: {fileID: 0}
|
|
40
|
+
m_PrefabAsset: {fileID: 0}
|
|
41
|
+
m_GameObject: {fileID: 6922798849384411428}
|
|
42
|
+
m_Enabled: 1
|
|
43
|
+
m_EditorHideFlags: 0
|
|
44
|
+
m_Script: {fileID: 11500000, guid: ba0952901a8ec71478ebf3e3f21a9f0c, type: 3}
|
|
45
|
+
m_Name:
|
|
46
|
+
m_EditorClassIdentifier:
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
%YAML 1.1
|
|
2
|
+
%TAG !u! tag:unity3d.com,2011:
|
|
3
|
+
--- !u!114 &11400000
|
|
4
|
+
MonoBehaviour:
|
|
5
|
+
m_ObjectHideFlags: 0
|
|
6
|
+
m_CorrespondingSourceObject: {fileID: 0}
|
|
7
|
+
m_PrefabInstance: {fileID: 0}
|
|
8
|
+
m_PrefabAsset: {fileID: 0}
|
|
9
|
+
m_GameObject: {fileID: 0}
|
|
10
|
+
m_Enabled: 1
|
|
11
|
+
m_EditorHideFlags: 0
|
|
12
|
+
m_Script: {fileID: 11500000, guid: c96c6420dc848df48969d92d82fab61f, type: 3}
|
|
13
|
+
m_Name: Region_00
|
|
14
|
+
m_EditorClassIdentifier:
|
|
15
|
+
id:
|
|
16
|
+
id: f6a8a488-c421-48db-8b31-fc5d846a16fa
|
|
17
|
+
Coordinate:
|
|
18
|
+
x: 0
|
|
19
|
+
y: 0
|
|
20
|
+
levelName: region_00
|
|
21
|
+
level: 0
|
|
22
|
+
scenariosInThisRegion:
|
|
23
|
+
- {fileID: 11400000, guid: da48d91e553f86f47add3deca44799c2, type: 2}
|
|
24
|
+
zonesInThisRegion:
|
|
25
|
+
- {fileID: 11400000, guid: 2b0939a48ac9b554d9da18a49189cb9d, type: 2}
|
|
26
|
+
- {fileID: 11400000, guid: a171907111fad6941a4b6e06501f0a26, type: 2}
|
|
27
|
+
- {fileID: 11400000, guid: 31277bf1125592b41afff901df8ad815, type: 2}
|
|
28
|
+
- {fileID: 11400000, guid: 89857cc01bad650448624ec63199b051, type: 2}
|
|
29
|
+
dependenciesInThisRegion:
|
|
30
|
+
- sceneAsset: {fileID: 102900000, guid: eca06b9066d8efb4fae7239d6bec44d5, type: 3}
|
|
31
|
+
sceneName: World_depedency
|
|
32
|
+
SpawnPosOnRegionChangeRequest:
|
|
33
|
+
position: {x: 2.5, y: 0, z: 2.5}
|
|
34
|
+
rotation: {x: 0, y: 0, z: 0}
|
|
35
|
+
isUsingOnInitSpawnPos: 1
|
|
36
|
+
SpawnPosOnInit:
|
|
37
|
+
position: {x: -2.5, y: 0, z: -2.5}
|
|
38
|
+
rotation: {x: 0, y: 0, z: 0}
|