示例#1
0
 public void TriggerExit(WSB_TriggerCam _trigger)
 {
     if (lastTriggered.Contains(_trigger))
     {
         lastTriggered.Remove(_trigger);
     }
 }
示例#2
0
    public void TriggerEntered(WSB_TriggerCam _trigger)
    {
        // Checks if the trigger is already used or any other triggers have a player inside
        if (lastTriggered.Contains(_trigger) || lastTriggered.Find(t => t != _trigger && t.PlayersIn > 0))
        {
            return;
        }

        lastTriggered.Add(_trigger);

        //// If the FOV has to change, call the methods to do it
        //if (!IsOrtho && camBan.Cam.fieldOfView != _trigger.FOV)
        //    camBan.SetFOV(_trigger.FOV);
        //if (!IsOrtho && camLux.Cam.fieldOfView != _trigger.FOV)
        //    camLux.SetFOV(_trigger.FOV);

        // Change the type of the camera to the trigger given type
        switch (_trigger.Type)
        {
        case CamType.Fixe:
            SwitchCamType(CamType.Fixe, _trigger.Position, _trigger.Zoom);
            break;

        case CamType.Dynamic:
            SwitchCamType(CamType.Dynamic, _trigger.Position);
            break;

        case CamType.SplitFixe:
            SwitchCamType(CamType.SplitFixe, _trigger.Angle, /*IsOrtho ? */ _trigger.Zoom /* : _trigger.Position.z*/);
            break;

        case CamType.SplitDynamic:
            SwitchCamType(CamType.SplitDynamic, _trigger.Position);
            break;
        }
    }