29. Project ContextとScene Context
● Project Contextはすべて
のScene Contextの親にな
る
● Project ContextにBindした
ものはすべてのContextで
Inject可能
Scene Context
Project Context
Game Object Context
Scene Context
Game Object Context
30. Scene ContextとScene Context(マルチシーン)
● Scene ContextのContract
Names・Parent Contract
Namesの設定で親子関係
が設定される
● 複数の親の設定も可能
● 親シーンは事前にロードし
ておく必要がある
Scene Context
Project Context
Game Object Context
Scene Context
Game Object Context
31. Scene ContextとGame Object Context
● 配置されたシーンのScene
Contextが親となる
● Game Object Context間の
親子関係はHierarchyに従う
Scene Context
Project Context
Game Object Context
Scene Context
Game Object Context
32. Scene ContextのDecoration
● 対象のScene Contextを変
更なく機能追加等ができる
● 複数のシーンを同時に読
み込み合体させて起動す
るケースやデバッグ機能の
追加等で利用できる
Scene Context
Project Context
Decorator Scene Context
Decorator Scene Context
38. Game Object ContextとFacadeとメリット
Scene
Component
Scene Context Game Object Context
Facade
Component
Sub
Component
Sub
Component
Resolve
● サブコンテナとして局所的なDIシステムが構築できる
● 利用者からするとContextかどうかは気にしない
Use
Scene
Component
Resolve
46. Contextの構成の例
Base System
Project Context
Server API
Application Context
(Scene Context)
Scene Routing
Scene Management
Battle Scene Context
(Scene Context)
Index View Factory
Character Factory
Index Presenter
Index View Context
(Game Object Context)
Index View
Index UseCase
Character
Character
(Game Object Context)
Character Mover
Animator
Repository
47. Contextの構成の例:役割のいくつか
Base System
Project Context
Server API
Application Context
(Scene Context)
Scene Routing
Scene Management
Battle Scene Context
(Scene Context)
Index View Factory
Character Factory
Index Presenter
Index View
Index UseCase
Character
Character
(Game Object Context)
Character Mover
Animator
Repository
Server APIに依存し
データCRUDの
インターフェースを提供
Index View Context
(Game Object Context)
48. Contextの構成の例:役割のいくつか
Base System
Project Context
Server API
Application Context
(Scene Context)
Scene Routing
Scene Management
Battle Scene Context
(Scene Context)
Index View Factory
Character Factory
Index Presenter
Index View
Index UseCase
Character
Character
(Game Object Context)
Character Mover
Animator
Repository
Repositoryに依存
データを取得して
ビジネスロジックを実行
Index View Context
(Game Object Context)
49. Contextの構成の例:役割のいくつか
Base System
Project Context
Server API
Application Context
(Scene Context)
Scene Routing
Scene Management
Battle Scene Context
(Scene Context)
Index View Factory
Character Factory
Index Presenter
Index View
Index UseCase
Character
Character
(Game Object Context)
Character Mover
Animator
Repository
シーンをロードしたり
制御する人
Index View Context
(Game Object Context)
50. Contextの構成の例:ポイントのいくつか
Base System
Project Context
Server API
Application Context
(Scene Context)
Scene Routing
Scene Management
Battle Scene Context
(Scene Context)
Index View Factory
Character Factory
Index Presenter
Index View
Index UseCase
Character
Character
(Game Object Context)
Character Mover
Animator
Repository
プロジェクト全体で使う
ものしかInstallしない
Index View Context
(Game Object Context)
51. Contextの構成の例:ポイントのいくつか
Base System
Project Context
Server API
Application Context
(Scene Context)
Scene Routing
Scene Management
Battle Scene Context
(Scene Context)
Index View Factory
Character Factory
Index Presenter
Index View
Index UseCase
Character
Character
(Game Object Context)
Character Mover
Animator
Repository
このシーンが
LoadLevel0になることで
起動フローが決定
Index View Context
(Game Object Context)
52. Contextの構成の例:ポイントのいくつか
Base System
Project Context
Server API
Application Context
(Scene Context)
Scene Routing
Scene Management
Battle Scene Context
(Scene Context)
Index View Factory
Character Factory
Index Presenter
Index View
Index UseCase
Character
Character
(Game Object Context)
Character Mover
Animator
Repository
アウトゲーム・インゲーム
等大きい内部状態の
区分をシーンコンテキスト
として展開する
Index View Context
(Game Object Context)
53. Contextの構成の例:ポイントのいくつか
Base System
Project Context
Server API
Application Context
(Scene Context)
Scene Routing
Scene Management
Battle Scene Context
(Scene Context)
Index View Factory
Character Factory
Index Presenter
Index View
Index UseCase
Character
Character
(Game Object Context)
Character Mover
Animator
RepositoryFactoryにより
Game Object Context
による画面を動的に
起動
Game Object Context
により画面単位の機
能を実現
Index View Context
(Game Object Context)
54. 応用例1:プランナー用テストプレイモード
Base System
Project Context
Mock Data Store
Test Play Application Context
(Scene Context)
Test Routing
Scene Management
Battle Scene Context
(Scene Context)
Index View Factory
Character Factory
Index Presenter
Index View
Index UseCase
Character
Character
(Game Object Context)
Character Mover
Animator
Repository
データの取得
コンポーネントを変更
直接目的のシーンを
起動しキャラや敵の
組み合わせなどを
Editorで、すぐに設定
できるようにする
Fixture Data
Index View Context
(Game Object Context)
55. 応用例2:デザインクオリティチェック実機確認アプリ
Base System
Project Context
Mock Data Store
Design Check Application Context
(Scene Context)
Check Routing
Scene Management
Check Scene Context
(Scene Context)
Character Factory
CheckView
クオリティチェック用
シーンにより専用アプ
リケーションを構築
Fixture Data
このシーンを
LoadLevel0に
指定しビルド
Character
Character
(Game Object Context)
Character Mover
Animator