예제 #1
0
        public void Update(GameTime gameTime)
        {
            if (endFlag)
            {
                return;
            }

            ui.Update();
            if (ui.IsPop())                   //メッセージ表示中は以下Updateしない
            {
                return;
            }

            background.Update();
            RotateCamera();

            //Chara処理
            characterManager.Update(gameTime);

            pManager.Update(gameTime);

            //マップ処理
            map.MapCollision(gameDevice.Renderer.MainProjector);
            map.FocusCenter(characterManager.GetPlayer().GetPosition);
            map.Update();
            map.MapCollision(characterManager.GetPlayer());
            map.MapCollision(characterManager.GetCharacters());
            map.MapCollision(characterManager.GetHitBoxs());

            //アイテム処理
            mapItemManager.ItemCollision(characterManager.GetPlayer(), ui);

            //時間やFog処理の更新
            stageManager.Update();

            AddParticle();

            //Camera Shake仮実装 ToDo:Class化
            if (gameDevice.InputState.IsLeftClick())
            {
                Vector3 offset = new Vector3(
                    gameDevice.Random.Next(-10, 10) / 50.0f,
                    gameDevice.Random.Next(-10, 10) / 50.0f,
                    gameDevice.Random.Next(-10, 10) / 50.0f);
                gameDevice.MainProjector.Collision.Position += offset;
            }

            CheckEnd();                         //プレイ終了をチェック
        }
예제 #2
0
        public void Update(GameTime gameTime)
        {
            if (endFlag)
            {
                return;
            }

            if (!map.IsOver())
            {
                stageManager.PlayBossBGM();
            }

            ui.Update();
            if (ui.IsPop())                   //メッセージ表示中は以下Updateしない
            {
                return;
            }

            background.Update();
            RotateCamera();

            //Chara処理
            characterManager.Update(gameTime);

            pManager.Update(gameTime);

            //マップ処理
            map.MapCollision(gameDevice.Renderer.MainProjector);
            map.FocusCenter(characterManager.GetPlayer().GetPosition);
            map.Update();
            map.MapCollision(characterManager.GetPlayer());
            map.MapCollision(characterManager.GetCharacters());
            map.MapCollision(characterManager.GetHitBoxs());

            //Particle追加
            AddSphereParticle();

            //アイテム処理
            mapItemManager.ItemCollision(characterManager.GetPlayer(), ui);

            //終わるかどうかをチェック
            CheckEnd();
        }