Пример #1
0
    void CheckServerPortCamera()
    {
        switch (CameraType)
        {
        case PlayerTypeEnum.FeiJi:
            if (XkPlayerCtrl.GetInstanceFeiJi() == null)
            {
                if (XkPlayerCtrl.GetInstanceTanKe() != null)
                {
                    CloseCameraServer();
                    ServerPortCameraCtrl.GetInstanceTK().ActiveServerPortCamera();
                }
                return;
            }
            break;

        case PlayerTypeEnum.TanKe:
            if (XkPlayerCtrl.GetInstanceTanKe() == null)
            {
                if (XkPlayerCtrl.GetInstanceFeiJi() != null)
                {
                    CloseCameraServer();
                    ServerPortCameraCtrl.GetInstanceFJ().ActiveServerPortCamera();
                }
                return;
            }
            break;
        }
    }
    public void ShowHeTiPlayerObj()
    {
        IsActiveHeTiPlayer = true;
        Transform playerTran = null;

        if (XkPlayerCtrl.GetInstanceFeiJi() != null)
        {
            XkPlayerCtrl.GetInstanceFeiJi().StopMovePlayer();
            playerTran                  = XkPlayerCtrl.GetInstanceFeiJi().transform;
            playerTran.parent           = FeiJiPlayerPoint;
            playerTran.localPosition    = Vector3.zero;
            playerTran.localEulerAngles = Vector3.zero;
            XkPlayerCtrl.GetInstanceFeiJi().SetPlayerCameraTran(1);
        }

        if (XkPlayerCtrl.GetInstanceTanKe() != null)
        {
            XkPlayerCtrl.GetInstanceTanKe().StopMovePlayer();
            XkPlayerCtrl.GetInstanceTanKe().ClosePlayerRigidbody();
            playerTran                  = XkPlayerCtrl.GetInstanceTanKe().transform;
            playerTran.parent           = TanKePlayerPoint;
            playerTran.localPosition    = Vector3.zero;
            playerTran.localEulerAngles = Vector3.zero;
            XkPlayerCtrl.GetInstanceTanKe().SetPlayerCameraTran(1);
        }
        //HeTiPlayerObj.SetActive(true);
    }
Пример #3
0
    IEnumerator LoopCheckPlayerRestartMove()
    {
        bool isLoopCheck = true;

        do
        {
            yield return(new WaitForSeconds(0.1f));

            if (GameTypeCtrl.AppTypeStatic == AppGameType.LianJiFeiJi)
            {
                if (XkPlayerCtrl.GetInstanceFeiJi() != null)
                {
                    XkPlayerCtrl.GetInstanceFeiJi().RestartMovePlayer();
                    XkGameCtrl.GetInstance().ChangePlayerCameraTag();
                    isLoopCheck = false;
                    yield break;
                }
            }

            if (GameTypeCtrl.AppTypeStatic == AppGameType.LianJiTanKe)
            {
                if (XkPlayerCtrl.GetInstanceTanKe() != null)
                {
                    XkPlayerCtrl.GetInstanceTanKe().RestartMovePlayer();
                    XkGameCtrl.GetInstance().ChangePlayerCameraTag();
                    isLoopCheck = false;
                    yield break;
                }
            }
        } while (isLoopCheck);
    }
Пример #4
0
 [RPC] void NetCtrlSendTryActiveHeTiPlayerEvent()
 {
     if (XKTriggerClosePlayerUI.GetInstance() != null)
     {
         XkPlayerCtrl playerScript = null;
         if (Network.peerType == NetworkPeerType.Server)
         {
             if (XkPlayerCtrl.GetInstanceFeiJi() != null)
             {
                 playerScript = XkPlayerCtrl.GetInstanceFeiJi();
             }
             else if (XkPlayerCtrl.GetInstanceTanKe() != null)
             {
                 playerScript = XkPlayerCtrl.GetInstanceTanKe();
             }
         }
         else if (Network.peerType == NetworkPeerType.Client)
         {
             if (XkGameCtrl.GameJiTaiSt == GameJiTaiType.FeiJiJiTai)
             {
                 playerScript = XkPlayerCtrl.GetInstanceFeiJi();
             }
             else if (XkGameCtrl.GameJiTaiSt == GameJiTaiType.TanKeJiTai)
             {
                 playerScript = XkPlayerCtrl.GetInstanceTanKe();
             }
         }
         XKTriggerClosePlayerUI.GetInstance().HandlePlayerOnTriggerEnter(playerScript);
     }
 }
Пример #5
0
    [RPC] void NetCtrlMakeClientPlayerMove()
    {
        Debug.Log("Unity:" + "NetCtrlMakeClientPlayerMove......");
        if (GameTypeCtrl.AppTypeStatic == AppGameType.LianJiFeiJi)
        {
            if (XkPlayerCtrl.GetInstanceFeiJi() != null)
            {
                XkPlayerCtrl.GetInstanceFeiJi().RestartMovePlayer();
                XkGameCtrl.GetInstance().ChangePlayerCameraTag();
            }
            else
            {
                Debug.Log("Unity:" + "NetCtrlMakeClientPlayerMove -> FeiJiPlayer is null");
                StartCoroutine(LoopCheckPlayerRestartMove());
            }
        }

        if (GameTypeCtrl.AppTypeStatic == AppGameType.LianJiTanKe)
        {
            if (XkPlayerCtrl.GetInstanceTanKe() != null)
            {
                XkPlayerCtrl.GetInstanceTanKe().RestartMovePlayer();
                XkGameCtrl.GetInstance().ChangePlayerCameraTag();
            }
            else
            {
                Debug.Log("Unity:" + "NetCtrlMakeClientPlayerMove -> TanKePlayer is null");
                StartCoroutine(LoopCheckPlayerRestartMove());
            }
        }
    }
Пример #6
0
    Vector3 GetTanKePlayerFirePos()
    {
        int     randVal = Random.Range(0, 100);
        Vector3 firePos = Vector3.zero;

        if (randVal < 25)
        {
            firePos = XkPlayerCtrl.PlayerTranTanKe.position;
        }
        else if (randVal < 50)
        {
            firePos = XKPlayerCamera.TanKeCameraTan.position;
        }
        else
        {
            int lengthVal = XkPlayerCtrl.GetInstanceTanKe().NpcFirePosArray.Length;
            if (lengthVal < 1)
            {
                if (randVal % 2 == 0)
                {
                    firePos = XkPlayerCtrl.PlayerTranTanKe.position;
                }
                else
                {
                    firePos = XKPlayerCamera.TanKeCameraTan.position;
                }
            }
            else
            {
                int index = randVal % lengthVal;
                firePos = XkPlayerCtrl.GetInstanceTanKe().NpcFirePosArray[index].position;
            }
        }
        return(firePos);
    }
Пример #7
0
    public static void CloseAllServerPortCamera()
    {
        Debug.Log("CloseAllServerPortCamera...");
        _InstanceFJ.CloseCameraServer();
        _InstanceTK.CloseCameraServer();

        if (XkPlayerCtrl.GetInstanceFeiJi() == null && XkPlayerCtrl.GetInstanceTanKe() == null)
        {
            return;
        }

        if (XkPlayerCtrl.GetInstanceFeiJi() != null && XkPlayerCtrl.GetInstanceTanKe() != null)
        {
            XKPlayerCamera.GetInstanceFeiJi().SetEnableCamera(true);
            return;
        }

        if (XkPlayerCtrl.GetInstanceFeiJi() != null)
        {
            XKPlayerCamera.GetInstanceFeiJi().SetEnableCamera(true);
        }

        if (XkPlayerCtrl.GetInstanceTanKe() != null)
        {
            XKPlayerCamera.GetInstanceTanKe().SetEnableCamera(true);
        }
    }
    /// <summary>
    /// 检测玩家是否进入空袭警戒范围.
    /// </summary>
    void CheckPlayerIsIntoKongXiJingJie()
    {
        if (!XkGameCtrl.IsActivePlayerOne && !XkGameCtrl.IsActivePlayerTwo)
        {
            return;
        }

        if (IsPlayerIntoKongXiJingJie)
        {
            return;
        }

        Vector3 pos1 = KongXiDt.KongXiDianObj.transform.position;
        Vector3 pos2 = XkPlayerCtrl.GetInstanceTanKe().transform.position;

        pos1.y = pos2.y = 0f;
        if (Vector3.Distance(pos1, pos2) <= KongXiDt.DamageDis)
        {
            IsPlayerIntoKongXiJingJie = true;
            if (GameUICenterCtrl.GetInstance() != null)
            {
                GameUICenterCtrl.GetInstance().SpawnKongXiShanHongUI();
            }
        }
    }
    public void ActiveJiFenJieMian()
    {
        if (Network.peerType == NetworkPeerType.Server)
        {
            return;
        }

        if (JiFenJieMianObj.activeSelf)
        {
            return;
        }
        FinishTaskObj.SetActive(false);

        if (!JiFenZongJieMianObj.activeSelf)
        {
            DanYaoInfoCtrl.GetInstanceOne().HiddenPlayerDanYaoInfo();
            DanYaoInfoCtrl.GetInstanceTwo().HiddenPlayerDanYaoInfo();
            ZhunXingCtrl.GetInstanceOne().SetActiveZhunXingObj(false);
            ZhunXingCtrl.GetInstanceTwo().SetActiveZhunXingObj(false);
            CoinPlayerCtrl.GetInstanceOne().HiddenPlayerCoin();
            CoinPlayerCtrl.GetInstanceTwo().HiddenPlayerCoin();
            YouLiangAddCtrl.GetInstance().HiddenYouLiangAdd();
            YouLiangCtrl.GetInstance().HiddenYouLiang();
            JiFenZongJieMianObj.SetActive(true);
        }
        else
        {
            XkGameCtrl.HiddenMissionCleanup();

            if (Network.peerType == NetworkPeerType.Client)
            {
                if (NetCtrl.GetInstance() != null)
                {
                    NetCtrl.GetInstance().TryCloseServerPort();
                }
            }
        }

        System.GC.Collect();
        if (XkPlayerCtrl.GetInstanceFeiJi() != null)
        {
            XkPlayerCtrl.GetInstanceFeiJi().StopPlayerMoveAudio();
        }

        if (XkPlayerCtrl.GetInstanceTanKe() != null)
        {
            XkPlayerCtrl.GetInstanceTanKe().StopPlayerMoveAudio();
        }
        JiFenJieMianObj.SetActive(true);

        if (XkGameCtrl.IsPlayGamePOne)
        {
            XunZhangJBCtrl.GetInstanceOne().ShowPlayerXunZhangJB();
        }

        if (XkGameCtrl.IsPlayGamePTwo)
        {
            XunZhangJBCtrl.GetInstanceTwo().ShowPlayerXunZhangJB();
        }
    }
    void CheckTanKePlayerAimPoint()
    {
        if (TanKePlayerAimPoint == null)
        {
            return;
        }

        if (XkPlayerCtrl.GetInstanceTanKe() == null)
        {
            return;
        }
    }
    /// <summary>
    /// 循环产生空袭导弹.
    /// </summary>
    IEnumerator LoopSpawnKongXiDaoDan(GameObject playerDaoDan)
    {
        bool isDamagePlayer = false;

        do
        {
            if (KongXiDt.IsRemoveKongXiZuDang)
            {
                Debug.Log("LoopSpawnKongXiDaoDan -> stop!");
                yield break;
            }

            Debug.Log("LoopSpawnKongXiDaoDan -> time " + Time.time);
            int max = KongXiDt.AmmoPointTr.Length;
            for (int i = 0; i < max; i++)
            {
                if (mPlayerScript != null && KongXiDt.AmmoPointTr[i] != null)
                {
                    KongXiDt.AmmoPointTr[i].gameObject.SetActive(false);
                    mPlayerScript.SpawnPlayerDaoDan(KongXiDt.AmmoPointTr[i], playerDaoDan);
                }
            }

            if (!isDamagePlayer)
            {
                Vector3 pos1 = KongXiDt.KongXiDianObj.transform.position;
                Vector3 pos2 = XkPlayerCtrl.GetInstanceTanKe().transform.position;
                pos1.y = pos2.y = 0f;
                if (Vector3.Distance(pos1, pos2) <= KongXiDt.DamageDis)
                {
                    isDamagePlayer = true;
                    XkGameCtrl.GetInstance().SubPlayerYouLiang(PlayerEnum.PlayerOne, KongXiDt.PlayerDamage);
                    XkGameCtrl.GetInstance().SubPlayerYouLiang(PlayerEnum.PlayerTwo, KongXiDt.PlayerDamage);
                    if (GameUICenterCtrl.GetInstance() != null)
                    {
                        GameUICenterCtrl.GetInstance().RemoveKongXiZuDangUI();
                        GameUICenterCtrl.GetInstance().RemoveKongXiShanHongUI();
                        GameUICenterCtrl.GetInstance().RemoveKongXiDaoJishiUI();
                        GameUICenterCtrl.GetInstance().SpawnKongXiJiZhongUI();
                    }

                    if (mPlayerScript.GetPlayerCameraScript() != null)
                    {
                        //画面开始变黑白.
                        mPlayerScript.GetPlayerCameraScript().mCameraColorChange.Init();
                    }
                }
            }
            yield return(new WaitForSeconds(KongXiDt.TimeLoopDaoDan));
        }while (!KongXiDt.IsRemoveKongXiZuDang);
    }
Пример #12
0
    void GetCameraFollowTran()
    {
        CameraIndex = (CameraIndex + 1 + (Random.Range(0, 100) % 3)) % 4;
//		Debug.Log("GetCameraFollowTran -> indexCam "+CameraIndex+", CameraType "+CameraType);
//		Debug.Log("CountFJ "+CountFJ+", CountTK "+CountTK);
        Transform tran = null;

        switch (CameraType)
        {
        case PlayerTypeEnum.FeiJi:
            _InstanceTK.CloseCameraServer();
            tran = XkPlayerCtrl.GetInstanceFeiJi().PlayerCamPoint[CameraIndex];
            break;

        case PlayerTypeEnum.TanKe:
            _InstanceFJ.CloseCameraServer();
            tran = XkPlayerCtrl.GetInstanceTanKe().PlayerCamPoint[CameraIndex];
            break;
        }
        FollowTran = tran;
    }
Пример #13
0
    /**
     * key == 1 -> 隐藏主角.
     */
    public void OpenScreenDanHui(int key = 0)
    {
        if (ScreenDanHeiObj.activeSelf)
        {
            return;
        }
        ScreenDanHeiObj.SetActive(true);

        if (DanHeiTweenAlpha != null)
        {
            DestroyObject(DanHeiTweenAlpha);
        }
        DanHeiTweenAlpha         = ScreenDanHeiObj.AddComponent <TweenAlpha>();
        DanHeiTweenAlpha.enabled = false;
        DanHeiTweenAlpha.from    = 1f;
        DanHeiTweenAlpha.to      = 0f;
        EventDelegate.Add(DanHeiTweenAlpha.onFinished, delegate {
            Invoke("HiddeScreenDanHeiObj", 0.1f);
        });
        DanHeiTweenAlpha.enabled = true;
        DanHeiTweenAlpha.PlayForward();

        IsOpenHiddeScreenDanHeiObj  = true;
        IsHiddeScreenDanHeiObj      = false;
        m_LastTimeHiddeScreenDanHei = Time.time;
        switch (key)
        {
        case 1:
            if (XkPlayerCtrl.GetInstanceFeiJi() != null)
            {
                XkPlayerCtrl.GetInstanceFeiJi().HandlePlayerHiddenArray();
            }

            if (XkPlayerCtrl.GetInstanceTanKe() != null)
            {
                XkPlayerCtrl.GetInstanceTanKe().HandlePlayerHiddenArray();
            }
            break;
        }
    }
Пример #14
0
    [RPC] void NetCtrlSendTryActiveGameOverEvent()
    {
        XkPlayerCtrl playerScript = null;

        if (XkGameCtrl.GameJiTaiSt == GameJiTaiType.FeiJiJiTai)
        {
            playerScript = XkPlayerCtrl.GetInstanceFeiJi();
            if (playerScript == null)
            {
                playerScript = XkPlayerCtrl.GetInstanceTanKe();
            }
        }
        else if (XkGameCtrl.GameJiTaiSt == GameJiTaiType.TanKeJiTai)
        {
            playerScript = XkPlayerCtrl.GetInstanceTanKe();
            if (playerScript == null)
            {
                playerScript = XkPlayerCtrl.GetInstanceFeiJi();
            }
        }
        XKTriggerGameOver.GetInstance().SpawnPlayerDaoDan(playerScript);
    }
Пример #15
0
    public void ActiveGameUiCamera()
    {
        if (!XkGameCtrl.GetInstance().IsCartoonShootTest &&
            !XkGameCtrl.GetInstance().IsServerCameraTest)
        {
            if (Network.peerType != NetworkPeerType.Server)
            {
                GameUiCamera.enabled = true;
            }
        }
        StartCameraObj.SetActive(false);
        ScreenDanHeiObj.SetActive(false);

        if (XkPlayerCtrl.GetInstanceFeiJi() != null)
        {
            XkPlayerCtrl.GetInstanceFeiJi().OpenPlayerMoveAudio();
        }

        if (XkPlayerCtrl.GetInstanceTanKe() != null)
        {
            XkPlayerCtrl.GetInstanceTanKe().OpenPlayerMoveAudio();
        }
    }
Пример #16
0
    public void ActiveJiFenJieMian()
    {
        if (Network.peerType == NetworkPeerType.Server)
        {
            return;
        }

        if (JiFenJieMianObj.activeSelf)
        {
            return;
        }
        FinishTaskObj.SetActive(false);

        if (!JiFenZongJieMianObj.activeSelf)
        {
            DanYaoInfoCtrl.GetInstanceOne().HiddenPlayerDanYaoInfo();
            DanYaoInfoCtrl.GetInstanceTwo().HiddenPlayerDanYaoInfo();
            ZhunXingCtrl.GetInstanceOne().SetActiveZhunXingObj(false);
            ZhunXingCtrl.GetInstanceTwo().SetActiveZhunXingObj(false);
            CoinPlayerCtrl.GetInstanceOne().HiddenPlayerCoin();
            CoinPlayerCtrl.GetInstanceTwo().HiddenPlayerCoin();
            YouLiangAddCtrl.GetInstance().HiddenYouLiangAdd();
            YouLiangCtrl.GetInstance().HiddenYouLiang();
            JiFenZongJieMianObj.SetActive(true);
        }
        else
        {
            XkGameCtrl.HiddenMissionCleanup();

            if (Network.peerType == NetworkPeerType.Client)
            {
                if (NetCtrl.GetInstance() != null)
                {
                    NetCtrl.GetInstance().TryCloseServerPort();
                }
            }
        }

        System.GC.Collect();
        if (XkPlayerCtrl.GetInstanceFeiJi() != null)
        {
            XkPlayerCtrl.GetInstanceFeiJi().StopPlayerMoveAudio();
        }

        if (XkPlayerCtrl.GetInstanceTanKe() != null)
        {
            XkPlayerCtrl.GetInstanceTanKe().StopPlayerMoveAudio();
        }
        JiFenJieMianObj.SetActive(true);

        if (XkGameCtrl.IsPlayGamePOne)
        {
            XunZhangJBCtrl.GetInstanceOne().ShowPlayerXunZhangJB();
        }

        if (XkGameCtrl.IsPlayGamePTwo)
        {
            XunZhangJBCtrl.GetInstanceTwo().ShowPlayerXunZhangJB();
        }

        pcvr.CloseGunZhenDongDengJi();
        pcvr.CloseAllQiNangArray();
        if (pcvr.GetInstance() != null)
        {
            pcvr.GetInstance().CloseFangXiangPanPower(PlayerEnum.Null);
        }

        Invoke("DelayForceRestartComPort", 0.5f);
    }
Пример #17
0
    void OnSreenAlphaToMax()
    {
        GameMode modeVal = XkGameCtrl.GameModeVal;

        Debug.Log("OnSreenAlphaToMax -> GameMode " + modeVal);

        bool isClearCartoonNpc = true;

        if (!XKTriggerOpenPlayerUI.IsActiveOpenPlayerUI)
        {
            XKPlayerCamera.GetInstanceCartoon().SetActiveCamera(false);
        }

        switch (modeVal)
        {
        case GameMode.DanJiFeiJi:
            XkPlayerCtrl.GetInstanceFeiJi().MakePlayerFlyToPathMark();
            break;

        case GameMode.DanJiTanKe:
            XkPlayerCtrl.GetInstanceTanKe().MakePlayerFlyToPathMark();
            break;

        case GameMode.LianJi:
            if (XkPlayerCtrl.GetInstanceFeiJi() != null)
            {
                XkPlayerCtrl.GetInstanceFeiJi().MakePlayerFlyToPathMark();
            }

            if (XkPlayerCtrl.GetInstanceTanKe() != null)
            {
                XkPlayerCtrl.GetInstanceTanKe().MakePlayerFlyToPathMark();
            }

            if (Network.peerType != NetworkPeerType.Disconnected)
            {
                isClearCartoonNpc = false;
            }

            if (Network.peerType == NetworkPeerType.Client)
            {
                NetCtrl.GetInstance().SendSetScreenDanHeiIsStartGame();
            }
            break;
        }
        DestroyObject(DanHeiTweenAlpha);
        DanHeiTweenAlpha         = ScreenDanHeiObj.AddComponent <TweenAlpha>();
        DanHeiTweenAlpha.enabled = false;
        DanHeiTweenAlpha.from    = 1f;
        DanHeiTweenAlpha.to      = 0f;
        EventDelegate.Add(DanHeiTweenAlpha.onFinished, delegate {
            Invoke("OnSreenAlphaToMin", 0.2f);
        });
        DanHeiTweenAlpha.enabled = true;
        DanHeiTweenAlpha.PlayForward();

        if (isClearCartoonNpc)
        {
            XkGameCtrl.ClearCartoonSpawnNpc();
        }

        if (Network.peerType != NetworkPeerType.Server)
        {
            IsStartGame = true;
        }
        Time.timeScale = 1.0f;
        switch (modeVal)
        {
        case GameMode.DanJiFeiJi:
            XkPlayerCtrl.GetInstanceFeiJi().RestartMovePlayer();
            break;

        case GameMode.DanJiTanKe:
            XkPlayerCtrl.GetInstanceTanKe().RestartMovePlayer();
            break;

        case GameMode.LianJi:
            if (Network.peerType != NetworkPeerType.Server)
            {
                if (Network.peerType != NetworkPeerType.Client)
                {
                    if (XkPlayerCtrl.GetInstanceFeiJi() != null)
                    {
                        XkPlayerCtrl.GetInstanceFeiJi().RestartMovePlayer();
                    }

                    if (XkPlayerCtrl.GetInstanceTanKe() != null)
                    {
                        XkPlayerCtrl.GetInstanceTanKe().RestartMovePlayer();
                    }
                    XKCameraMapCtrl.GetInstance().SetCameraMapState();                     //test
                }
                else
                {
                    //SendServerMovePlayer
                    NetCtrl.GetInstance().SetScreenDanHieStartMovePlayer();
                }
            }
            else
            {
                AddStartMovePlayerCount();
            }
            break;
        }
    }
Пример #18
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);
    }
    void OnTriggerEnter(Collider other)
    {
        if (XKTriggerKaQiuShaFire.IsCloseKaQiuShaTest)
        {
            return;             //test;
        }

        if (Network.peerType != NetworkPeerType.Disconnected)
        {
            if (Network.peerType == NetworkPeerType.Server)
            {
                if (FeiJiMarkCom != null && TanKeMarkCom != null)
                {
                    IsActiveHeTiCloseUI = true;
                    ServerPortCameraCtrl.CloseAllServerPortCamera();
                }
                return;
            }
        }

        if (DaoJiShiCtrl.GetInstance().GetIsPlayDaoJishi() || GameOverCtrl.IsShowGameOver)
        {
            return;
        }

        XkPlayerCtrl playerScript = other.GetComponent <XkPlayerCtrl>();

        if (playerScript == null)
        {
            return;
        }

        if (playerScript.PlayerSt == PlayerTypeEnum.FeiJi && XkGameCtrl.GameJiTaiSt != GameJiTaiType.FeiJiJiTai)
        {
            return;
        }

        if (playerScript.PlayerSt == PlayerTypeEnum.TanKe && XkGameCtrl.GameJiTaiSt != GameJiTaiType.TanKeJiTai)
        {
            return;
        }

        if (FeiJiMarkCom != null && TanKeMarkCom != null && IsActiveHeTiCloseUI)
        {
            return;
        }
        IsClosePlayerUI = true;
        CheckIsPlayDaoJiShi();

        ScreenDanHeiCtrl.GetInstance().ClosePlayerUI();
        if (FeiJiMarkCom != null && TanKeMarkCom != null)
        {
            IsActiveHeTiCloseUI = true;
            if (Network.peerType == NetworkPeerType.Client && NetCtrl.GetInstance() != null)
            {
                NetCtrl.GetInstance().TryActiveHeTiPlayerEvent();
            }
            ScreenDanHeiCtrl.GetInstance().OpenStartCamera();
            ScreenDanHeiCtrl.GetInstance().OpenScreenDanHui(1);
            GameMode modeVal = XkGameCtrl.GameModeVal;
            switch (modeVal)
            {
            case GameMode.DanJiFeiJi:
                playerScript.MakePlayerMoveToAiMark(FeiJiMarkCom);
                break;

            case GameMode.DanJiTanKe:
                playerScript.MakePlayerMoveToAiMark(TanKeMarkCom);
                break;

            case GameMode.LianJi:
                if (Network.peerType != NetworkPeerType.Disconnected)
                {
                    if (XkPlayerCtrl.GetInstanceFeiJi() != null)
                    {
                        XkPlayerCtrl.GetInstanceFeiJi().MakePlayerMoveToAiMark(FeiJiMarkCom);
                    }

                    if (XkPlayerCtrl.GetInstanceTanKe() != null)
                    {
                        XkPlayerCtrl.GetInstanceTanKe().MakePlayerMoveToAiMark(TanKeMarkCom);
                    }
                }
                else
                {
                    XkPlayerCtrl.GetInstanceFeiJi().MakePlayerMoveToAiMark(FeiJiMarkCom);
                    XkPlayerCtrl.GetInstanceTanKe().MakePlayerMoveToAiMark(TanKeMarkCom);
                }

//				if (XkGameCtrl.GetInstance().IsServerCameraTest) {
//					ServerPortCameraCtrl.CloseAllServerPortCamera();
//				}
                break;
            }
        }
        gameObject.SetActive(false);
    }