UI部分のプログラムを継承して独自にカスタムする


UI系処理の継承

Version3.4.0から、宴のUI系のスクリプトはカスタムしやすいように各コンポーネントを継承可能なようにvirtual、protectedを基本としました。
対象となるスクリプトは以下の通りです。

中核の部分

Utage\Scripts\ADV\UI\
メッセージウィンドウや、バックログ、選択肢など
ノベルゲーム、会話シーン両方で中核となる処理。

ノベルゲームに特有のUI

Utage\Scripts\TemplateUI\
タイトル画面やギャラリーなど、ノベルゲームに特有のUI処理。会話シーンで使う場合には未使用な部分。

継承とは

継承とは、C#をはじめとして一般的なプログラムではよくある概念です。
例を挙げると「プログラム全部を変える必要はないけど、ボタンの押し方だけ変えたい」といったように、既存のプログラムの一部の処理だけ上書きして書き換えるための手法です。
C#の継承を使ったプログラムの手法については、詳しく扱った本やWebサイトがたくさんありますので、ここでは詳しくは説明しません。
元になるソースコードを読んで理解したり、Unity特有のクセの対処(例えばコンポーネントのつけかえ)も必要なので、プログラマー以外の人はちょっと難しい中級者以上向けの技術かもしれません。
ただ、これを使うと宴のソースコードを書き変えずに、独自の処理に上書きすることができるようになります。

注意点

継承は内部処理に強く依存します。
基本的にはあまりしない予定ですが、内部処理は変更する場合もあり、使用する場合はバージョンアップによる互換性に注意してください。

継承を使わないフルスクラッチでUI処理を書く場合

会話シーンに使う場合などで、完全に独自のUI処理が必要な場合は、UI部分は独自にコードを書いてください。
ノベルエンジン部分はUI系のプログラムと完全に独立しているので、独自コードでノベルエンジンを制御するように書いても動作します。