public void DoorCollide(SlidingDoor door1, SlidingDoor door2) { if (!doorStates.ContainsKey(door1) || !doorStates.ContainsKey(door2)) return; if (doorStates[door1] == SlidingDoorState.MovingClose) { if (doorStates[door2] == SlidingDoorState.MovingOpen) { door2.MoveClose(); doorStates[door2] = SlidingDoorState.MovingClose; EventDispatcher.TriggerEvent(Events.GearEvent.TrapEnd, gearType); } } else if (doorStates[door2] == SlidingDoorState.MovingClose) { if (doorStates[door1] == SlidingDoorState.MovingOpen) { door1.MoveClose(); doorStates[door1] = SlidingDoorState.MovingClose; EventDispatcher.TriggerEvent(Events.GearEvent.TrapEnd, gearType); } } }
public void DoorCollide(SlidingDoor door1, SlidingDoor door2) { if (!doorStates.ContainsKey(door1) || !doorStates.ContainsKey(door2)) { return; } if (doorStates[door1] == SlidingDoorState.MovingClose) { if (doorStates[door2] == SlidingDoorState.MovingOpen) { door2.MoveClose(); doorStates[door2] = SlidingDoorState.MovingClose; EventDispatcher.TriggerEvent(Events.GearEvent.TrapEnd, gearType); } } else if (doorStates[door2] == SlidingDoorState.MovingClose) { if (doorStates[door1] == SlidingDoorState.MovingOpen) { door1.MoveClose(); doorStates[door1] = SlidingDoorState.MovingClose; EventDispatcher.TriggerEvent(Events.GearEvent.TrapEnd, gearType); } } }
void OnTriggerExit(Collider other) { if (other.tag == GearParent.MogoPlayerTag) { door.MoveClose(); autoProcess = true; } }