会話イベントのメッセージの表示機能を実行しているのは DialogController スクリプトです。
そのため、修正が必要な部分としては、DialogController スクリプト内にあるメッセージの表示用のメソッド内の処理を見直すことが大切になります。
メソッドを修正する、ということは、その呼び出し元である他のスクリプトも合わせて見直す必要がある、ということにもなります。
このとき、メソッドの引数が変更になっていたり、メソッドの戻り値が変更になっている場合には、必然的にメソッドの呼び出し側のスクリプトも修正が必要になります。
この DialogController スクリプトのメソッドについては、引数として文字列の情報が渡されていますが、この情報は1ページ分の情報です。
今回は複数のページに対応するようになっているので、この部分も見直し対象となります。
処理を変更する場合、このように1つずつ、処理を行っている場所と、その処理に行きつくまでに実行されるメソッドをすべて洗い出して
修正が必要になるかどうかを精査していくことが重要です。
では、会話イベントの一連の処理の流れをスタートからゴールまで見ていきましょう。
<会話イベントの流れ>
1.PlayerController スクリプトにおいて、NonPlayerCharacter スクリプトの PlayTalk メソッドが実行される
2.NonPlayerCharacter スクリプトにおいて、会話イベントウインドウが固定型の場合には UIManager スクリプトの OpenTalkWindow メソッドが実行され、その中でさらに DialogController スクリプトの DisplayDialog メソッドが実行される
稼働型のウインドウの場合には、DialogController スクリプトの DisplayDialog メソッドが実行される
3.DialogController スクリプトの DisplayDialog メソッドにおいて会話イベントのメッセージが表示される。表示される会話のメッセージの文字列は、NonPlayerCharacter スクリプトから引数として渡されるものを利用する
4.メッセージ表示後に DialogController スクリプトの HideDialog メソッドにおいて会話イベントを終了するメソッドが実行される
現在の処理の内容として、4つのスクリプトのメソッドを実行していくことによって会話イベントが実行されていることがわかります。
そのため、今回のように会話イベントイベントのメッセージの処理方法を変更する場合には、1〜4のすべての処理を見直して、修正を行っていく必要があると言えます。
この一連の流れをしっかりと理解しておかないと、処理を修正することが出来ませんので、もう一度、処理の流れを見直してみましょう。
処理の修正については、ゴール地点である【4】の処理から見直していきます。このとき【3】も同じスクリプトになりますので
まずは DialogController スクリプト内の処理を見直して修正を行うようにします。その後、手前に戻りながら修正をしていくことで、
必要な処理が完成している状態で進めていくことが出来るようになります。