private IEnumerator Kick_Cor(bool is_Sliding) { accept_Input = false; //入力受付後15フレーム以内にキック可能になればキック float loop_Count = 0; while (!can_Attack) { yield return(null); loop_Count++; if (loop_Count > 15) { accept_Input = true; yield break; } } can_Attack = false; _controller.Set_Is_Playable(false); _controller.Change_Animation("KickBool"); //キック開始 _rigid.velocity = new Vector2(transform.localScale.x * Kick_Velocity(), -Kick_Velocity()); kick_Collision.Make_Collider_Appear(); player_SE.Play_Kick_Sound(); //キック中 if (is_Sliding) { StartCoroutine("Sliding_Cor"); } else { StartCoroutine("Kicking_Cor"); } yield return(new WaitUntil(End_Kick)); //キック終了 if (_controller.is_Landing) { _controller.Change_Animation("IdleBool"); } else { _controller.Change_Animation("JumpBool"); } _controller.Set_Is_Playable(true); kick_Collision.Make_Collider_Disappear(); float time = is_Sliding ? 0 : 0.05f; yield return(new WaitForSeconds(time)); can_Attack = true; accept_Input = true; }
private IEnumerator Kick_Cor(Kind kind) { accept_Input = false; //入力受付後500フレーム以内にキック可能になればキック float loop_Count = 0; while (!_controller.can_Attack) { yield return(null); loop_Count++; if (loop_Count > 500) { accept_Input = true; yield break; } } //キック開始 _controller.can_Attack = false; _controller.Set_Is_Playable(false); _controller.Change_Animation("KickBool"); player_Body.Change_Collider_Size(new Vector2(10, 12), new Vector2(0, -6)); player_SE.Play_Kick_Sound(); if (kind == Kind.kick || kind == Kind.sliding) { kick_Collision.Make_Collider_Appear(false); StartCoroutine("Kicking_Cor"); } else { kick_Collision.Make_Collider_Appear(true); player_SE.Play_Charge_Shoot_Sound(); Quit_Charge(true); player_Body.Become_Invincible(); StartCoroutine("Charge_Kicking_Cor"); } yield return(new WaitUntil(End_Kick)); //キック終了 if (_controller.is_Landing) { _controller.Change_Animation("IdleBool"); } else { _controller.Change_Animation("JumpBool"); } _controller.Set_Is_Playable(true); kick_Collision.Make_Collider_Disappear(); player_Body.Back_Default_Collider(); if (kind == Kind.charge_Kick || kind == Kind.charge_Sliding) { player_Body.Release_Invincible(); } _controller.can_Attack = true; accept_Input = true; }