void DelaySetCameraInfo()
    {
        switch (CameraType)
        {
        case PlayerTypeEnum.FeiJi:
            if (!IsNpcObj)
            {
                if (XkGameCtrl.GameJiTaiSt == GameJiTaiType.FeiJiJiTai)
                {
                    gameObject.SetActive(false);
                }
                _InstanceFJ = this;
            }

            if (XKPlayerCamera.GetInstanceTanKe() != null)
            {
                MyCamera = XKPlayerCamera.GetInstanceTanKe().transform;
            }
            break;

        case PlayerTypeEnum.TanKe:
            if (!IsNpcObj)
            {
                if (XkGameCtrl.GameJiTaiSt == GameJiTaiType.TanKeJiTai)
                {
                    gameObject.SetActive(false);
                }
                _InstanceTK = this;
            }

            if (XKPlayerCamera.GetInstanceFeiJi() != null)
            {
                MyCamera = XKPlayerCamera.GetInstanceFeiJi().transform;
            }
            break;
        }
    }
Beispiel #2
0
    public void ActiveServerPortCamera()
    {
        if (XkPlayerCtrl.GetInstanceFeiJi() == null && XkPlayerCtrl.GetInstanceTanKe() == null)
        {
            return;
        }

        switch (CameraType)
        {
        case PlayerTypeEnum.FeiJi:
            if (XkPlayerCtrl.GetInstanceFeiJi() == null)
            {
                _InstanceTK.ActiveServerPortCamera();
                return;
            }
            break;

        case PlayerTypeEnum.TanKe:
            if (XkPlayerCtrl.GetInstanceTanKe() == null)
            {
                _InstanceFJ.ActiveServerPortCamera();
                return;
            }
            break;
        }

        GetCameraFollowTran();
        if (FollowTran != null)
        {
            if (IsFollowTest)
            {
                CameraTran.position = FollowTran.position;
                CameraTran.rotation = FollowTran.rotation;
            }
            else
            {
                CameraTran.parent           = FollowTran;
                CameraTran.localPosition    = Vector3.zero;
                CameraTran.localEulerAngles = Vector3.zero;
            }
            CameraObj.SetActive(true);

            switch (CameraType)
            {
            case PlayerTypeEnum.FeiJi:
                if (LookCamera.GetInstanceFJ() != null)
                {
                    LookCamera.GetInstanceFJ().SetLookCameraActive(false);
                }

                if (LookCamera.GetInstanceTK() != null)
                {
                    LookCamera.GetInstanceTK().SetLookCameraActive(true);
                }
                break;

            case PlayerTypeEnum.TanKe:
                if (LookCamera.GetInstanceFJ() != null)
                {
                    LookCamera.GetInstanceFJ().SetLookCameraActive(true);
                }

                if (LookCamera.GetInstanceTK() != null)
                {
                    LookCamera.GetInstanceTK().SetLookCameraActive(false);
                }
                break;
            }
        }

        float randTime = Random.Range(MinRandTime, MaxRandTime);

        Invoke("DelayRandOpenServerPortCamera", randTime);
    }