correctly delete old rooms
This commit is contained in:
@@ -67,24 +67,22 @@ namespace EscapeRoomEngine.Engine.Runtime
|
||||
internal void AddDoor(DoorModule door)
|
||||
{
|
||||
_doors.Add(door);
|
||||
door.DoorState.DoorEvent += OnDoorEvent;
|
||||
}
|
||||
|
||||
private void OnDoorEvent(DoorModule door, DoorEventType type)
|
||||
{
|
||||
// ReSharper disable once SwitchStatementMissingSomeEnumCasesNoDefault
|
||||
switch (type)
|
||||
door.DoorState.DoorEvent += (_, type) =>
|
||||
{
|
||||
// generate a new room as soon as the player completes all puzzles in this one
|
||||
case DoorEventType.Unlocked when door.Equals(exit.fromOut):
|
||||
Engine.DefaultEngine.GenerateRoom();
|
||||
break;
|
||||
// start measurements on every puzzle as soon as the player enters this room
|
||||
case DoorEventType.ExitedFrom when door.Equals(entrance.toIn):
|
||||
_puzzles.ForEach(puzzle => Measure.StartMeasuring((PuzzleModuleDescription)puzzle.description));
|
||||
Engine.DefaultEngine.HidePreviousRoom();
|
||||
break;
|
||||
}
|
||||
// ReSharper disable once SwitchStatementMissingSomeEnumCasesNoDefault
|
||||
switch (type)
|
||||
{
|
||||
// generate a new room as soon as the player completes all puzzles in this one
|
||||
case DoorEventType.Unlocked when door.Equals(exit.fromOut):
|
||||
Engine.DefaultEngine.GenerateRoom();
|
||||
break;
|
||||
// start measurements on every puzzle as soon as the player enters the last room
|
||||
case DoorEventType.ExitedFrom when door.Equals(entrance.toIn) && Engine.DefaultEngine.CurrentRoom.Contains(this):
|
||||
_puzzles.ForEach(puzzle => Measure.StartMeasuring((PuzzleModuleDescription)puzzle.description));
|
||||
Engine.DefaultEngine.HidePreviousRoom();
|
||||
break;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
internal void InstantiateRoom(Transform parent, Vector3 offset, string name)
|
||||
@@ -99,6 +97,7 @@ namespace EscapeRoomEngine.Engine.Runtime
|
||||
}
|
||||
|
||||
entrance.ConnectDoors();
|
||||
entrance.toIn.DoorState.Unlock();
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
|
||||
Reference in New Issue
Block a user