예제 #1
0
    void UpdateSyncRoll()
    {
        CameraThirdPerson  tp  = m_Controller.currentMode as CameraThirdPerson;
        CameraFirstPerson  fp  = m_Controller.currentMode as CameraFirstPerson;
        CameraYawPitchRoll ypr = m_Controller.currentMode as CameraYawPitchRoll;

        if (tp != null)
        {
            tp.m_SyncRoll = _sync_roll;
        }
        if (fp != null)
        {
            fp.m_SyncRoll = _sync_roll;
        }
        if (!_sync_roll)
        {
            if (ypr != null)
            {
                ypr.m_Roll *= 0.85f;
                if (Mathf.Abs(ypr.m_Roll) < 0.005f)
                {
                    ypr.m_Roll = 0;
                }
            }
        }
    }
예제 #2
0
 private CameraYawPitchRoll ChangeNormalMode()
 {
     if (m_NormalMode != null)
     {
         CameraThirdPerson tp  = m_NormalMode as CameraThirdPerson;
         CameraFirstPerson fp  = m_NormalMode as CameraFirstPerson;
         Transform         tar = null;
         if (tp != null)
         {
             tar = tp.m_Character;
         }
         if (fp != null)
         {
             tar = fp.m_Character;
         }
         string name = "Normal Mode F" + m_ControlType.ToString();
         m_NormalMode = m_Controller.ReplaceMode(m_NormalMode, name) as CameraYawPitchRoll;
         if (m_NormalMode is CameraThirdPerson)
         {
             (m_NormalMode as CameraThirdPerson).m_Character = tar;
         }
         if (m_NormalMode is CameraFirstPerson)
         {
             (m_NormalMode as CameraFirstPerson).m_Character = tar;
         }
         if (m_Controller.currentMode == m_NormalMode)
         {
             m_NormalMode.ModeEnter();
         }
     }
     return(m_NormalMode);
 }
예제 #3
0
    public CameraThirdPerson EnterFollow(Transform target)
    {
        string            name = "Follow";
        CameraThirdPerson mode = PushMode <CameraThirdPerson>(name);

        mode.m_Character = target;
        mode.ModeEnter();
        return(mode);
    }
예제 #4
0
    public CameraThirdPerson EnterVehicleArm(Transform target)
    {
        string            name = "3rd Person Vehicle Arm";
        CameraThirdPerson mode = PushMode <CameraThirdPerson>(name);

        mode.m_Character = target;
        mode.ModeEnter();
        return(mode);
    }
예제 #5
0
    public CameraThirdPerson EnterShoot(Transform target, float curDist)
    {
        string            name = "3rd Person Shoot";
        CameraThirdPerson mode = PushMode <CameraThirdPerson>(name);

        mode.m_Character = target;
        mode.m_Distance  = curDist;
        mode.ModeEnter();
        //mode.EnterShoot();
        return(mode);
    }
 void OnTriggerExit(Collider collider)
 {
     if (collider.gameObject.tag == "Player" && destination != null)
     {
         if (wasteleported == collider.gameObject)
         {
             wasteleported = null;
             return;
         }
         CameraThirdPerson rb = collider.gameObject.GetComponent <CameraThirdPerson>();
         rb.m_IsInTeleporterZone = false;
     }
 }
예제 #7
0
 public void SetupPlayer()
 {
     if (isLocalPlayer)
     {
         this.gameObject.SetActive(true);
         //Set the camera to follow this player if it's local player
         CameraThirdPerson.SetPlayerTarget(transform);
         spawnPoints = FindObjectsOfType <NetworkStartPosition>();
         //Add this player to the game manager
         CmdAddNewPlayer();
     }
     else
     {
         //Don't let other clients control this script if it's not a local player
         this.enabled = false;
     }
 }
    void OnTriggerEnter(Collider collider)
    {
        if (collider.gameObject.tag == "Player" && destination != null)
        {
            CameraThirdPerson rb = collider.gameObject.GetComponent <CameraThirdPerson>();
            if (rb.m_IsInTeleporterZone)
            {
                return;
            }

            else
            {
                Vector3 position = destination.transform.position;
                //position.y+=1;
                collider.gameObject.transform.position = position;
                rb.m_IsInTeleporterZone = true;
                wasteleported           = collider.gameObject;
            }
        }
    }
 // Use this for initialization
 void Start()
 {
     cameraScript = Camera.main.GetComponent<CameraThirdPerson>();
 }