/// <summary> /// 吐き出し攻撃 /// </summary> /// <param name="direction">1:右 -1:左</param> private void SpittingAttack(int direction) { // 吐き出し攻撃処理 Instantiate(star, this.transform.position, Quaternion.identity); // 吐き出したのでノーマル状態に戻る mystatus = Status.normal; cheekFlag = false; FatJudg(1.0f); enemyStatus = Enemy.EnemyStatus.empty; }
/// <summary> /// 吸い込み攻撃 /// </summary> /// <param name="direction">1:右 -1:左</param> private void Vacuum(int direction) { float distance = 2f; Vector2 pos = new Vector2(this.transform.position.x + (direction * distance), transform.position.y); RaycastHit2D hit = Physics2D.Raycast(pos, new Vector2(direction * 1, 0), 1f); Debug.DrawLine(this.transform.position, pos, Color.red); if (hit.collider == null) { return; } if (hit.collider.tag == "Enemy") { enemyStatus = hit.collider.GetComponent <Enemy>().myEnemyStatus; DeathEffectController.DeathEffect(hit.collider.transform.position); Destroy(hit.collider.gameObject); TextController.AddScore(); cheekFlag = true; } }
/// <summary> /// 飲み込み /// </summary> protected void Swallow() { cheekFlag = false; mystatus = Status.normal; FatJudg(1.0f); if (enemyStatus == Enemy.EnemyStatus.empty) { return; } switch (enemyStatus) { case Enemy.EnemyStatus.nomal: // スカ Debug.Log("スカ"); break; case Enemy.EnemyStatus.beam: // ビームに変身 Debug.Log("ビームに変身"); break; case Enemy.EnemyStatus.fire: // ファイアに変身 Debug.Log("ファイアに変身"); break; case Enemy.EnemyStatus.cutter: // カッターに変身 Debug.Log("カッターに変身"); break; case Enemy.EnemyStatus.sword: // ソードに変身 Debug.Log("ソードに変身"); break; default: return; } enemyStatus = Enemy.EnemyStatus.empty; }