void SendAimMarkActiveHuanWei(Vector3 playerPos, int countPath, int countMark)
    {
        if (playerNetScript == null && AiNetScript == null)
        {
            return;
        }

        bool isActive = false;

        if (playerNetScript != null && playerNetScript.GetIsHandlePlayer())
        {
            isActive = true;
            AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioFuMianBuff);
        }
        else if (AiNetScript != null && AiNetScript.GetIsHandlePlayer())
        {
            isActive = true;
            SetAiPlayerHuanWeiFuInfo(countPath, countMark);
        }

        if (!isActive)
        {
            return;
        }
        //Debug.Log(gameObject.name + " is actived huanWeiState...");
        transform.position = playerPos;

        //HuanWeiTeXiao ChuLi
        IsActiveHuanWei = true;
        CancelInvoke("CloseHuanWeiState");
        Invoke("CloseHuanWeiState", 3f);
    }
 void ActiveJuLiFuState()
 {
     if (IsActiveJuLiFu)
     {
         return;
     }
     IsActiveJuLiFu = true;
     AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioJuLiFu);
     GlobalData.GetInstance().IsActiveJuLiFu = true;
     Invoke("CloseJuLiFuState", GameCtrlXK.GetInstance().ActiveJuLiFuTime);
 }
    void OnCollisionEnter(Collision collision)
    {
        if (GameCtrlXK.PlayerTran == null)
        {
            return;
        }

        if (IsBombShuiLei)
        {
            return;
        }

        if (LayerMask.LayerToName(collision.transform.gameObject.layer) == "Water" ||
            LayerMask.LayerToName(collision.transform.gameObject.layer) == "Terrain")
        {
            if (BulletState == NpcBulletState.BoLiPing)
            {
                IsBombShuiLei = true;
                ExplodeObj.transform.parent = GameCtrlXK.MissionCleanup;
                ExplodeObj.SetActive(true);
                AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioPingZiPoSui);

                //CameraShake.GetInstance().SetCameraShakeImpulseValue();
                //PlayerAutoFire.HandlePlayerHitShuiLei();
                Destroy(gameObject, 0.3f);
                return;
            }
        }

        if (collision.transform.root == GameCtrlXK.PlayerTran)
        {
            //Debug.Log("**************************** " + tr.name);
            IsBombShuiLei = true;
            ExplodeObj.transform.parent = GameCtrlXK.MissionCleanup;
            ExplodeObj.SetActive(true);

            switch (BulletState)
            {
            case NpcBulletState.ShuiLei:
                AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioShuiLeiBaoZha);
                pcvr.GetInstance().OnPlayerHitShake();
                break;

            case NpcBulletState.BoLiPing:
                AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioPingZiPoSui);
                break;
            }
            CameraShake.GetInstance().SetCameraShakeImpulseValue();
            PlayerAutoFire.HandlePlayerHitShuiLei();
            Destroy(gameObject, 0.3f);
        }
    }
 void OnEnable()
 {
     tr        = transform;
     spawnTime = Time.time;
     switch (BulletState)
     {
     case NpcBulletState.ShuiLei:
         AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioShuiLei);
         if (ExplodeObj == null)
         {
             ExplodeObj.name = "null";
         }
         break;
     }
 }
 public void ActiveHuanYingFuState()
 {
     if (IsActiveHuanYingFu)
     {
         return;
     }
     IsActiveHuanYingFu = true;
     AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioHuanYingFu);
     CameraShake.GetInstance().SetIsActiveHuanYingFu(true);
     PlayerBoxColObj.layer = LayerMask.NameToLayer("TransparentFX");
     HuanYingFuObj.SetActive(true);
     HuanYingFengXiaoObj.SetActive(true);
     XingXingCtrl.IsPlayerCanHitNPC          = false;
     PlayerAutoFire.IsActivePlayerForwardHit = true;
     Invoke("CloseHuanYingFuState", GameCtrlXK.GetInstance().JiaSuWuDiTime);
 }
Пример #6
0
    /*
     *	FUNCTION: Set the intensity of camera vibration
     *	PARAMETER 1: Intensity value of the vibration
     */
    public void SetCameraShakeImpulseValue()
    {
        if (fCamShakeImpulse > 0.0f || IsActiveCamOtherPoint)
        {
            return;
        }
        fCamShakeImpulse = 0.5f;
        //BlurScript.enabled = true;
        AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioShipHit_1);

        if (IntoPuBuCtrl.IsIntoPuBu)
        {
            HeatDistort.GetInstance().InitPlayScreenWater();
            //GameCtrlXK.GetInstance().CreateScreenWaterParticle();
        }
    }
    void OpenDianDaoTeXiao()
    {
        if (playerNetScript != null && playerNetScript.GetIsHandlePlayer())
        {
            AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioFuMianBuff);
        }

        //DianDaoTeXiao ChuLi
        IsActiveDianDao = true;
        if (playerNetScript != null)
        {
            playerNetScript.ShowDianDaoFuSprite();
        }

        CancelInvoke("CloseDianDaoState");
        Invoke("CloseDianDaoState", 3f);
    }
    public void ActiveHuanWeiState(Vector3 playerPos, int countPath, int countMark)
    {
        if (playerNetScript == null && AiNetScript == null)
        {
            return;
        }
        //OpenHuanWeiFuTeXiao();

        bool isSendMsg = false;

        if (playerNetScript != null && !playerNetScript.GetIsHandlePlayer())
        {
            isSendMsg = true;
        }
        else if (AiNetScript != null && !AiNetScript.GetIsHandlePlayer())
        {
            isSendMsg = true;
        }

        if (!isSendMsg)
        {
            //Debug.Log(gameObject.name + " is actived huanWeiState...");
            if (playerNetScript != null)
            {
                AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioFuMianBuff);
            }
            else
            {
                SetAiPlayerHuanWeiFuInfo(countPath, countMark);
            }
            transform.position = playerPos;

            //HuanWeiTeXiao ChuLi
            IsActiveHuanWei = true;
            CancelInvoke("CloseHuanWeiState");
            Invoke("CloseHuanWeiState", 3f);
        }
        else
        {
            if (viewNet != null && Network.peerType != NetworkPeerType.Disconnected)
            {
                viewNet.RPC("SendAimMarkActiveHuanWei", RPCMode.OthersBuffered, playerPos, countPath, countMark);
            }
        }
    }
Пример #9
0
    public void ShowFinishPanel()
    {
        if (gameObject.activeSelf)
        {
            return;
        }
        gameObject.SetActive(true);
        IsCanLoadSetPanel             = false;
        GameCtrlXK.IsStopMoveAiPlayer = true;
        //Debug.Log("ShowFinishPanel*************");

        if (GlobalData.GetInstance().gameMode == GameMode.SoloMode)
        {
            //Show JiaShiLevel
            EventDelegate.Add(FinishTScl.onFinished, delegate {
                Invoke("ActiveJiaShiLevel", 0.5f);
            });
            AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioGameHuanHu);
            ZhuJiaoNan.GetInstance().PlayWinAction();
        }
        else
        {
            EventDelegate.Add(FinishTScl.onFinished, delegate {
                Invoke("InitShowFinishRankCtrl", 0f);
            });

            if (WaterwheelPlayerNetCtrl.GetInstance().GetIsRunToEndPoint())
            {
                AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioGameHuanHu);
                WaterwheelPlayerNetCtrl.GetInstance().PlayZhuJiaoNanWinAction();
            }
            else
            {
                AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioGameShiBai);
                WaterwheelPlayerNetCtrl.GetInstance().PlayZhuJiaoNanFailAction();
                //Debug.Log("******************************fail");
            }
        }
        FinishTScl.enabled = true;
        AudioManager.Instance.PlaySFX(AudioListCtrl.GetInstance().AudioFinishPanel);

        //Invoke("InitHiddenFinishPanel", 3f); //test
    }
    void Update()
    {
        if (BulletState == NpcBulletState.ShuiLei || BulletState == NpcBulletState.BoLiPing)
        {
            //CheckPlayerDistance();
            CheckAmmoLiftTime();
            CheckIsHitDown();
            return;
        }

        tr.position += tr.forward * speed * Time.deltaTime;
        dist        -= speed * Time.deltaTime;
        if (Time.time > spawnTime + lifeTime || dist < 0)
        {
            switch (BulletState)
            {
            case NpcBulletState.ShuiLei:
                AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioShuiLeiBaoZha);
                break;

            case NpcBulletState.BoLiPing:
                AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioPingZiPoSui);
                break;

            default:
                /*if (GameCtrlXK.PlayerTran != null) {
                 *
                 *      Vector3 vecA = Camera.main.transform.position;
                 *      Vector3 vecB = tr.position;
                 *      Vector3 vecC = GameCtrlXK.PlayerTran.position;
                 *      if (Vector3.Distance(vecA, vecB) < (Vector3.Distance(vecA, vecC) - 3f)
                 *          && PlayerAutoFire.PlayerMvSpeed > GameCtrlXK.NpcHitPlayerShakeSpeed
                 *          && Random.Range(0, 1000) % GameCtrlXK.NpcShakeCamVal == 0) {
                 *              CameraShake.GetInstance().SetCameraShakeImpulseValue();
                 *      }
                 * }*/
                break;
            }
            Destroy(gameObject);
        }
    }
Пример #11
0
    // Update is called once per frame
    void Update()
    {
        /*if (Input.GetKeyUp(KeyCode.P)) {
         *      AddGameTimeCtrl.GetInstance().PlayAddGameTime(AddTimeVal);
         * }*/

        if (GameCtrlXK.PlayerTran == null)
        {
            GameCtrlXK.GetInstance().FindPlayerTran();
            return;
        }

        if (Time.realtimeSinceStartup - TimeVal < 0.1f)
        {
            return;
        }
        TimeVal = Time.realtimeSinceStartup;

        Vector3 vecA = TriggerTran.position;
        Vector3 vecB = GameCtrlXK.PlayerTran.position;

        vecA.y = vecB.y = 0f;
        float dis = Vector3.Distance(vecA, vecB);

        if (dis <= 15f)
        {
            vecA   = TriggerTran.forward;
            vecB   = TriggerTran.position - GameCtrlXK.PlayerTran.position;
            vecA.y = vecB.y = 0f;
            float cosAB = Vector3.Dot(vecA, vecB);
            if (cosAB <= 0f)
            {
                gameObject.SetActive(false);
                StartBtCtrl.GetInstanceP1().ActivePlayerOne();
                GameDaoJiShiCtrl.GetInstance().StopDaoJiShi();
                AddGameTimeCtrl.GetInstance().PlayAddGameTime(AddTimeVal);
                AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioTimeJiaShiDian);
            }
        }
    }
    void CheckPlayerDistance()
    {
        if (GameCtrlXK.PlayerTran == null)
        {
            return;
        }

        if (IsBombShuiLei)
        {
            return;
        }

        Vector3 posA = GameCtrlXK.PlayerTran.position;
        Vector3 posB = tr.position;

        posA.y = posB.y = 0f;
        if (Vector3.Distance(posA, posB) < 5f)
        {
            IsBombShuiLei = true;
            ExplodeObj.transform.parent = GameCtrlXK.MissionCleanup;
            ExplodeObj.SetActive(true);

            switch (BulletState)
            {
            case NpcBulletState.ShuiLei:
                AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioShuiLeiBaoZha);
                pcvr.GetInstance().OnPlayerHitShake();
                break;

            case NpcBulletState.BoLiPing:
                AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioPingZiPoSui);
                break;
            }
            CameraShake.GetInstance().SetCameraShakeImpulseValue();
            PlayerAutoFire.HandlePlayerHitShuiLei();
            Destroy(gameObject, 0.3f);
        }
    }
    void OpenDingShenState()
    {
        //Debug.LogError("OpenDingShenState -> name " + gameObject.name);
        if (playerNetScript != null && playerNetScript.GetIsHandlePlayer())
        {
            AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioFuMianBuff);
        }

        if (AiNetScript != null && AiNetScript.GetIsHandlePlayer())
        {
            AiNetScript.SetIsRunMoveAiPlayer(false);
        }
        IsActiveDingShen = true;
        if (DingShenWater == null)
        {
            if (AiNetScript != null)
            {
                DingShenWater = AiNetScript.DingShenWater;
                if (DingShenWater != null)
                {
                    DingShenWater.SetActive(true);
                }
            }

            if (DingShenWater == null)
            {
                ScreenLog.LogError("*****************DingShenWater is null, name -> " + gameObject.name);
            }
        }
        else
        {
            DingShenWater.SetActive(true);
        }
        transform.position += new Vector3(0f, 3f, 0f);
        CancelInvoke("CloseDingShenState");
        Invoke("CloseDingShenState", 3f);
    }
    public void ShowGameOverImg()
    {
        if (GameOverImgSprite.enabled)
        {
            return;
        }
        AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioGameShiBai);
        AudioManager.Instance.PlaySFX(AudioListCtrl.GetInstance().AudioGameOver);

        if (GlobalData.GetInstance().gameMode == GameMode.SoloMode)
        {
            ZhuJiaoNan.GetInstance().PlayFailAction();
        }
        else
        {
            WaterwheelPlayerNetCtrl.GetInstance().PlayZhuJiaoNanFailAction();
        }

        GameOverImg.SetActive(true);
        GameOverImg.transform.localScale = new Vector3(10f, 10f, 1f);
        GameOverImgSprite.enabled        = true;
        GameOverImgTScl.enabled          = true;
        Invoke("HiddenQuWeiGameOverImg", 1f);
    }
Пример #15
0
    // Update is called once per frame
    void Update()
    {
        if (GameCtrlXK.PlayerTran == null)
        {
            GameCtrlXK.GetInstance().FindPlayerTran();
            return;
        }

        if (Time.realtimeSinceStartup - TimeVal < 0.1f)
        {
            return;
        }
        TimeVal = Time.realtimeSinceStartup;

        Vector3 vecA = TriggerTran.position;
        Vector3 vecB = GameCtrlXK.PlayerTran.position;

        vecA.y = vecB.y = 0f;
        float dis = Vector3.Distance(vecA, vecB);

        if (dis <= 50f)
        {
            vecA   = TriggerTran.forward;
            vecB   = TriggerTran.position - GameCtrlXK.PlayerTran.position;
            vecA.y = vecB.y = 0f;
            float cosAB = Vector3.Dot(vecA, vecB);
            if (cosAB <= 0f)
            {
                gameObject.SetActive(false);

                vecA = TriggerTran.position;
                vecB = OutPuBuTran.position;
                float disH = Mathf.Abs(vecA.y - vecB.y);
                vecA.y = vecB.y = 0f;
                float disV     = Vector3.Distance(vecA, vecB);
                float gravity  = -PlayerAutoFire.GravityValMax;
                float timeVal  = Mathf.Sqrt((2f * disH) / gravity);
                float speedVal = timeVal != 0f ? (disV / timeVal) : 50f;
                //Time.timeScale = 1f;
                Time.timeScale = 0.5f;
                CancelInvoke("ResetTimeScale");
                Invoke("ResetTimeScale", 0.5f);
                if (Time.timeScale >= 1f)
                {
                    speedVal = (int)speedVal + 100f;
                }
                else
                {
                    speedVal = (int)speedVal;
                }
                //Debug.Log("player speed = " + speedVal);

                PlayerMvSpeed = speedVal;
                PlayerForward = TriggerTran.forward;
                CameraShake.GetInstance().SetRadialBlurActive(true, CameraShake.BlurStrengthPubu);
                CameraShake.GetInstance().SetActiveCamOtherPoint(true, CamDirPos.FIRST, null);
                GameCtrlXK.GetInstance().SetPlayerBoxColliderState(true);
                AudioListCtrl.PlayAudio(AudioListCtrl.GetInstance().AudioPuBuJiaSu);

                IsIntoPuBu = true;
                MvCount    = 0;
            }
        }
    }