void AddPlayerMoveSpeed()
 {
     if (IsRestartMove && MoveCameraByPath.IsMovePlayer)
     {
         if (Time.realtimeSinceStartup - PlayerRestartTime <= 2f)
         {
             if (RigObj.isKinematic)
             {
                 RigObj.isKinematic = false;
             }
             RigObj.AddForce(PlayerTran.forward * PlayerThrottleForce * Time.deltaTime);
         }
         else
         {
             IsRestartMove = false;
             if (GlobalData.GetInstance().gameMode == GameMode.SoloMode)
             {
                 WaterwheelPlayerCtrl.GetInstance().SetcurrentEnginePower(PlayerCurrentEnginePower);
             }
             else
             {
                 WaterwheelPlayerNetCtrl.GetInstance().SetcurrentEnginePower(PlayerCurrentEnginePower);
             }
             PlayerThrottleForce      = 0f;
             PlayerCurrentEnginePower = 0f;
         }
     }
 }
    void CheckPlayerDis()
    {
        if (PlayerTran == null)
        {
            if (GlobalData.GetInstance().gameMode == GameMode.SoloMode)
            {
                PlayerTran = WaterwheelPlayerCtrl.GetInstance().transform;
            }
            else
            {
                PlayerTran = WaterwheelPlayerNetCtrl.GetInstance().transform;
            }
            return;
        }

        Vector3 vecA = PlayerTran.position;
        Vector3 vecB = CloseTran.position;

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

        if (dis <= 10f)
        {
            StopCheckPlayerPos();
            return;
        }
    }
    void CheckPlayerForwardVal()
    {
        if (PlayerTran == null)
        {
            return;
        }

        if (Mathf.Abs(PlayerTran.forward.y) < 0.8f)
        {
            TimeCheckForwardVal = Time.realtimeSinceStartup;
            return;
        }

        if (Time.realtimeSinceStartup - TimeCheckForwardVal > 3f)
        {
            if (GlobalData.GetInstance().gameMode == GameMode.OnlineMode)
            {
                WaterwheelPlayerNetCtrl.GetInstance().ResetPlayerPos();
            }
            else
            {
                WaterwheelPlayerCtrl.GetInstance().ResetPlayerPos();
            }
        }
    }
Exemplo n.º 4
0
 public void FindPlayerTran()
 {
     if (PlayerTran == null)
     {
         if (GlobalData.GetInstance().gameMode == GameMode.OnlineMode)
         {
             if (WaterwheelPlayerNetCtrl.GetInstance() != null)
             {
                 PlayerTran = WaterwheelPlayerNetCtrl.GetInstance().transform;
                 if (PlayerTran != null)
                 {
                     SetScreenWaterPos(WaterwheelPlayerNetCtrl.GetInstance().ScreenWaterParticle.localPosition);
                 }
             }
         }
         else
         {
             if (WaterwheelPlayerCtrl.GetInstance() != null)
             {
                 PlayerTran = WaterwheelPlayerCtrl.GetInstance().transform;
                 if (PlayerTran != null)
                 {
                     SetScreenWaterPos(WaterwheelPlayerCtrl.GetInstance().ScreenWaterParticle.localPosition);
                 }
             }
         }
         return;
     }
 }
    public void ShootedByPlayer(int key)
    {
        if (IsDeadNpc)
        {
            return;
        }

        if (IsFireNpc)
        {
            WaterwheelPlayerCtrl.GetInstance().AddKillFireNpcNum();
        }

        if (key == 0 || (key == 1 && !StartBtCtrl.GetInstanceP2().CheckIsActivePlayer()))
        {
            //XingXingCtrl.GetInstance().AddStarNum();
            WaterwheelCameraCtrl.GetInstance().SpawnPlayerNengLiangLiZi(ZaiTiNpcTran.position);
        }

        NpcMoveCtrl npcScript = ChuanTran.GetComponent <NpcMoveCtrl>();

        npcScript.OnZaiTiNpcDead();

        /*if (AudioHitNpc != null) {
         *      AudioListCtrl.PlayAudio(AudioHitNpc);
         * }*/
        PlayNpcAudio(AudioHitNpcObj);

        OnHitWaterwheelPlayer();
        IsDeadNpc = true;
    }
Exemplo n.º 6
0
    public void MoveNengLiangQuanToEnd(DaoJuTypeIndex val)
    {
        if (IsMoveToEnd)
        {
            RecordDJType = val;
            return;
        }
        IsMoveToEnd = true;

        if (EndTran == null)
        {
            if (GlobalData.GetInstance().gameMode == GameMode.SoloMode)
            {
                EndTran = WaterwheelPlayerCtrl.GetInstance().HuanYingFuObj.transform;
            }
            else
            {
                EndTran = WaterwheelPlayerNetCtrl.GetInstance().GetHuanYingFuTeXiaoTran();
            }
            StartTran = Camera.main.transform;
        }
        TimeNengLiangQuan          = Time.realtimeSinceStartup;
        NengLiangQuanTran.position = StartTran.position;
        gameObject.SetActive(true);
        StartCoroutine(UpdateNengLiangQuanPosToEnd(val));
    }
Exemplo n.º 7
0
    public void SetCameraPointInfo()
    {
        if (GlobalData.GetInstance().gameMode == GameMode.SoloMode)
        {
            WaterwheelPlayerCtrl aimObjScripte = WaterwheelPlayerCtrl.GetInstance();
            if (aimObjScripte == null)
            {
                return;
            }

            mCamPoint_first   = aimObjScripte.GetCamPointFirst();
            mCamPoint_right   = aimObjScripte.GetCamPointRight();
            mCamPoint_forward = aimObjScripte.GetCamPointForward();
            CamPointUp        = aimObjScripte.GetCamPointUp();
        }
        else
        {
            WaterwheelPlayerNetCtrl aimObjNetScripte = WaterwheelPlayerNetCtrl.GetInstance();
            if (aimObjNetScripte == null)
            {
                return;
            }

            mCamPoint_first   = aimObjNetScripte.GetCamPointFirst();
            mCamPoint_right   = aimObjNetScripte.GetCamPointRight();
            mCamPoint_forward = aimObjNetScripte.GetCamPointForward();
            CamPointUp        = aimObjNetScripte.GetCamPointUp();
        }
    }
Exemplo n.º 8
0
 public void SetPlayerBoxColliderState(bool isActive)
 {
     if (GlobalData.GetInstance().gameMode == GameMode.SoloMode)
     {
         WaterwheelPlayerCtrl.GetInstance().SetPlayerBoxColliderState(isActive);
     }
     else
     {
         WaterwheelPlayerNetCtrl.GetInstance().SetPlayerBoxColliderState(isActive);
     }
 }
Exemplo n.º 9
0
 public void DelayClosePlayerBoxCollider()
 {
     if (GlobalData.GetInstance().gameMode == GameMode.SoloMode)
     {
         WaterwheelPlayerCtrl.GetInstance().SetPlayerBoxColliderState(false);
     }
     else
     {
         WaterwheelPlayerNetCtrl.GetInstance().SetPlayerBoxColliderState(false);
     }
 }
Exemplo n.º 10
0
    IEnumerator UpdateNengLiangQuanPosToEnd(DaoJuTypeIndex val)
    {
        while (true)
        {
            Vector3 posEnd   = EndTran.position;
            Vector3 posStart = NengLiangQuanTran.position;
            if (Vector3.Distance(posEnd, posStart) < 0.5f)
            {
                IsMoveToEnd = false;
                gameObject.SetActive(false);

                if (GlobalData.GetInstance().gameMode == GameMode.SoloMode)
                {
                    switch (val)
                    {
                    case DaoJuTypeIndex.shenXingState:
                        WaterwheelPlayerCtrl.GetInstance().ActiveShenXingState();                         //Player ShenXingState
                        NengLiangTiaoCtrl.GetInStance().StartPlayNengLiangTiao();
                        if (RecordDJType == DaoJuTypeIndex.huanYingFu)
                        {
                            WaterwheelPlayerCtrl.GetInstance().ActiveHuanYingFuState();
                        }
                        break;

                    case DaoJuTypeIndex.huanYingFu:
                        WaterwheelPlayerCtrl.GetInstance().ActiveHuanYingFuState();
                        if (RecordDJType == DaoJuTypeIndex.shenXingState)
                        {
                            WaterwheelPlayerCtrl.GetInstance().ActiveShenXingState();                             //Player ShenXingState
                            NengLiangTiaoCtrl.GetInStance().StartPlayNengLiangTiao();
                        }
                        break;
                    }
                }
                else
                {
                    switch (val)
                    {
                    case DaoJuTypeIndex.huanYingFu:
                        WaterwheelPlayerNetCtrl.GetInstance().ActiveHuanYingFuState();
                        break;
                    }
                }
                RecordDJType = DaoJuTypeIndex.NULL;
                break;
            }

            Vector3 forwardVal = posEnd - posStart;
            forwardVal = forwardVal.normalized;
            Vector3 pos = forwardVal * MvSpeed + posStart;
            NengLiangQuanTran.position = pos;
            yield return(new WaitForSeconds(0.03f));
        }
    }
 public static void HandlePlayerCloseShenXingState()
 {
     if (GlobalData.GetInstance().gameMode == GameMode.SoloMode)
     {
         WaterwheelPlayerCtrl.GetInstance().ShouldCloseShenXingState();
     }
     else
     {
         WaterwheelPlayerNetCtrl.GetInstance().ShouldCloseShenXingState();
     }
 }
    public static void HandlePlayerOutPubuEvent()
    {
        float power = 2000f;

        if (GlobalData.GetInstance().gameMode == GameMode.SoloMode)
        {
            WaterwheelPlayerCtrl.GetInstance().SetcurrentEnginePower(power);
        }
        else
        {
            WaterwheelPlayerNetCtrl.GetInstance().SetcurrentEnginePower(power);
        }
    }
    public static void HandlePlayerCloseHuanYingFu()
    {
        float power = 0f;

        if (GlobalData.GetInstance().gameMode == GameMode.SoloMode)
        {
            WaterwheelPlayerCtrl.GetInstance().SetcurrentEnginePower(power);
        }
        else
        {
            WaterwheelPlayerNetCtrl.GetInstance().SetcurrentEnginePower(power);
        }
    }
    public void setAimPlayerInfo()
    {
        WaterwheelPlayerCtrl aimObjScripte = WaterwheelPlayerCtrl.GetInstance();

        if (aimObjScripte == null)
        {
            return;
        }

        smoothPer        = 1f;
        AimPoint         = aimObjScripte.GetCamAimPoint();
        CamPoint_back    = aimObjScripte.GetCamPointBackFar();
        CamPointBackNear = aimObjScripte.GetCamPointBackNear();
        BackPointParent  = CamPoint_back.parent;
        BackLocalPos     = CamPoint_back.localPosition;
    }
    // Use this for initialization
    void Awake()
    {
        if (NPC_Type == NPC_STATE.BOSS_NPC || NPC_Type == NPC_STATE.ZAI_TI_NPC)
        {
        }
        else
        {
            NPC_Type = NPC_STATE.ZAI_TI_NPC;
        }
        ZaiTiNpcTran = transform;
        ChuanTran    = ZaiTiNpcTran.parent;
        //LocalPosOffset = Vector3.Scale(ZaiTiNpcTran.localPosition, ChuanTran.localScale);
        //LocalPosOffset = ZaiTiNpcTran.localPosition;
        //ZaiTiNpcTran.parent = GameCtrlXK.MissionCleanup;

        WaterwheelPlayer = WaterwheelPlayerCtrl.GetInstance().transform;
        AnimatorNpc      = GetComponent <Animator>();
        if (BuWaWaObj != null)
        {
            BuWaWaObj.SetActive(false);
            Rigidbody rigObj = BuWaWaObj.GetComponent <Rigidbody> ();
            if (rigObj == null)
            {
                rigObj.name = "null";
            }
        }

        NpcMoveScript = ZaiTiNpcTran.parent.GetComponent <NpcMoveCtrl>();
        if (!IsDiLeiNpc)
        {
            RandomDoRootAction();
        }
        else if (!NpcMoveScript.IsDanCheLvNpc)
        {
            IsDoFireAction = true;
        }

        BuWaWaPowerVal     = NpcMoveScript.BuWaWaPowerVal;
        IsTeShuZiDanHaiDao = NpcMoveScript.IsTeShuZiDanHaiDao;

        /*if (IsTeShuZiDanHaiDao) {
         *      NpcSimpleBulletObj.SetActive(false);
         * }*/

        ResetActionInfo();
    }
    void MakePlayerBackToPath()
    {
        HiddenDirWrong();
        if (!StartBtCtrl.GetInstanceP1().CheckIsActivePlayer())
        {
            return;
        }

        if (GlobalData.GetInstance().gameMode == GameMode.SoloMode)
        {
            WaterwheelPlayerCtrl.GetInstance().ResetPlayerPos();             //Reset Player pos
        }
        else
        {
            WaterwheelPlayerNetCtrl.GetInstance().ResetPlayerPos();             //Reset Player pos
        }
    }
Exemplo n.º 17
0
    // Update is called once per frame
    void Update()
    {
        float dis = Vector3.Distance(LiZiTran.position, AimTran.position);

        if (dis <= 0.5f || Time.realtimeSinceStartup - TimeSpawn > 8f)
        {
            XingXingCtrl.GetInstance().AddStarNum();
            Destroy(gameObject);
            return;
        }

        Vector3 forwardVal = AimTran.position - LiZiTran.position;
        float   valSpeed   = WaterwheelPlayerCtrl.GetInstance().GetMoveSpeed();

        valSpeed = (valSpeed / (3.6f * 30)) + MvSpeed;
        Vector3 mvPos = forwardVal.normalized * valSpeed;

        LiZiTran.position += mvPos;
    }
    IEnumerator UpdateNengLiangTiao()
    {
        while (true)
        {
            Offset += Speed;
            if (Offset >= NengLiangEndVal || IsStopNengLiangTeXiao)
            {
                IsStartPlay = false;
                gameObject.SetActive(false);
                ChuanNengLiangGTX.SetActive(false);
                NengLiangBeiJing.SetActive(true);
                NengLiangLiZiTXCtrl.GetInstance().MoveLiZiToPathStart();
                NengLiangQuanCtrl.GetInstance().MoveNengLiangQuanToStart(DaoJuTypeIndex.shenXingState);

                if (GlobalData.GetInstance().gameMode == GameMode.SoloMode)
                {
                    WaterwheelPlayerCtrl.GetInstance().CloseShenXingState();
                }
                break;
            }
            NengLiangTiao.materials[0].SetTextureOffset("_MainTex", new Vector2(Offset, 0f));
            yield return(new WaitForSeconds(DTime));
        }
    }
    void setCameraPos()
    {
        if (!IsFollowPlayer)
        {
            return;
        }

        if (AimPoint == null)
        {
            return;
        }

//		if(Time.timeScale != 0f)
//		{
//			camDir = CamDir.BACK;
//		}

        float aimObjMoveSpeed = WaterwheelPlayerCtrl.GetInstance().GetMoveSpeed();

        if (!bIsAimPlayer)
        {
            mCamTran.position = Vector3.Lerp(mCamTran.position, CamPoint_back.position, followSpeed);
            mCamTran.LookAt(AimPoint);
        }
        else
        {
            Vector3 camPos = transform.position;
            switch (camDir)
            {
            case CamDirPos.BACK:
                bool isAimBike = true;
                if (followSpeed < smoothVal)
                {
                    followSpeed += 0.001f;
                    if (followSpeed > smoothVal)
                    {
                        followSpeed = smoothVal;
                    }

                    camPos = Vector3.Lerp(mCamTran.position,
                                          CamPoint_back.position, followSpeed);
                }
                else
                {
                    float dis = Vector3.Distance(mCamTran.position,
                                                 CamPoint_back.position);
                    if (aimObjMoveSpeed > 0f)
                    {
                        camPos = Vector3.Lerp(mCamTran.position,
                                              CamPoint_back.position, smoothPer * smoothVal);

                        if (aimObjMoveSpeed < 5 && Time.timeScale == 1f)
                        {
                            isAimBike            = false;
                            camPos               = transform.position;
                            CamPoint_back.parent = null;
                        }
                        else if (CamPoint_back.parent == null)
                        {
                            CamPoint_back.parent        = BackPointParent;
                            CamPoint_back.localPosition = BackLocalPos;
                        }
                    }
                    else
                    {
                        if (dis > 0.1f)
                        {
                            camPos = Vector3.Lerp(mCamTran.position,
                                                  CamPoint_back.position, smoothVal);
                        }
                        else
                        {
                            isAimBike = false;
                            camPos    = transform.position;
                        }
                    }
                }

                if (!CameraShake.GetInstance().CheckCamForwardHit())
                {
                    mCamTran.position = camPos;
                }

                if (isAimBike)
                {
                    mCamTran.LookAt(AimPoint);
                }
                break;
            }
        }
    }
    public void OnDamage(float unitTime)
    {
        if (PlayerNetScript != null)
        {
            if (PlayerNetScript == WaterwheelPlayerNetCtrl.GetInstance())
            {
                return;
            }
            PlayerNetScript.SetActivePlayerGunWaterObj(1);
        }

        if (IsDeadObj)
        {
            return;
        }
        CountDamage++;

        if (unitTime * CountDamage >= DamageTime)
        {
            IsDeadObj = true;
            if (GlobalData.GetInstance().gameMode == GameMode.SoloMode)
            {
                NpcMoveCtrl  npcScript      = gameObject.GetComponent <NpcMoveCtrl>();
                ZaiTiNpcCtrl npcZaiTiScript = gameObject.GetComponent <ZaiTiNpcCtrl>();
                if (npcScript != null || npcZaiTiScript != null)
                {
                    if (npcZaiTiScript != null)
                    {
                        npcZaiTiScript.ShootedByPlayer(0);
                        PlayerAutoFire.AddPlayerShootNpcNum();
                    }
                    else
                    {
                        if (npcScript.NPC_Type == NPC_STATE.BOSS_NPC || npcScript.NPC_Type == NPC_STATE.ZAI_TI_NPC)
                        {
                            return;
                        }
                        else
                        {
                            npcScript.ShootedByPlayer();
                            PlayerAutoFire.AddPlayerShootNpcNum();
                        }
                    }
                }
                else
                {
                    WaterwheelPlayerCtrl.GetInstance().ShootingDeadObj(gameObject);
                }
            }
            else
            {
                if (PlayerNetScript != null)
                {
                    ResetDamageInfo();
                    PlayerNetScript.ActiveXuanYunState();
                    //ScreenLog.Log("ActiveXuanYunState -> name "+gameObject.name);
                }
                else
                {
                    switch (tag)
                    {
                    case "DianDaoFuObj":
                    case "DingShenFuObj":
                    case "HuanWeiFuObj":
                    case "HuanYingFuObj":
                    case "JuLiFuObj":
                        if (Time.realtimeSinceStartup - TimeDaoJuJiHuoVal < 1f)
                        {
                            return;
                        }
                        TimeDaoJuJiHuoVal = Time.realtimeSinceStartup;
                        break;
                    }
                    WaterwheelPlayerNetCtrl.GetInstance().ShootingDeadObj(gameObject);
                }
            }
        }
    }
    // Use this for initialization
    void Start()
    {
        _Instance           = this;
        pcvr.DongGanState   = 1;
        PlayerZhuanXiangVal = GameCtrlXK.PlayerZhuanXiangPTVal;
        if (IsTestShootCartoon)
        {
            return;
        }
        if (HuanYingFuObj == null)
        {
            Debug.LogError("HuanYingFuObj is null");
            HuanYingFuObj.name = "null";
        }
        else
        {
            HuanYingFuObj.SetActive(false);
        }

        PlayerTran = transform;
        rigObj     = GetComponent <Rigidbody>();
        if (GetComponent <Animator>() != null)
        {
            Debug.LogWarning("Player Animator should be remove");
            PlayerTran      = null;
            PlayerTran.name = "null";
        }

        AutoFireScript = GetComponent <PlayerAutoFire>();

        ScreenWaterParticle.gameObject.SetActive(false);
        ChuanShenScript  = GetComponentInChildren <ChuanShenCtrl>();
        ChuanLunZiScript = GetComponentInChildren <ChuanLunZiCtrl>();
        ZhuJiaoNanScript = GetComponentInChildren <ZhuJiaoNan>();

        mGameTime = 1000;
        SetCamAimInfo();

        CreatePlayerNeedObj();

        AiPathCtrlTran = GameCtrlXK.GetInstance().AiPathCtrlTran.GetChild(0);
        AutoFireScript.SetPathKeyState(AiPathCtrlTran.GetComponent <AiPathCtrl>());

        AimMarkTran       = AiPathCtrlTran.GetChild(0);
        mBakeTimePointPos = AimMarkTran.position;
        mBakeTimePointRot = AimMarkTran.forward;
        AutoFireScript.SetPlayerPreMark(AimMarkTran);

        CreateFlyNpcAimCube();

        if (GameCtrlXK.GetInstance().PlayerMarkTest != null)
        {
            AiPathCtrlTran = GameCtrlXK.GetInstance().PlayerMarkTest.parent;
            AutoFireScript.SetPathKeyState(AiPathCtrlTran.GetComponent <AiPathCtrl>());

            AimMarkTran       = GameCtrlXK.GetInstance().PlayerMarkTest;
            mBakeTimePointPos = AimMarkTran.position;
            mBakeTimePointRot = AimMarkTran.forward;
            AutoFireScript.SetPlayerPreMark(AimMarkTran);

            PlayerTran.position = mBakeTimePointPos;
            PlayerTran.forward  = mBakeTimePointRot;
        }
    }