void OnTriggerEnter(Collider other)
    {
        if (GameMovieCtrl.IsActivePlayer)
        {
            if (Network.peerType == NetworkPeerType.Server)
            {
            }
            else
            {
                return;
            }
        }

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

        if (script == null)
        {
            return;
        }
        //Debug.Log("Unity:"+"*********************name "+gameObject.name);

        PSDingDianAimCamera.DingDianAimCamera     = null;
        PSDingDianNoAimCamera.DingDianNoAimCamera = null;
        PSZiYouMoveCamera.ZYMoveCamera            = null;
        if (CamState == PSCameraState.GenSuiMoveCam)
        {
            PlayerTypeEnum playerType = script.PlayerSt;
            switch (playerType)
            {
            case PlayerTypeEnum.FeiJi:
                PSGenSuiMoveCamera.GetInstanceFeiJi().ActiveGenSuiMoveCam(IndexGenSuiMove);
                break;

            case PlayerTypeEnum.TanKe:
                PSGenSuiMoveCamera.GetInstanceTanKe().ActiveGenSuiMoveCam(IndexGenSuiMove);
                break;
            }
        }

        if (DingDianAimCam != null && CamState == PSCameraState.DingDianAimCam)
        {
            GameObject playerObj = XkGameCtrl.GetInstance().GetRandAimPlayerObj();
            Transform  aimTr     = playerObj == null ? null : playerObj.transform;
            DingDianAimCam.ActiveCamera(aimTr);
        }
        CheckZiYouMoveCam(script);
        CheckDingDianNoAimCam();

        if (GameMovieCtrl.IsActivePlayer /*|| XkGameCtrl.GetInstance().IsServerCameraTest*/)
        {
            return;
        }
        CheckCameraTimeShake();
        CheckExplodePoint();
        CheckTanKePlayerAimPoint();
        CheckAutoFireCom();
        CheckTriggerPlayAni();
        CheckWorldTimeScale();
        CheckAutoFirePlayerAmmoType();
    }
        /// <summary>
        /// 分配得彩数量信息.
        /// </summary>
        public void FenPeiDeCaiVal(bool isPlayerXuBi)
        {
            int   coinStart        = XKGlobalData.GetInstance().m_CoinToCard *XKGlobalData.GameNeedCoin;
            float xuBiChuPiaoLvTmp = isPlayerXuBi == true ? XuBiChuPiaoLv : 1f;

            if (isPlayerXuBi)
            {
                //玩家续币积累到预支彩票池的彩票数量.
                int jiLeiToYuZhiCaiPiaoChiVal = (int)(coinStart * XuBiChuPiaoLv);
                XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GameYuZhiCaiPiaoData.AddYuZhiCaiPiao(jiLeiToYuZhiCaiPiaoChiVal);
            }

            coinStart     = (int)(coinStart * xuBiChuPiaoLvTmp);
            ZhanCheDeCai += (int)(coinStart * ZhanCheChuPiaoLv);
            int suiJiDaoJuDeCaiFenPei = (int)(coinStart * SuiJiDaoJuChuPiaoLv);

            if (suiJiDaoJuDeCaiFenPei < 1)
            {
                //至少给随机道具分配一张彩票.
                suiJiDaoJuDeCaiFenPei = 1;
            }
            SuiJiDaoJuDeCai += suiJiDaoJuDeCaiFenPei;
            JPBossDeCai     += (int)(coinStart * JPBossChuPiaoLv);
            Debug.Log("Unity: FenPeiDeCaiVal -> coinStart == " + coinStart
                      + ", ZhanCheDeCai == " + ZhanCheDeCai
                      + ", SuiJiDaoJuDeCai == " + SuiJiDaoJuDeCai
                      + ", JPBossDeCai == " + JPBossDeCai
                      + ", isPlayerXuBi ==== " + isPlayerXuBi);
        }
    // Use this for initialization
    void Awake()
    {
        switch (PlayerSt)
        {
        case PlayerTypeEnum.FeiJi:
            InstanceFeiJi   = this;
            PlayerTranFeiJi = transform;
//			KaQiuShaAimPlayerTranFJ = KaQiuShaAimPoint;
            Invoke("DelaySetFeiJiNpcInfo", 1f);
            break;

        case PlayerTypeEnum.TanKe:
            InstanceTanKe   = this;
            PlayerTranTanKe = transform;
//			KaQiuShaAimPlayerTranTK = KaQiuShaAimPoint;
            break;

        case PlayerTypeEnum.CartoonCamera:
            InstanceCartoon = this;
            break;
        }
        if (PlayerSt != PlayerTypeEnum.CartoonCamera)
        {
            XkGameCtrl.GetInstance().ChangeAudioListParent();
        }
        PlayerObj     = gameObject;
        PlayerTran    = transform;
        AimSpawnPoint = new List <XKSpawnNpcPoint>();

        if (m_SpawnNpcManage != null)
        {
            m_SpawnNpcManage.gameObject.SetActive(true);
        }
    }
Exemple #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);
     }
 }
    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();
        }
    }
    /// <summary>
    /// 添加预制彩票数量.
    /// </summary>
    public void AddYuZhiCaiPiao(int val)
    {
        //UnityEngine.Debug.Log("Unity: AddYuZhiCaiPiao -> val ================ " + val);

        int   zhanCheCaiPiaoAdd = (int)(val * ZhanCheCaiPiaoBiLi);
        int   jpBossCaiPiaoAdd  = (int)(val * JPBossCaiPiaoBiLi);
        float oldYuZhiCaiPiao   = GetOldYuZhiCaiPiaoVal();
        float yuZhiCaiPiaoTmp   = YuZhiCaiPiaoVal;

        YuZhiCaiPiaoVal += val;
        if (YuZhiCaiPiaoVal > oldYuZhiCaiPiao)
        {
            float valAdd = oldYuZhiCaiPiao - yuZhiCaiPiaoTmp;
            zhanCheCaiPiaoAdd = (int)(valAdd * ZhanCheCaiPiaoBiLi);
            jpBossCaiPiaoAdd  = (int)(valAdd * JPBossCaiPiaoBiLi);

            float superJPBossCaiPiao = YuZhiCaiPiaoVal - oldYuZhiCaiPiao;
            //superJPBoss彩票池.
            XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_SuperJPBossCaiPiaoData.SuperJPCaiPiao = superJPBossCaiPiao;
            YuZhiCaiPiaoVal = oldYuZhiCaiPiao;
        }

        if (zhanCheCaiPiaoAdd > 0)
        {
            SetZhanCheCaiPiao(ZhanCheCaiPiaoVal + zhanCheCaiPiaoAdd);
        }

        if (jpBossCaiPiaoAdd > 0)
        {
            SetJPBossCaiPiao(JPBossCaiPiaoVal + jpBossCaiPiaoAdd);
        }
        //UpdateYuZhiCaiChiData();
    }
    // Use this for initialization
    void Awake()
    {
        PlayerScript = GetComponentInParent <XkPlayerCtrl>();
        PlayerScript.SetPlayerZhiShengJiScript(this);
        PlayerType   = PlayerScript.PlayerSt;
        RigidbodyCom = GetComponent <Rigidbody>();
        switch (PlayerType)
        {
        case PlayerTypeEnum.FeiJi:
            break;

        case PlayerTypeEnum.TanKe:
            RigidbodyCom.useGravity         = false;
            RigidbodyCom.centerOfMass       = MessCenterVal;
            RigidbodyCom.maxAngularVelocity = 2f;
            if (XkGameCtrl.GameJiTaiSt != GameJiTaiType.TanKeJiTai)
            {
                if (Network.peerType != NetworkPeerType.Disconnected)
                {
                    RigidbodyCom.isKinematic = true;
                }
                //RigidbodyCom.isKinematic = true; //test
            }
            Invoke("DelaySetTanKeParent", 2f);
            break;
        }
        IsTestRigMessCenter = false;
    }
    Vector3 GetFeiJiPlayerFirePos()
    {
        int     randVal = Random.Range(0, 100);
        Vector3 firePos = Vector3.zero;

        if (randVal < 25)
        {
            firePos = XkPlayerCtrl.PlayerTranFeiJi.position;
        }
        else if (randVal < 50)
        {
            firePos = XKPlayerCamera.FeiJiCameraTan.position;
        }
        else
        {
            int lengthVal = XkPlayerCtrl.GetInstanceFeiJi().NpcFirePosArray.Length;
            if (lengthVal < 1)
            {
                if (randVal % 2 == 0)
                {
                    firePos = XkPlayerCtrl.PlayerTranFeiJi.position;
                }
                else
                {
                    firePos = XKPlayerCamera.FeiJiCameraTan.position;
                }
            }
            else
            {
                int index = randVal % lengthVal;
                firePos = XkPlayerCtrl.GetInstanceFeiJi().NpcFirePosArray[index].position;
            }
        }
        return(firePos);
    }
    void Update()
    {
        if (IsCreatYanHua == true)
        {
            if (Time.time - m_LastTime <= m_MaxTime)
            {
                if (Time.time - m_LastTimeYanHua >= m_TimeYanHua)
                {
                    m_LastTimeYanHua = Time.time;
                    CreatYanHuaLiZi();
                }
            }
            else
            {
                //关闭镜头微动.
                XkGameCtrl.GetInstance().IsDisplayBossDeathYanHua = false;
                //结束烟花的产生.
                IsCreatYanHua = false;

                if (XkPlayerCtrl.GetInstanceFeiJi() != null)
                {
                    XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.RemoveJPBossDaJiangCaiPiaoLiZi();
                }
                Destroy(this);
            }
        }
    }
    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);
    }
Exemple #11
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;
        }
    }
    /// <summary>
    /// 瞄准彩票npc.
    /// </summary>
    void UpdateFeiJiAimCaiPiaoNpc()
    {
        if (m_RealFeiJiRot == null)
        {
            return;
        }

        Transform  aimTr = null;
        GameObject obj   = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.GetCaiPiaoNpc();

        if (obj != null)
        {
            aimTr = obj.transform;
        }

        if (aimTr == null)
        {
            m_RealFeiJiRot.localEulerAngles = Vector3.Lerp(m_RealFeiJiRot.localEulerAngles, Vector3.zero, Time.deltaTime);
        }
        else
        {
            Vector3 forwardVal = Vector3.zero;
            Vector3 posA       = aimTr.position;
            Vector3 posB       = m_RealFeiJiRot.position;
            posA.y                 = posB.y = 0f;
            forwardVal             = Vector3.Normalize(posA - posB);
            m_RealFeiJiRot.forward = Vector3.Lerp(m_RealFeiJiRot.forward, forwardVal, 6f * Time.deltaTime);
        }
    }
    IEnumerator CheckPlayerCountLoop()
    {
        bool isStopCheck = false;

        do
        {
            if (Network.peerType == NetworkPeerType.Server)
            {
                if (PlayerCount >= Network.connections.Length)
                {
                    isStopCheck = true;
                    gameObject.SetActive(false);
                    NetCtrl.GetInstance().HandleLoadingGameHiddenLoadingGame();
                    XkPlayerCtrl.GetInstanceCartoon().DelayMoveCartoonCamera();
                    XKGlobalData.GetInstance().PlayGuanKaBeiJingAudio();
                    yield break;
                }
            }
            else
            {
                if (IsHiddenLoadingGame)
                {
                    isStopCheck = true;
                    gameObject.SetActive(false);
                    XkPlayerCtrl.GetInstanceCartoon().DelayMoveCartoonCamera();
                    XKGlobalData.GetInstance().PlayGuanKaBeiJingAudio();
                    yield break;
                }
            }
            yield return(new WaitForSeconds(0.1f));
        } while (!isStopCheck);
    }
Exemple #14
0
    void ChangeDaoJiShiVal()
    {
        if (JiFenJieMianCtrl.GetInstance().GetIsShowFinishTask())
        {
            StopDaoJiShi();
            return;
        }

        if (DaoJiShiCount <= 1)
        {
            StopDaoJiShi();
            ShowGameOverObj();
//			if (XkGameCtrl.PlayerActiveNum <= 0 && CountDaoJiShi > 0) {
//				Debug.LogWarning("Unity:"+"ChangeDaoJiShiVal -> CountDaoJiShi "+CountDaoJiShi);
//			}

            //玩家没有进行续币.
            //重置玩家续币信息.
            XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.ResetPlayerXuBiInfo(PlayerIndex);
            //if (XkGameCtrl.PlayerActiveNum <= 0 && CountDaoJiShi <= 0) {
            //	GameOverCtrl.GetInstance().ShowGameOver();
            //}

            XkGameCtrl.GetInstance().ResetPlayerInfo(PlayerIndex);
            return;
        }

        DaoJiShiCount--;
        DaoJiShiSprite.spriteName = "daoJiShi" + DaoJiShiCount;
        ShowDaoJiShiInfo();
    }
Exemple #15
0
    // Use this for initialization
    void Awake()
    {
        switch (PlayerSt)
        {
        case PlayerTypeEnum.FeiJi:
            InstanceFeiJi   = this;
            PlayerTranFeiJi = transform;
//			KaQiuShaAimPlayerTranFJ = KaQiuShaAimPoint;
            Invoke("DelaySetFeiJiNpcInfo", 1f);
            break;

        case PlayerTypeEnum.TanKe:
            InstanceTanKe   = this;
            PlayerTranTanKe = transform;
//			KaQiuShaAimPlayerTranTK = KaQiuShaAimPoint;
            break;

        case PlayerTypeEnum.CartoonCamera:
            InstanceCartoon = this;
            break;
        }

        if (PlayerSt != PlayerTypeEnum.CartoonCamera)
        {
            XkGameCtrl.GetInstance().ChangeAudioListParent();
        }
        PlayerObj     = gameObject;
        PlayerTran    = transform;
        AimSpawnPoint = new List <XKSpawnNpcPoint>();
//		NetViewCom = GetComponent<NetworkView>();
//		if ((XkGameCtrl.GameModeVal == GameMode.LianJi && Network.peerType == NetworkPeerType.Disconnected)
//		    || XkGameCtrl.GameModeVal != GameMode.LianJi) {
//			NetViewCom.enabled = false;
//		}
    }
Exemple #16
0
    void CheckDisGameCamera()
    {
        if (DeathExplodePoint == null)
        {
            DeathExplodePoint = transform;
        }

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

        if (GameCameraTr == null)
        {
            Debug.LogWarning("CheckDisGameCamera -> GameCameraTr is null");
            return;
        }
        Vector3 vecA = GameCameraTr.forward;
        Vector3 vecB = Vector3.zero;
        Vector3 posA = DeathExplodePoint.position;
        Vector3 posB = GameCameraTr.position;

        posA.y = posB.y = 0f;
        vecB   = posA - posB;
        vecA.y = vecB.y = 0f;
        if (Vector3.Dot(vecA, vecB) <= 0f)
        {
            return;
        }
        DisCamera = MinDisCamera;
        //Debug.Log("DisCamera "+DisCamera);
    }
Exemple #17
0
    public void ShowFinishTask()
    {
        if (XKPlayerGunRotCtrl.GetInstanceOne() != null)
        {
            XKPlayerGunRotCtrl.GetInstanceOne().gameObject.SetActive(false);
        }
        if (XKPlayerGunRotCtrl.GetInstanceTwo() != null)
        {
            XKPlayerGunRotCtrl.GetInstanceTwo().gameObject.SetActive(false);
        }
        if (XkPlayerCtrl.GetInstanceFeiJi() != null)
        {
            XkPlayerCtrl.GetInstanceFeiJi().PlayerHiddenArray[0].SetActive(false);
        }
        TweenAlpha twAlpha = gameObject.AddComponent <TweenAlpha>();

        twAlpha.enabled = false;
        twAlpha.from    = 0f;
        twAlpha.to      = 1f;
        EventDelegate.Add(twAlpha.onFinished, delegate {
            Invoke("OnFinishTaskAlphaToEnd", 2f);
        });
        twAlpha.enabled = true;
        twAlpha.PlayForward();

        VRUIRootObj.SetActive(true);
    }
    /// <summary>
    /// 删除彩票不足UI.
    /// </summary>
    public void RemoveCaiPiaoBuZuPanel(PlayerEnum indexPlayer, bool isWorkerDone)
    {
        int index = (int)indexPlayer - 1;

        if (index < 0 || index > 2)
        {
            UnityLogWarning("RemoveCaiPiaoBuZuPanel -> index was wrong! index ==== " + index);
            return;
        }

        if (m_CaiPiaoBuZuArray[index] != null)
        {
            UnityLog("RemoveCaiPiaoBuZuPanel -> index ==== " + index);
            m_CaiPiaoBuZuArray[index].RemoveSelf();
            SetActiveZhengZaiChuPiaoUI(indexPlayer, true);

            if (isWorkerDone)
            {
                //工作人员清票.
                //这里添加彩票不足机位的彩票数据清理逻辑代码.
                if (XkPlayerCtrl.GetInstanceFeiJi() != null)
                {
                    XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.ClearPlayerCaiPiaoData(indexPlayer);
                }
            }
        }
    }
    /// <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();
            }
        }
    }
Exemple #20
0
 void StartPlayGame()
 {
     gameObject.SetActive(false);
     ScreenDanHeiCtrl.GetInstance().ActiveGameUiCamera();
     XkPlayerCtrl.GetInstanceFeiJi().RestartMovePlayer();
     GameTimeCtrl.GetInstance().ActiveIsCheckTimeSprite();
 }
Exemple #21
0
    void OnTriggerEnter(Collider other)
    {
        if (XKTriggerKaQiuShaFire.IsCloseKaQiuShaTest)
        {
            return;             //test;
        }

        if (JiFenJieMianCtrl.GetInstance().GetIsShowFinishTask())
        {
            return;
        }

        if (Network.peerType == NetworkPeerType.Server)
        {
            return;
        }

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

        if (script == null || !script.GetIsHandleRpc())
        {
            return;
        }
        PlayerCameraTr  = script.GetPlayerCameraScript().transform;
        IsActiveTrigger = true;
    }
Exemple #22
0
    public void SpawnPlayerDaoDan(XkPlayerCtrl script)
    {
//		if (DaoJiShiCtrl.GetInstance().GetIsPlayDaoJishi()) {
//			XkGameCtrl.IsActivePlayerOne = DaoJiShiCtrl.IsActivePlayerOne;
//			XkGameCtrl.IsActivePlayerTwo = DaoJiShiCtrl.IsActivePlayerTwo;
//			DaoJiShiCtrl.GetInstance().StopDaoJiShi();
//		}

        if (PlayerDaoDan != null && script != null)
        {
            int max = AmmoPointTran.Length;
            for (int i = 0; i < max; i++)
            {
                if (!AmmoPointTran [i].gameObject.activeSelf)
                {
                    continue;
                }
                AmmoPointTran [i].gameObject.SetActive(false);
                script.SpawnPlayerDaoDan(AmmoPointTran [i], PlayerDaoDan);
            }
        }

        if (Network.peerType == NetworkPeerType.Disconnected || Network.peerType == NetworkPeerType.Server)
        {
            Invoke("DelayShowPlayerFinishTask", TimeGameOver);
        }
    }
Exemple #23
0
    void Awake()
    {
        if (DaoJuSpawnPointArray != null)
        {
            DaoJuSpawnPointArray.gameObject.SetActive(true);
            List <Transform> daoJuList = new List <Transform>(DaoJuSpawnPointArray.GetComponentsInChildren <Transform>());
            daoJuList.RemoveAt(0);
            DaoJuSpawnPoint = daoJuList.ToArray();
            DaoJuSpawnPointArray.gameObject.SetActive(false);
        }

        XkPlayerCtrl script = GetComponentInParent <XkPlayerCtrl>();

        if (script != null)
        {
            switch (script.PlayerSt)
            {
            case PlayerTypeEnum.FeiJi:
                _InstanceFeiJi = this;
                break;

            case PlayerTypeEnum.TanKe:
                _InstanceTanKe = this;
                break;

            case PlayerTypeEnum.CartoonCamera:
                _InstanceCartoon = this;
                break;
            }
        }
    }
Exemple #24
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);
        }
    }
Exemple #25
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());
            }
        }
    }
 public void MoveCameraByItween(XkPlayerCtrl playerScript)
 {
     ZYMoveCamera = gameObject;
     if (Network.peerType == NetworkPeerType.Server /* || XkGameCtrl.GetInstance().IsServerCameraTest*/)
     {
         if (Camera.main.gameObject != XkGameCtrl.ServerCameraObj)
         {
             if (Camera.main != null)
             {
                 Camera.main.enabled = false;
             }
         }
         XkGameCtrl.SetServerCameraTran(RealCamTran);
     }
     else
     {
         if (Camera.main != null)
         {
             Camera.main.enabled = false;
         }
         RealCamTran.gameObject.SetActive(true);
     }
     //AimTran = playerScript.transform;
     InitMovePlayerByMarkSpeed();
 }
Exemple #27
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);
    }
Exemple #28
0
    /// <summary>
    /// 显示爆炸粒子的彩票UI数量信息.
    /// </summary>
    internal void ShowNumUI(SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState deCaiType, XKNpcHealthCtrl healthCom)
    {
        if (healthCom != null)
        {
            SetShangJiaInfo(deCaiType, healthCom.NpcScript.m_DaiJinQuanState);
        }

        if (m_CaiPiaoInfoParent != null)
        {
            m_CaiPiaoInfoParent.gameObject.SetActive(true);
        }
        enabled        = true;
        m_NpcHealthCom = healthCom;

        SSCaiPiaoDataManage.GameCaiPiaoData.DaiJinQuanState daiJiQuan = healthCom.NpcScript.m_DaiJinQuanState;
        int num = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GameCaiPiaoData.GetPrintCaiPiaoValueByDeCaiState(deCaiType,
                                                                                                                                          SSCaiPiaoDataManage.SuiJiDaoJuState.BaoXiang, daiJiQuan);

        string numStr = num.ToString();

        if (m_FixedUiPosDt != null && m_FixedUiPosDt.IsFixPosX)
        {
            if (m_FixedUiPosDt.UIParent != null)
            {
                int len = numStr.Length;
                if (m_FixedUiPosDt.m_PosXArray.Length >= len)
                {
                    //动态修改UI数据的父级坐标.
                    Vector3 posTmp = m_FixedUiPosDt.UIParent.localPosition;
                    posTmp.x = m_FixedUiPosDt.m_PosXArray[len - 1];
                    m_FixedUiPosDt.UIParent.localPosition = posTmp;
                }
            }
        }

        int max    = m_NumRenderArray.Length;
        int numVal = num;
        int valTmp = 0;
        int powVal = 0;

        for (int i = 0; i < max; i++)
        {
            if (max - i > numStr.Length && IsHiddenGaoWeiNumZero)
            {
                //隐藏数据高位的0.
                m_NumRenderArray[i].material = XkGameCtrl.GetInstance().m_CaiPiaoLiZiNumATouMing;
            }
            else
            {
                //m_UISpriteArray[i].enabled = true;
                powVal = (int)Mathf.Pow(10, max - i - 1);
                valTmp = numVal / powVal;
                //UnityLog("ShowNumUI -> valTmp ====== " + valTmp);
                m_NumRenderArray[i].material = XkGameCtrl.GetInstance().m_NpcCaiPiaoNumArray[valTmp];
                //m_UISpriteArray[i].spriteName = valTmp.ToString();
                numVal -= valTmp * powVal;
            }
        }
    }
        /// <summary>
        /// 判断是否达到某种得彩类型的出彩条件.
        /// </summary>
        public bool GetIsChuCaiPiaoByDeCaiState(DeCaiState type)
        {
            bool  isChuPiao       = false;
            int   coinToCaiPiao   = XKGlobalData.GetInstance().m_CoinToCard *XKGlobalData.GameNeedCoin;
            float chuPiaoTiaoJian = 0f;
            int   deCaiVal        = -1;

            switch (type)
            {
            case DeCaiState.ZhanChe:
            {
                chuPiaoTiaoJian = ZhanCheChuPiaoTiaoJian;
                deCaiVal        = ZhanCheDeCai;
                break;
            }

            case DeCaiState.SuiJiDaoJu:
            {
                chuPiaoTiaoJian = SuiJiDaoJuChuPiaoTiaoJian;
                deCaiVal        = SuiJiDaoJuDeCai;
                break;
            }

            case DeCaiState.JPBoss:
            {
                chuPiaoTiaoJian = JPBossChuPiaoTiaoJian;
                deCaiVal        = JPBossDeCai;
                break;
            }
            }

            int chuCaiVal = (int)(coinToCaiPiao * chuPiaoTiaoJian);

            if (XkGameCtrl.GetInstance().m_CaiPiaoMode == XkGameCtrl.CaiPiaoModeSuanFa.GuDing &&
                XkPlayerCtrl.GetInstanceFeiJi() != null)
            {
                switch (type)
                {
                case DeCaiState.ZhanChe:
                {
                    chuCaiVal = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GuDingBanCaiPiaoData.ZhanCheDeCai;
                    break;
                }

                case DeCaiState.JPBoss:
                {
                    chuCaiVal = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GuDingBanCaiPiaoData.GetJPBossChuPiaoTiaoJian();
                    break;
                }
                }
            }

            if (deCaiVal >= chuCaiVal)
            {
                isChuPiao = true;
                //Debug.Log("Unity: GetIsChuCaiPiaoBy -> the type is can shuCaiPiao! type ============ " + type);
            }
            return(isChuPiao);
        }
    // Use this for initialization
    void Start()
    {
        CamShakeCom          = gameObject.AddComponent <CameraShake>();
        PlayerCamera         = camera;
        camera.targetTexture = null;
        CameraTran           = transform;
        XkPlayerCtrl script = GetComponentInParent <XkPlayerCtrl>();

        switch (script.PlayerSt)
        {
        case PlayerTypeEnum.FeiJi:
            _InstanceFeiJi = this;
            PlayerSt       = PlayerTypeEnum.FeiJi;
            FeiJiCameraTan = transform;
            gameObject.SetActive(false);
            if (XkGameCtrl.GetInstance().m_CaiPiaoFlyData != null)
            {
                XkGameCtrl.GetInstance().m_CaiPiaoFlyData.m_CaiPiaoEndTrP1 = m_CaiPiaoEndTrP1;
                XkGameCtrl.GetInstance().m_CaiPiaoFlyData.m_CaiPiaoEndTrP2 = m_CaiPiaoEndTrP2;
                XkGameCtrl.GetInstance().m_CaiPiaoFlyData.m_CaiPiaoEndTrP3 = m_CaiPiaoEndTrP3;
            }
            break;

        case PlayerTypeEnum.TanKe:
            _InstanceTanKe = this;
            PlayerSt       = PlayerTypeEnum.TanKe;
            TanKeCameraTan = transform;
            gameObject.SetActive(false);
            break;

        case PlayerTypeEnum.CartoonCamera:
            _InstanceCartoon = this;
            PlayerSt         = PlayerTypeEnum.CartoonCamera;
            break;
        }

        CameraObj    = gameObject;
        PlayerScript = GetComponentInParent <XkPlayerCtrl>();
        if (PlayerScript != null)
        {
            PlayerScript.SetPlayerCamera(this);
        }

        GameObject obj = new GameObject();

        obj.name                   = "CameraParent";
        CameraParent               = obj.transform;
        CameraParent.parent        = CameraTran.parent;
        CameraParent.localPosition = CameraTran.localPosition;
        CameraParent.rotation      = CameraTran.rotation;
        CameraTran.parent          = null;
        CameraTran.rotation        = CameraParent.localRotation;
        SetEnableCamera(false);
        for (int i = 0; i < PlayerSpawnPoint.Length; i++)
        {
            PlayerSpawnPoint[i].gameObject.SetActive(false);
        }
    }