Exemplo n.º 1
0
    //玩家输入 角色状态控制器 武器碰撞盒子的开关
    void UpdateInput()
    {
        float h       = Input.GetAxis("Horizontal");
        float v       = Input.GetAxis("Vertical");
        var   dirMove = new Vector3(-h, 0, -v);

        if (Input.GetKeyDown(KeyCode.U))
        {
            isOutBrust = true;
            outBrust.SetActive(true);
            foreach (var canying in canyings)
            {
                canying.openGhostTrail = true;
            }
            Invoke("OutBrustOver", 5f);
        }

        if (Input.GetKeyDown(KeyCode.J))
        {
            if (isOutBrust == true)
            {
                anim.SetBool("skillcombo", true);
                gameObject.transform.Translate(new Vector3(0, 0, 1));
            }
            else
            {
                PlayerAtk();
            }
            // weaponBox.enabled = true;//武器碰撞盒子开
            //Nowstate = PlayerState.Atk;//切换状态
            //人物连击

            //Invoke("WeaponBoxFalse", 0.5f);//关闭碰撞盒子
            //Invoke("isChangeIdle", 0.4f);//切换状态
            //weaponBox.enabled = false;
        }
        //else if (Input.GetKeyDown(KeyCode.J) && Nowstate == PlayerState.Run)
        //{
        //    weaponBox.enabled = true;
        //    Nowstate = PlayerState.Atk;
        //    anim.Play("Atk1");
        //    Invoke("WeaponBoxFalse", 0.5f);
        //    Invoke("isChangeIdle", 0.3f);
        //}
        else if (Input.GetKeyDown(KeyCode.K))
        {
            anim.SetTrigger("IsRoll");

            if (isOutBrust == true)
            {
                skillImage.SetActive(true);
                Time.timeScale = 0.6f;
                MoveSpeed      = 8;
                foreach (var enemy in enemys)
                {
                    if (enemy == null)
                    {
                        continue;
                    }
                    enemy.agent.speed = 0;
                }

                Invoke("EnemySpeedSlow", 3f);

                //enemy.EnemySpeedSlow();
            }
        }
        else if (Input.GetKeyDown(KeyCode.L) && Nowstate != PlayerState.Atk)
        {
            if (isOutBrust == false)
            {
                weaponBox.enabled = true;
                anim.Play("BigAtk");
                GameObject go = Instantiate(skillEfft, transform.position, Quaternion.identity);
                shakeCamera.ShakeFor(0.3f, 0.1f);
                go.transform.position += transform.forward * 8.0f;
                Destroy(go, 1f);
                Invoke("WeaponBoxFalse", 0.8f);
            }
            else
            {
                //setImage.SetActive(true);
                //PlayerIconTween.Restart();
                //PlayerIconTween.Play();
                anim.Play("BigSkill");
                shakeCamera.ShakeFor(0.2f, 0.1f);
                //setImage.GetComponent<Image>().CrossFadeAlpha(0.5f, 1, false);
                //Invoke("SetImageOver", 1.5f);
            }
        }
        else if (Input.GetKeyDown(KeyCode.I) && Nowstate != PlayerState.Atk && Nowstate != PlayerState.Roll)
        {
            gameObject.GetComponent <Rigidbody>().useGravity = false;
            Nowstate = PlayerState.Guard;

            PlayerGuard();
            playerBox.enabled = false;
            Invoke("PlayerBoxTrue", 0.4f);
            Invoke("isChangeIdle", 0.3f);
        }
        else if (Nowstate != PlayerState.Guard && Nowstate != PlayerState.Atk && Nowstate != PlayerState.Roll)
        {
            //Nowstate = PlayerState.Run;
            //Debug.Log(Nowstate);
            PlayerMove(dirMove, h);
        }
        if (Input.GetKeyDown(KeyCode.Alpha1))
        {
            ReplyHp();
        }
    }