correctly delete old rooms

This commit is contained in:
2022-12-07 15:41:00 +01:00
parent 4f886fc0b1
commit d36d33ca96
23 changed files with 222 additions and 242 deletions

View File

@@ -27,15 +27,23 @@ namespace EscapeRoomEngine.Portal.Runtime
internal bool Connected => linkedPortal != null;
internal readonly List<PortalDriver> closePortalDrivers = new();
private void Awake()
protected virtual void Awake()
{
DoorEvent += (_, type) =>
{
if (type == DoorEventType.Connected)
// ReSharper disable once SwitchStatementMissingSomeEnumCasesNoDefault
switch (type)
{
linkedPortal = FromDoorState(Module.ConnectedDoorState);
portalCamera.screen.gameObject.SetActive(true);
portalCamera.enabled = true;
case DoorEventType.Connected:
linkedPortal = FromDoorState(Module.ConnectedDoorState);
portalCamera.screen.gameObject.SetActive(true);
portalCamera.enabled = true;
break;
case DoorEventType.Locked:
portalCamera.enabled = false;
portalCamera.screen.gameObject.SetActive(false);
linkedPortal = null;
break;
}
};
}
@@ -54,7 +62,7 @@ namespace EscapeRoomEngine.Portal.Runtime
portalDriver.Teleport(this, linkedPortal);
if (portalDriver.player)
{
linkedPortal.OnDoorEvent(DoorEventType.ExitedFrom);
linkedPortal.ExitFrom();
}
i--; // decrease the loop counter because the list is one element smaller now
}