public void Update(GameTime gameTime) { playTime++; //inputState.Update(); //死んでいないと更新する if (!isClear && !isOver) { for (int i = 0; i < map.MapThings.Count; i++) { map.MapThings[i].Update(gameTime); } //プレイヤーの更新 player.Update(gameTime); //火の更新 for (int i = fires.Count - 1; i >= 0; i--) { fires[i].Update(gameTime); } //死んだ火を消す fires.RemoveAll(x => x.IsDead); // && x.IsOnGround //水の更新 foreach (var w in waterLines) { w.Update(gameTime); } waterLines.RemoveAll(x => x.IsDead); //マップの更新 map.Update(gameTime); //カメラの注視位置を更新 //camera.SetAimPosition(player.Position + new Vector2(player.ImageSize.Width / 2, player.ImageSize.Height / 2)); camera.MoveAimPosition(player.Position + new Vector2(player.Width / 2, player.Height / 2)); //Console.WriteLine(camera.OffSet); //マップ上にある炭の数を取得 nowCoals = map.MapThings.FindAll(x => x is Coal); //マップの更新 map.Update(gameTime); if (map.GetGoal() != null) { if (map.GetGoal().IsOnFire) { //柏 stageSever.ClearStage = mapIndex; stageSever.PlayTime = playTime / 60; stageSever.CurrentStage = mapIndex; stageSever.Charcoal = coals.Count - nowCoals.Count; stageSever.SaveStageData(); isClear = true; clearSelect.IsClear = true; } } //葉梨竜太 if (player.IsDead) { isOver = true; //isClear = true; //clearSelect.IsClear = true; } } // ClearWindow2が出るように変更(KeyもQに変更) By佐瀬拓海 if (gameDevice.GetInputState().CheckTriggerKey(Keys.Q, Parameter.MenuButton)) { if (isOver == false) { isOver = true; player.IsDead = true; } else if (isOver == true) { isOver = false; player.IsDead = false; } } clearSelect.Update(); isEnd = clearSelect.IsEnd; //clear窓口からend状態をとる if (isOver) //SceneのisOverで判断する { if (clearSelect.IsClear == true) { return; } clearSelect.Initialize(); clearSelect.IsClear = true; } else if (isOver == false && isClear == false) //isOver = falseでゲーム画面に戻れる By佐瀬拓海 { clearSelect.Initialize(); clearSelect.IsClear = false; } }