예제 #1
0
    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);
            }
        }
    }
예제 #2
0
    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);
            }
        }
    }
예제 #3
0
 void OnTriggerExit(Collider other)
 {
     if (other.tag == GearParent.MogoPlayerTag)
     {
         door.MoveClose();
         autoProcess = true;
     }
 }