UIタスクのツリー化について

「ツリー化可能」とされるUIタスクは、必ず表示要素を持ち、起動関数の第一引数に「親タスクのポインタ」を指定するようになっています。 起動時に他のUIタスクを親タスクとして指定することで、UIタスクのツリー化が可能になります。

UIタスクをツリー化することにより、それらのタスクは以下のような関係を持ちます。

  • 各UIタスクの持つ表示要素は、描画系のSceneGraphレベルでツリー化されます。
  • このため子の側となったタスクに指定した座標は、親側タスクの表示位置からの相対座標で扱われます。
  • 各UIタスク同士は、タスクレベルでの親子関係を構築します。
  • 親タスクの破棄に合わせ、子タスク側にも破棄指令が送られます。

また、UIタスクに分類されるもの以外にも、ツリー化の親となることができるタスク(GAME_Unit, MAP_Groupなど)が存在します。 この場合も構築される関係は上記と同じです。これらはUIタスクを装飾として付随させることができる機能として実装されています。