station 46 room
This commit is contained in:
@@ -10,5 +10,5 @@ MonoBehaviour:
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5aece1c1f67b46afaf249c4520a0478f, type: 3}
|
||||
m_Name: Place On Bottom Row
|
||||
m_Name: Place On Bottom Or Top Row Alternating
|
||||
m_EditorClassIdentifier:
|
||||
@@ -73,13 +73,19 @@ namespace EscapeRoomEngine.Engine.Runtime
|
||||
{
|
||||
Logger.Log("Generating room...", LogType.RoomGeneration);
|
||||
|
||||
var intro = NumberOfRooms == 0;
|
||||
|
||||
// get the last entrance from the newest room or create a spawn passage with no entrance door for where the player will start
|
||||
var entrance = NumberOfRooms > 0 ? _rooms.Last().exit : new Passage(new DoorModule(null, theme.spawnDoor));
|
||||
var entrance = intro ? new Passage(new DoorModule(null, theme.spawnDoor)) : _rooms.Last().exit;
|
||||
|
||||
var room = new Room(entrance);
|
||||
_rooms.Add(room);
|
||||
|
||||
if (_plannedPuzzles.Count > 0)
|
||||
if (intro)
|
||||
{
|
||||
GenerateIntroSpace(room, entrance);
|
||||
}
|
||||
else if (_plannedPuzzles.Count > 0)
|
||||
{
|
||||
GeneratePuzzleSpace(room, entrance);
|
||||
}
|
||||
@@ -92,7 +98,12 @@ namespace EscapeRoomEngine.Engine.Runtime
|
||||
var roomId = _rooms.Count - 1;
|
||||
room.InstantiateRoom(_playSpaceOrigin.transform, roomId * roomOffset, roomId.ToString());
|
||||
|
||||
if (theme.environment)
|
||||
if (intro)
|
||||
{
|
||||
Instantiate(theme.intro, room.roomObject.transform, false);
|
||||
FindObjectOfType<Intro>().Place(room.exit.fromOut.DoorState.transform);
|
||||
}
|
||||
else if (theme.environment)
|
||||
{
|
||||
Instantiate(theme.environment, room.roomObject.transform, false);
|
||||
}
|
||||
@@ -101,6 +112,20 @@ namespace EscapeRoomEngine.Engine.Runtime
|
||||
UpdateUI();
|
||||
}
|
||||
|
||||
private void GenerateIntroSpace(Room room, Passage entrance)
|
||||
{
|
||||
Logger.Log($"Generating intro space...", LogType.RoomGeneration);
|
||||
|
||||
var space = new IntroSpace(room, entrance);
|
||||
var exitDoor = new DoorModule(space, theme.introExitDoor);
|
||||
if (!space.AddModuleWithRequirements(exitDoor))
|
||||
{
|
||||
throw new EngineException("Could not satisfy requirements for exit door.");
|
||||
}
|
||||
var exit = new Passage(exitDoor);
|
||||
room.AddSpace(space, exit);
|
||||
}
|
||||
|
||||
private void GeneratePuzzleSpace(Room room, Passage entrance)
|
||||
{
|
||||
var puzzlesAdded = 0;
|
||||
@@ -183,15 +208,11 @@ namespace EscapeRoomEngine.Engine.Runtime
|
||||
GameControl.Instance.PlannedPuzzles = _plannedPuzzles;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Hide or destroy the room two rooms ago. The actual previous room is kept for the player to be able to backtrack one room.
|
||||
/// </summary>
|
||||
/// <param name="destroy"></param>
|
||||
public void HidePreviousRoom(bool destroy = true)
|
||||
{
|
||||
if (NumberOfRooms > 2)
|
||||
if (NumberOfRooms >= 2)
|
||||
{
|
||||
var room = _rooms[NumberOfRooms - 3];
|
||||
var room = _rooms[NumberOfRooms - 2];
|
||||
|
||||
// lock the doors that might be used to return to the old room
|
||||
room.exit.toIn.DoorState.Lock();
|
||||
|
||||
@@ -15,6 +15,9 @@ namespace EscapeRoomEngine.Engine.Runtime
|
||||
{
|
||||
#region Theme
|
||||
|
||||
[BoxGroup("Theme")]
|
||||
public Intro intro;
|
||||
|
||||
[BoxGroup("Theme")] [Required]
|
||||
[Tooltip("The tile that rooms are generated from.")]
|
||||
public SpaceTile spaceTile;
|
||||
@@ -33,6 +36,9 @@ namespace EscapeRoomEngine.Engine.Runtime
|
||||
[BoxGroup("Doors")] [Required]
|
||||
public DoorModuleDescription spawnDoor;
|
||||
|
||||
[BoxGroup("Doors")] [Required]
|
||||
public DoorModuleDescription introExitDoor;
|
||||
|
||||
[BoxGroup("Doors")] [ValidateInput("IsNotEmpty", "At least one exit door type is required.")]
|
||||
[Tooltip("The types of exit doors this theme provides. Entrance doors are connected to the exit doors and don't need to be specified here.")]
|
||||
public List<DoorModuleDescription> exitDoorTypes;
|
||||
|
||||
14
Assets/Engine/Runtime/Intro.cs
Normal file
14
Assets/Engine/Runtime/Intro.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace EscapeRoomEngine.Engine.Runtime
|
||||
{
|
||||
public class Intro : MonoBehaviour
|
||||
{
|
||||
public void Place(Transform placement)
|
||||
{
|
||||
var t = transform;
|
||||
t.position = placement.position;
|
||||
t.rotation = placement.rotation;
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/Engine/Runtime/Intro.cs.meta
Normal file
3
Assets/Engine/Runtime/Intro.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c2e3fc71dc4142888bad2313cbf1bea9
|
||||
timeCreated: 1684011098
|
||||
19
Assets/Engine/Runtime/IntroSpace.cs
Normal file
19
Assets/Engine/Runtime/IntroSpace.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace EscapeRoomEngine.Engine.Runtime
|
||||
{
|
||||
public class IntroSpace : Space
|
||||
{
|
||||
internal IntroSpace(Room room, Passage entrance) : base(room, entrance) {}
|
||||
|
||||
internal override void InstantiateSpace(Transform parent, string name)
|
||||
{
|
||||
spaceObject = new GameObject($"Space {name}");
|
||||
spaceObject.transform.SetParent(parent, false);
|
||||
spaceObject.transform.localPosition = new Vector3(rrPlacement.position.x, 0, rrPlacement.position.z);
|
||||
|
||||
// instantiate all modules inside this space
|
||||
Modules.ForEach(module => module.InstantiateModule(spaceObject.transform));
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/Engine/Runtime/IntroSpace.cs.meta
Normal file
3
Assets/Engine/Runtime/IntroSpace.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 84603b46fb8d4513945a113de3e6af72
|
||||
timeCreated: 1684066247
|
||||
@@ -0,0 +1,46 @@
|
||||
using System.Collections.Generic;
|
||||
using EscapeRoomEngine.Engine.Runtime.Modules;
|
||||
using EscapeRoomEngine.Engine.Runtime.Modules.State;
|
||||
using EscapeRoomEngine.Engine.Runtime.Utilities;
|
||||
using UnityEngine;
|
||||
|
||||
namespace EscapeRoomEngine.Engine.Runtime.Requirements.Placement
|
||||
{
|
||||
/// <summary>
|
||||
/// This requirement guarantees that the back side of the module is placed on the bottom row of an even-numbered space or on the top row of an odd-numbered space.
|
||||
/// </summary>
|
||||
[CreateAssetMenu(menuName = "Requirements/Place On Bottom Or Top Row Alternating")]
|
||||
public class PlaceOnBottomOrTopRowAlternating : PlacementRequirement
|
||||
{
|
||||
protected override List<Utilities.Placement> FilterCandidates(List<Utilities.Placement> candidates, Module module, Space space)
|
||||
{
|
||||
if (!module.description.HasType(ModuleType.DoorExit))
|
||||
{
|
||||
throw new WrongTypeException(module.description.types[0], ModuleType.DoorExit);
|
||||
}
|
||||
|
||||
var number = FindObjectsByType<DoorState>(FindObjectsInactive.Include, FindObjectsSortMode.None).Length;
|
||||
|
||||
if (number / 2 % 2 == 0)
|
||||
{
|
||||
candidates.RemoveAll(candidate =>
|
||||
{
|
||||
var (left, right) = candidate.BackCorners;
|
||||
return !(left.z == 0 && right.z == 0);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
var sizeMinusOne = space.rrPlacement.size - Vector2Int.one;
|
||||
|
||||
candidates.RemoveAll(candidate =>
|
||||
{
|
||||
var (left, right) = candidate.BackCorners;
|
||||
return !(left.z == sizeMinusOne.y && right.z == sizeMinusOne.y);
|
||||
});
|
||||
}
|
||||
|
||||
return candidates;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using EscapeRoomEngine.Engine.Runtime.Modules;
|
||||
using UnityEngine;
|
||||
|
||||
namespace EscapeRoomEngine.Engine.Runtime.Requirements.Placement
|
||||
{
|
||||
/// <summary>
|
||||
/// This requirement guarantees that the back side of the module is placed on the bottom row of the space.
|
||||
/// </summary>
|
||||
[CreateAssetMenu(menuName = "Requirements/Place On Bottom Row")]
|
||||
public class PlaceOnBottomRow : PlacementRequirement
|
||||
{
|
||||
protected override List<Utilities.Placement> FilterCandidates(List<Utilities.Placement> candidates, Module module, Space space)
|
||||
{
|
||||
candidates.RemoveAll(candidate =>
|
||||
{
|
||||
var (left, right) = candidate.BackCorners;
|
||||
return !(left.z == 0 && right.z == 0);
|
||||
});
|
||||
|
||||
return candidates;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -91,7 +91,11 @@ namespace EscapeRoomEngine.Engine.Runtime
|
||||
// start measurements on every puzzle as soon as the player enters the last room
|
||||
case DoorEventType.ExitedFrom when door.Equals(entrance.toIn) && Engine.Instance.CurrentRoom.Contains(this):
|
||||
puzzles.ForEach(puzzle => Measure.StartMeasuring((PuzzleModuleDescription)puzzle.description));
|
||||
// Engine.Instance.HidePreviousRoom();
|
||||
if (Engine.Instance.NumberOfRooms == 2)
|
||||
{
|
||||
// hide the intro room when exiting the first portal
|
||||
Engine.Instance.HidePreviousRoom(false);
|
||||
}
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -42,7 +42,9 @@ namespace EscapeRoomEngine.Engine.Runtime
|
||||
}
|
||||
}
|
||||
|
||||
private GameObject _spaceObject, _spaceTiles;
|
||||
protected GameObject spaceObject;
|
||||
|
||||
private GameObject _spaceTiles;
|
||||
private List<Module> _stagedModules = new();
|
||||
|
||||
internal Space(Room room, Passage entrance)
|
||||
@@ -97,15 +99,15 @@ namespace EscapeRoomEngine.Engine.Runtime
|
||||
return requirementsFulfilled;
|
||||
}
|
||||
|
||||
internal void InstantiateSpace(Transform parent, string name)
|
||||
internal virtual void InstantiateSpace(Transform parent, string name)
|
||||
{
|
||||
_spaceObject = new GameObject($"Space {name}");
|
||||
_spaceObject.transform.SetParent(parent, false);
|
||||
_spaceObject.transform.localPosition = new Vector3(rrPlacement.position.x, 0, rrPlacement.position.z);
|
||||
spaceObject = new GameObject($"Space {name}");
|
||||
spaceObject.transform.SetParent(parent, false);
|
||||
spaceObject.transform.localPosition = new Vector3(rrPlacement.position.x, 0, rrPlacement.position.z);
|
||||
|
||||
// build the space floor out of tiles
|
||||
_spaceTiles = new GameObject($"Space Geometry");
|
||||
_spaceTiles.transform.SetParent(_spaceObject.transform, false);
|
||||
_spaceTiles.transform.SetParent(spaceObject.transform, false);
|
||||
_spaceTiles.isStatic = true;
|
||||
for (var z = 0; z < rrPlacement.size.y; z++)
|
||||
{
|
||||
@@ -131,7 +133,7 @@ namespace EscapeRoomEngine.Engine.Runtime
|
||||
}
|
||||
|
||||
// instantiate all modules inside this space
|
||||
Modules.ForEach(module => module.InstantiateModule(_spaceObject.transform));
|
||||
Modules.ForEach(module => module.InstantiateModule(spaceObject.transform));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -130,6 +130,7 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
|
||||
public void StartGame()
|
||||
{
|
||||
gameState = GameState.Running;
|
||||
PauseGame(); // the time is not running during the intro
|
||||
|
||||
TimeElapsed = 0;
|
||||
|
||||
@@ -174,6 +175,12 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
|
||||
pauseButton.GetComponent<PauseButton>().Paused = true;
|
||||
break;
|
||||
case GameState.Paused:
|
||||
// check if the intro portal should be activated
|
||||
if (Engine.Instance.NumberOfRooms == 1)
|
||||
{
|
||||
Engine.Instance.CurrentRoom.Unwrap().SkipRoom();
|
||||
}
|
||||
|
||||
gameState = GameState.Running;
|
||||
pauseButton.GetComponent<PauseButton>().Paused = false;
|
||||
break;
|
||||
|
||||
@@ -14,6 +14,8 @@ namespace EscapeRoomEngine.Engine.Runtime.Utilities
|
||||
|
||||
public WrongTypeException(DoorType expected, DoorType found) : base($"Wrong door type ({found} instead of {expected})") {}
|
||||
|
||||
public WrongTypeException(ModuleType expected, ModuleType found) : base($"Wrong module type ({found} instead of {expected})") {}
|
||||
|
||||
public WrongTypeException(string message) : base(message) {}
|
||||
}
|
||||
|
||||
|
||||
@@ -5143,16 +5143,21 @@ PrefabInstance:
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6649846303971886392, guid: 1358b4ef564c4704682417dff526766a,
|
||||
- target: {fileID: 6527336161650890507, guid: 1358b4ef564c4704682417dff526766a,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
propertyPath: target
|
||||
value:
|
||||
objectReference: {fileID: 1429679620}
|
||||
- target: {fileID: 8137769401290482906, guid: 1358b4ef564c4704682417dff526766a,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Intro Room
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8137769401290482906, guid: 1358b4ef564c4704682417dff526766a,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
@@ -5277,84 +5282,6 @@ Transform:
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 2343402481646314945}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1001 &3040824338403071535
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 3103331268735355584, guid: 884a61055675a5a4c825fba3863c8011,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 7
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3103331268735355584, guid: 884a61055675a5a4c825fba3863c8011,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3103331268735355584, guid: 884a61055675a5a4c825fba3863c8011,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3103331268735355584, guid: 884a61055675a5a4c825fba3863c8011,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3103331268735355584, guid: 884a61055675a5a4c825fba3863c8011,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3103331268735355584, guid: 884a61055675a5a4c825fba3863c8011,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3103331268735355584, guid: 884a61055675a5a4c825fba3863c8011,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3103331268735355584, guid: 884a61055675a5a4c825fba3863c8011,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3103331268735355584, guid: 884a61055675a5a4c825fba3863c8011,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3103331268735355584, guid: 884a61055675a5a4c825fba3863c8011,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3103331268735355584, guid: 884a61055675a5a4c825fba3863c8011,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7243428590643213936, guid: 884a61055675a5a4c825fba3863c8011,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Follow Sphere
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8024693052737180052, guid: 884a61055675a5a4c825fba3863c8011,
|
||||
type: 3}
|
||||
propertyPath: target
|
||||
value:
|
||||
objectReference: {fileID: 1429679620}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 884a61055675a5a4c825fba3863c8011, type: 3}
|
||||
--- !u!1001 &3750376657174321753
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
8
Assets/Station46/Environments/Intro Room/Audio.meta
Normal file
8
Assets/Station46/Environments/Intro Room/Audio.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e8577966b449a834aa0ccc54d45991ee
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Station46/Environments/Intro Room/Audio/intro-edit.wav
(Stored with Git LFS)
Normal file
BIN
Assets/Station46/Environments/Intro Room/Audio/intro-edit.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e9879de5b83a4547be8ec1c406fb0556
|
||||
timeCreated: 1684016482
|
||||
File diff suppressed because it is too large
Load Diff
@@ -9587,6 +9587,7 @@ GameObject:
|
||||
- component: {fileID: 6265514306172551706}
|
||||
- component: {fileID: 5628022306974000633}
|
||||
- component: {fileID: 8024693052737180052}
|
||||
- component: {fileID: 2877895139439227182}
|
||||
m_Layer: 0
|
||||
m_Name: Intro Sphere
|
||||
m_TagString: Untagged
|
||||
@@ -14949,6 +14950,102 @@ MonoBehaviour:
|
||||
minDistance: 0.01
|
||||
speed: 100
|
||||
target: {fileID: 0}
|
||||
--- !u!82 &2877895139439227182
|
||||
AudioSource:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7243428590643213936}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 4
|
||||
OutputAudioMixerGroup: {fileID: 0}
|
||||
m_audioClip: {fileID: 8300000, guid: e9879de5b83a4547be8ec1c406fb0556, type: 3}
|
||||
m_PlayOnAwake: 1
|
||||
m_Volume: 1
|
||||
m_Pitch: 1
|
||||
Loop: 0
|
||||
Mute: 0
|
||||
Spatialize: 0
|
||||
SpatializePostEffects: 0
|
||||
Priority: 128
|
||||
DopplerLevel: 1
|
||||
MinDistance: 1
|
||||
MaxDistance: 500
|
||||
Pan2D: 0
|
||||
rolloffMode: 0
|
||||
BypassEffects: 0
|
||||
BypassListenerEffects: 0
|
||||
BypassReverbZones: 0
|
||||
rolloffCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
panLevelCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
spreadCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
reverbZoneMixCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
--- !u!1 &8694320155638376109
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using UnityEngine;
|
||||
using EscapeRoomEngine.VR.Runtime;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Station46.Environments.Intro_Sphere.Scripts
|
||||
{
|
||||
@@ -11,9 +12,10 @@ namespace Station46.Environments.Intro_Sphere.Scripts
|
||||
|
||||
private Rigidbody _rigidbody;
|
||||
|
||||
private void Start()
|
||||
private void Awake()
|
||||
{
|
||||
_rigidbody = GetComponent<Rigidbody>();
|
||||
target = Player.Instance.sphereFollow;
|
||||
}
|
||||
|
||||
private void FixedUpdate()
|
||||
|
||||
@@ -17,8 +17,8 @@ MonoBehaviour:
|
||||
type: 3}
|
||||
preconditionRequirements: []
|
||||
placementRequirements:
|
||||
- {fileID: 11400000, guid: 43eb2a566a244964aa3a3319eaafe1a8, type: 2}
|
||||
- {fileID: 11400000, guid: 49248c593c97bff4f8889e5c4da6c1bb, type: 2}
|
||||
- {fileID: 11400000, guid: 1f1825b71bae09c438a1cb52603347d6, type: 2}
|
||||
- {fileID: 11400000, guid: 49248c593c97bff4f8889e5c4da6c1bb, type: 2}
|
||||
- {fileID: 11400000, guid: 43eb2a566a244964aa3a3319eaafe1a8, type: 2}
|
||||
connectedDoorDescription: {fileID: 11400000, guid: 58d2a66244450b94d8a266569cb8d2fa,
|
||||
type: 2}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f5c1202346c34ebc9c3f701a98b50877, type: 3}
|
||||
m_Name: D Station 46 Portal Intro Exit
|
||||
m_EditorClassIdentifier:
|
||||
types: 01000000
|
||||
modulePrefab: {fileID: 1047274803835009197, guid: 07cea580d9888d24c84d8d62747839ad,
|
||||
type: 3}
|
||||
preconditionRequirements: []
|
||||
placementRequirements:
|
||||
- {fileID: 11400000, guid: 05866bd177db8074a9bb40dcd0d9bcfe, type: 2}
|
||||
- {fileID: 11400000, guid: 49248c593c97bff4f8889e5c4da6c1bb, type: 2}
|
||||
- {fileID: 11400000, guid: 43eb2a566a244964aa3a3319eaafe1a8, type: 2}
|
||||
connectedDoorDescription: {fileID: 11400000, guid: 58d2a66244450b94d8a266569cb8d2fa,
|
||||
type: 2}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0103271741231674884edcd62f8b89bc
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -205,7 +205,7 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3937028285041533707}
|
||||
m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068}
|
||||
m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
@@ -213,7 +213,7 @@ Transform:
|
||||
- {fileID: 6713443008366400661}
|
||||
m_Father: {fileID: 2246995198243242195}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
|
||||
--- !u!1 &5635962022185625128
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -261,6 +261,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
color: {r: 8, g: 3.5137255, b: 0, a: 1}
|
||||
startActive: 0
|
||||
emissionRenderer: {fileID: 4905517471767474057}
|
||||
--- !u!114 &3392592227672293041
|
||||
MonoBehaviour:
|
||||
|
||||
@@ -83,6 +83,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
color: {r: 8, g: 3.5137255, b: 0, a: 1}
|
||||
startActive: 0
|
||||
emissionRenderer: {fileID: 4937930574110528582}
|
||||
--- !u!114 &1047274803835009197
|
||||
MonoBehaviour:
|
||||
@@ -124,7 +125,7 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3231959822301966204}
|
||||
m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068}
|
||||
m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
@@ -132,7 +133,7 @@ Transform:
|
||||
- {fileID: 5709573715699328820}
|
||||
m_Father: {fileID: 9212560043793041154}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
|
||||
--- !u!1 &3701970131638747585
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -47,7 +47,7 @@ PrefabInstance:
|
||||
- target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 2
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 419816427646908934, guid: c84e0198f66a41b4294f6e8e585192a4,
|
||||
type: 3}
|
||||
@@ -151,6 +151,11 @@ PrefabInstance:
|
||||
value:
|
||||
objectReference: {fileID: 3680365890358827431, guid: 7bb2b5aee7d244943b4f1bb2f6606ac2,
|
||||
type: 3}
|
||||
- target: {fileID: 7423186386015115176, guid: c84e0198f66a41b4294f6e8e585192a4,
|
||||
type: 3}
|
||||
propertyPath: sphereFollow
|
||||
value:
|
||||
objectReference: {fileID: 5693385846897636622}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects:
|
||||
|
||||
@@ -12,8 +12,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 28d04249c1c4438da94b524e7d4afff2, type: 3}
|
||||
m_Name: Station 46
|
||||
m_EditorClassIdentifier:
|
||||
minRoomSize: {x: 2, y: 4}
|
||||
playSpace: {x: 2, y: 4}
|
||||
intro: {fileID: 6790828229373266063, guid: 1358b4ef564c4704682417dff526766a, type: 3}
|
||||
spaceTile: {fileID: 3229991053255736984, guid: b8f192f7cebe686468af6b1a71c4605b,
|
||||
type: 3}
|
||||
environment: {fileID: 5743657079028767629, guid: 17ecdbaca50efaa4ab503614dfec54a8,
|
||||
@@ -28,6 +27,7 @@ MonoBehaviour:
|
||||
hdr: {r: 0, g: 4.329412, b: 8, a: 1}
|
||||
ldr: {r: 0, g: 0.5401311, b: 1, a: 1}
|
||||
spawnDoor: {fileID: 11400000, guid: f862612dd70c369448b18bbd8094cb38, type: 2}
|
||||
introExitDoor: {fileID: 11400000, guid: 0103271741231674884edcd62f8b89bc, type: 2}
|
||||
exitDoorTypes:
|
||||
- {fileID: 11400000, guid: 83d6800536b1df14287ff2cd8e0d58ce, type: 2}
|
||||
puzzleCount: {x: 1, y: 1}
|
||||
|
||||
@@ -12,8 +12,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 28d04249c1c4438da94b524e7d4afff2, type: 3}
|
||||
m_Name: Test Theme
|
||||
m_EditorClassIdentifier:
|
||||
minRoomSize: {x: 2, y: 4}
|
||||
playSpace: {x: 2, y: 4}
|
||||
intro: {fileID: 6790828229373266063, guid: 1358b4ef564c4704682417dff526766a, type: 3}
|
||||
spaceTile: {fileID: 3229991053255736984, guid: b8f192f7cebe686468af6b1a71c4605b,
|
||||
type: 3}
|
||||
environment: {fileID: 5743657079028767629, guid: 17ecdbaca50efaa4ab503614dfec54a8,
|
||||
@@ -28,8 +27,18 @@ MonoBehaviour:
|
||||
hdr: {r: 0, g: 4.329412, b: 8, a: 1}
|
||||
ldr: {r: 0, g: 0.5401311, b: 1, a: 1}
|
||||
spawnDoor: {fileID: 11400000, guid: f862612dd70c369448b18bbd8094cb38, type: 2}
|
||||
introExitDoor: {fileID: 11400000, guid: 0103271741231674884edcd62f8b89bc, type: 2}
|
||||
exitDoorTypes:
|
||||
- {fileID: 11400000, guid: 83d6800536b1df14287ff2cd8e0d58ce, type: 2}
|
||||
puzzleCount: {x: 1, y: 1}
|
||||
puzzleTypes:
|
||||
- {fileID: 11400000, guid: ecc412010abd45a4aaa7d364b6c3789c, type: 2}
|
||||
- {fileID: 11400000, guid: 8707242279bb6c541a12dc4491388c42, type: 2}
|
||||
- {fileID: 11400000, guid: 15dcebb677f5df940839eaaa50274294, type: 2}
|
||||
- {fileID: 11400000, guid: 3f79d37154e44ca47b54bb43bbe8d9aa, type: 2}
|
||||
- {fileID: 11400000, guid: ee5a44432e80cd64689be3ff34750339, type: 2}
|
||||
- {fileID: 11400000, guid: 1b21332d2a4da2d4d9f8a105d1e24980, type: 2}
|
||||
- {fileID: 11400000, guid: 6ea70b544b4cffb4ca12286c749da98d, type: 2}
|
||||
- {fileID: 11400000, guid: 010a967ecaf566041a0e12459806bd04, type: 2}
|
||||
- {fileID: 11400000, guid: ae16de9735d6541419214ac1699feed8, type: 2}
|
||||
- {fileID: 11400000, guid: 9d56e3bfca17b264e9f04bd8242030f8, type: 2}
|
||||
|
||||
@@ -19,6 +19,7 @@ namespace EscapeRoomEngine.VR.Runtime
|
||||
}
|
||||
|
||||
[BoxGroup("Internal")] public new Camera camera;
|
||||
[BoxGroup("Internal")] public Transform sphereFollow;
|
||||
[BoxGroup("Internal")] [SerializeField] private Transform leftEye, rightEye;
|
||||
[BoxGroup("Internal")] [SerializeField] private Collider leftHand, rightHand;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user