はじめまして。
先月からUnityを勉強し始め、一通り終わったためにRPGの戦闘シーンを作ろうと試みているところです。

以下、質問内容になります。

<ゲームの仕様(質問における前提条件)>
・味方キャラクターは3人(A、B、C)、敵キャラクターは1人(D)。
・攻撃の順番はA→B→C→D

【質問内容】

今回、if文、switch文、for文を用いて以下のプログラムを作りました。

void Update(){
 for(n=1;n<5;n++){
  switch(n){
   case 1:
    if(Input.GetKeyDown(KeyCode.P)){
     Debug.Log("A attack");
     break;
    }
   case 2:
    if(Input.GetKeyDown(KeyCode.P)){
     Debug.Log("B attack");
     break;
    }
   case 3:
    if(Input.GetKeyDown(KeyCode.P)){
     Debug.Log("C attack");
     break;
    }
   case 4:
    if(Input.GetKeyDown(KeyCode.P)){
     Debug.Log("D attack");
     break;
    }
  }
 }
}

理想としては、まずAの戦闘ターンでPボタンを押すとAが攻撃。
その後Bの戦闘ターンでPボタンを押すとBが攻撃。CとDが後に続く・・・という流れです。

しかしながら、実際にプログラムを実行すると、Pボタンを押すと、ABCD全てのcaseが実行されてしまい、Console画面には"各キャラ attack"が表示されてしまいました。

これを各キャラクターの処理を一つずつ実行したいのですが、どうかご教授いただけないでしょうか?

【対処法?】

この対処法をネット上で調べた結果、Console.ReadKey();やConsoleKeyInfoを用いるとのことだったのですが、試したところエラーが出てしまい行き詰まってしまいました。
(エラー内容は"All compiler errors have to be fixed before you can enter playmode!)

以上、宜しくお願い致します。