public static void StartGame() { SoundManager.LoadMusic(@"\Music\vikce - casse-tête.wav"); // Creating unit manager and game window unitManager = new GameFieldManager(); gameField = new GameWindow(GameScreenWidth, GameScreenHeight); // Reset previous score Score = 0; // Set hero and bullets unitManager.SetHero(new Hero(new UnitCoord(GameScreenWidth / 2, GameScreenHeight - 1))); // Set enemies unitManager.CreateInitialSnowflakes(); // Render game window Console.Clear(); gameField.RenderGameBackground(); unitManager.RenderUnits(); needToRender = true; Console.CursorVisible = false; while (needToRender) { Level = GetLevelAndGameSpeed(Score, out gameSpeed); // Get hero control input ControlUnit(); // Render unitManager.RenderUnits(); gameField.RenderScoreInfo(); Thread.Sleep(gameSpeed / 2); // Move enemies unitManager.MoveAllBulletsUp(); unitManager.MoveAllEnemiesDown(); // Cycle enemies unitManager.MeltSnowflakes(); unitManager.RemoveBullets(); unitManager.AddBosses(); // Render unitManager.RenderUnits(); gameField.RenderScoreInfo(); Thread.Sleep(gameSpeed / 2); IsGameOver(); } }
public override void OnStart() { base.OnStart(); var go = GameObject.FindGameObjectWithTag(tagTileMap); if (go == null) { Debug.LogError($"Not found tilemap with tag {tagTileMap} for {gameObject.name}"); return; } tilemap = go.GetComponent <Tilemap>(); gamefield = Core.Get <GameFieldManager>(); }
private void GameDetailsCallback(LobbyGameDetailsModel model) { bool isMeJoined = false; bool isMeReady = false; bool isAllReady = true; if (model == null || model.GameState == GameRoomState.Closed) { OnBtnLeave(); return; } if (model.GameState == GameRoomState.Started) { Debug.Log("Load game field scene."); GameFieldManager.StartGame(gameId, model); gameObject.SetActive(false); return; } foreach (Transform child in gamePlayersContent.transform) { Destroy(child.gameObject); } txtGameId.text = model.GameState + " game #" + model.GameId.Substring(24); isAllReady = model.JoinedPlayers >= 2; foreach (var gamePlayer in model.Players) { var item = GameObject.Instantiate(gamePlayerPrefab, gamePlayersContent.transform); item.transform.localScale = Vector3.one; item.txtPlayerName.text = gamePlayer.PlayerName; item.playerSign.sprite = item.playerSigns[gamePlayer.Sign]; item.readyStatusObject.SetActive(gamePlayer.IsReady); item.waitingStatusObject.SetActive(!gamePlayer.IsReady); if (!isMeJoined && gamePlayer.PlayerId == myPlayerId) { isMeJoined = true; } if (!isMeReady && isMeJoined && gamePlayer.PlayerId == myPlayerId && gamePlayer.IsReady) { isMeReady = true; } isAllReady = isAllReady && gamePlayer.IsReady; } btnStart.gameObject.SetActive(model.CreatedBy == myPlayerId); btnStart.interactable = isAllReady; btnReady.gameObject.SetActive(!isMeReady && isMeJoined); btnJoin.gameObject.SetActive(!isMeJoined); btnLeave.gameObject.SetActive(isMeJoined); }
void Start() { gamefield = Core.Get <GameFieldManager>(); }