コード例 #1
0
        /// <summary>
        /// ゲーム開始時に呼ばれる処理。
        /// </summary>
        public void Start()
        {
            // 起動時に参照するコンポーネントを見つけておく
            if (!this.Menu)
            {
                throw new NotImplementedException("必要なGameObjetが指定されていません。");
            }

            this.gameStatus   = this.GetComponent <GameStatus>();
            this.gameServer   = this.GetComponent <BreakoutServer>();
            this.gamePage     = this.GetComponent <BreakoutPage>();
            this.menuViewer   = this.Menu.GetComponent <MenuViewer>();
            this.stageCreator = this.GetComponent <StageCreator>();
            if (!this.gameStatus || !this.gameServer || !this.menuViewer || !this.stageCreator)
            {
                throw new NotImplementedException("必要なComponentが接続されていません。");
            }

            // メニューインスタンスにイベント登録
            this.menuViewer.MenuSelected += (stage) =>
            {
                this.gameStatus.Stage = stage;
                this.InitializeGame();
            };

            // アプリの初期化処理を子ルーチンで実行
            this.StartCoroutine(this.InitializeApp());
        }
コード例 #2
0
ファイル: MenuViewer.cs プロジェクト: ktanakaj/breakout-mk
        /// <summary>
        /// ゲーム開始時に呼ばれる処理。
        /// </summary>
        public void Start()
        {
            // 起動時に参照するコンポーネントを見つけておく
            this.gameServer = this.gameRootObject != null?this.gameRootObject.GetComponent <BreakoutServer>() : this.GetComponent <BreakoutServer>();

            if (!this.gameServer)
            {
                throw new NotImplementedException("必要なComponentが接続されていません。");
            }

            if (!this.PrevButton || !this.NextButton)
            {
                throw new NotImplementedException("必要なGameObjectが接続されていません。");
            }

            if (!this.MenuItemPrefab)
            {
                throw new NotImplementedException("必要なPrefabが指定されていません。");
            }
        }