Unity/.NET 4.6のTask機能で作った、コードベースでシンプルなシーン遷移の管理システム。
https://github.com/yKimisaki/UnitySceneNavigator
// 次のシーンの引数を用意
var args = new NextSceneArgs();
// OnClickメソッドを使うことで連打時でも、内部の処理が終わるまでは二重に走らない
this.Button.OnClick(this.SceneShared, () => Navigator.NavigateAsync(args));// ボタンを押した時にポップアップを開く
this.Button.OnClick(this.SceneShared, async () =>
{
var args = new PopupSceneArgs();
// ポップアップからの結果をawaitで待つ
var result = await Navigator.NavigateAsPopupAsync<int>(args);
// ポップアップから取得した結果で処理を行う
await this.DoAfterPopup(result);
});// ポップアップの呼びもとに結果を返したい場合は戻り値を送ることができる
this.Button.OnClick(this.SceneShared, () => Navigator.NavigateBackAsync(100));クローンしたものをUnityで開き、InitialSceneから再生。
Unity 2017.1.1p2
