SceneLoaderで外部Progressionを子供Sceneに設定した場合、子Progressionの中でのmanagerの参照先が参照場所によって変化します。
簡単書くと
SceneObject@manager > 子Progressionを参照
DisplayObjectを継承したCast系@manager > 親Progressionを参照
シーンはProgressionセグメントのレベルで管理されますが、Cast系はその辺には関与せず、純粋に最上位のProgressionの管理下に置かれるってな感じなのだと思います。
詳しい中身の管理ロジックについてはよく分からないですけど・・。
これ具体的に何が困るかというと、子Progression内で遷移の際の行き先や、出発点によって何かを制御しようとした際に、
getSceneBySceneId(manager.destinedSceneId)
としたときに、SceneObject上では問題ないのだけど、Cast系だと親Progressionを参照してしまうため、SceneObjectを参照できずエラーが戻ってくるという部分です。
なんか便利機能とかあるのかもしれないけれど、判別式で参照managerを切り分けて処理するようにしますた。
カテゴリー