ここまでの処理の流れを振り返ってみてください。
ここに説明を記述しておきますが、ご自分の中でも同じイメージで処理が動いているかどうか、確認しておきましょう。
理解が難しい場合には、再度、処理の読み返しや、書き直しを行い、理解を深めてから先に進むようにしてください。
<1.Grid をクリックしたら>
GridController スクリプト内で Grid ゲームオブジェクトの Button コンポーネントに登録した GameManager スクリプトにある OnClickGrid メソッドを実行する
↓
処理が GameManager スクリプトに移り、GameManager スクリプトの OnClickGrid の引数に、GridController スクリプトの gridNo 変数の情報が届く
その後、その gridNo 変数を girds 配列変数の要素番号として利用し、クリックした Grid の○×の状態を CurrentGridOwnerType 変数の値で確認します。
特にこの if 文内おける、配列による評価処理が読み解けるかどうかが重要です。配列の要素番号が変数になっており、その番号の
値を読み解く必要があります。
grids[no].CurrentGridOwnerType
grids[no] とは、GridController 型の配列の no 番目の要素を利用する、つまり、
no 番目の GridController の情報を利用する、という内容になります。
そして、GridController スクリプトにある CurrentGridOwnerType 変数の値が None である場合、○×のない Grid となりますので、
if 文内の処理に移り、GameManager スクリプトの SetOwnerTypeOnGrid メソッドが実行されます。
<2.Grid に〇印をつける>
GameManager スクリプトの SetOwnerTypeOnGrid メソッドの中で、GridController スクリプトにある UpdateGridData メソッドを実行する
↓
処理が、GridController スクリプトに移り、GridController スクリプトにある UpdateGridData メソッドの引数に、GridOwnerType の値(Player)と 〇 の文字列が届く
その情報を、GridController スクリプトが、変数に適用し、ゲーム画面に〇印が表示される
処理が読み解けるようになれば、上記のような形で自分で処理の流れが説明できるようになります。
このようにプログラムの内容を言語化できるようにがんばっていきましょう。