// Update is called once per frame
    void Update()
    {
        if (InputManager.Instance.GetKeyDown(InputCode.Spectate))
        {
            GetPlayerCamera();

            if (spectateMode == SpectateMode.None)
            {
                spectateMode = SpectateMode.Free;
                PlayerCamera.SetActive(false);
                SpectatorCamera.SetActive(true);
                if (MoveSpectatorCamera != null)
                {
                    StopCoroutine(MoveSpectatorCamera);
                }
                MoveSpectatorCamera = StartCoroutine(C_MoveInTime(PlayerObject.transform.position + transform.up * 2 - transform.forward * 5));
            }
            else if (spectateMode == SpectateMode.Free)
            {
                spectateMode = SpectateMode.None;
                PlayerCamera.SetActive(true);
                SpectatorCamera.SetActive(false);
            }
        }

        CameraMovement();
        UpdateCameraRotation();
    }
    private void Awake()
    {
        Instance = this;

        spectateMode     = new SpectateMode();
        SpectatorCapsule = GameObject.Instantiate(SpectatorCameraPrefab);
        SpectatorCamera  = SpectatorCapsule.GetComponentInChildren <Camera>().gameObject;
        originalRotation = SpectatorCamera.transform.rotation;
        //SpectatorCamera.SetActive(false);
        SpectatorCamera.transform.position = Vector3.zero;
    }
    public void FreeSpectate()
    {
        if (CurrentPlayer != null)
        {
            CurrentPlayer.Hide(false);
        }

        SpectateMode = SpectateMode.Free;

        _crosshair.SetActive(false);
    }
    public void SetPlayer(PlayerGraphics playerGraphics)
    {
        if (CurrentPlayer != null)
        {
            CurrentPlayer.Hide(false);
        }

        CurrentPlayer = playerGraphics;

        CurrentPlayer.Hide(true);

        SpectateMode = SpectateMode.POV;

        _crosshair.SetActive(true);
    }
Exemplo n.º 5
0
        void CycleMode()
        {
            switch (SpectMode)
            {
            case SpectateMode.Pawn:
                SpectMode = SpectateMode.Free;
                break;

            case SpectateMode.Free:
                SpectMode = SpectateMode.Overview;
                break;

            case SpectateMode.Overview:
                SpectMode = SpectateMode.Pawn;
                break;
            }
            Cookie.Set("Mode", SpectMode);
        }
Exemplo n.º 6
0
        public override void Activated()
        {
            base.Activated();

            Host.AssertClient();

            LookDistance = Cookie.Get("LookDistance", LookDistance);
            SpectMode    = Cookie.Get("Mode", SpectMode);

            LookAngles  = Rot.Angles();
            FovOverride = 80;

            Pos = CurrentView.Position;
            Rot = CurrentView.Rotation;

            // Update new positions also.
            //Update();
        }