void Awake() { gameLoopState = GameLoopState.Init; fireIsDown = false; SetPlayerRenderers(false); enemyManager.OnEnemyDestroyed = EnemyDestroyed; enemyManager.OnTargetReached = PlayerDestroyed; }
private void SwitchToCountDownState() { m_glsGameState = GameLoopState.COUNT_DOWN; //sort out who is playing and who has disconected //synchronise clocks //set game start time }
private void EnemyDestroyed() { scoreMultiplier *= 1.15f; score += Mathf.RoundToInt(10.0f * scoreMultiplier); UpdateScoresAndWave(); if (enemyManager.IsWaveClear && gameLoopState == GameLoopState.InGame) { if (waveNumber < 10) gameLoopState = GameLoopState.StartWave; else gameLoopState = GameLoopState.GameCompleted; } }
private void SwitchToActiveState() { m_glsGameState = GameLoopState.ACTIVE; //set start time and tick m_fTimeSinceLastSim = 0; m_iSimTick = 0; //set player count m_playerCount = m_ntcNetworkConnection.ActiveConnectionCount() + 1; SetupSimulation(); //reset all ticks m_ntcNetworkConnection.TransmitPacketToAll(new ResetTickCountPacket()); }
void Start() { cardIconQueue = GetComponent <CardIconQueue> (); currentViewIndex = 0; foreach (GameObject card in cardSwipe) { card.SetActive(false); } heads = GameObject.Find("Head").gameObject; tutorial = GetComponent <Tutorial> (); state = GameLoopState.IDLE; EndTurnCanvas = GameObject.Find("EndGameCanvas"); EndTurnCanvas?.SetActive(false); Loop().Forget(); }
// Use this for initialization public void Start() { if (m_uigInputGenerator == null) { m_uigInputGenerator = GetComponent <UserInputGenerator>(); } if (m_ntcNetworkConnection == null) { m_ntcNetworkConnection = GetComponent <NetworkConnection>(); } if (m_ntcConnectionTarget != null) { m_ntcNetworkConnection.MakeTestingConnection(m_ntcConnectionTarget); } m_ntcNetworkConnection.m_evtPacketDataIn += HandleInputFromNetwork; m_glsGameState = GameLoopState.LOBBY; }
public async void StartGame() { Services.assets.PlaySound("tap").Forget(); Services.data.fingerStep = 0; if (Services.data.isWin(0)) { Services.data.IncreaseTutor(); } await Services.player.Init(); await Services.enemy.Init(); cardIconQueue.CreateQueue(); heads.GetComponent <EnemyHead> ().UpdateHead(getRandomHead()); EndTurnCanvas?.SetActive(false); state = GameLoopState.IDLE; }
private void SwitchToEndState() { m_glsGameState = GameLoopState.END; }
private void SwitchToTitleState() { SetPlayerRenderers(false); gameLoopState = GameLoopState.TitleScreen; }
private void PlayerDestroyed() { player.audio.Play(); SetPlayerRenderers(false); gameLoopState = GameLoopState.GameOver; UpdateScoresAndWave(); }
private void OnTitleScreen() { titleScreenController.ShowTitleScreen(); if (fireIsDown && !Input.GetButton("Fire")) gameLoopState = GameLoopState.StartGame; fireIsDown = Input.GetButton("Fire"); }
private void OnStartWave() { enemyManager.StartWave(++waveNumber); gameLoopState = GameLoopState.InGame; UpdateScoresAndWave(); audio.Play(); }
private void OnStartGame() { score = 0; waveNumber = 0; titleScreenController.ShowInGameScreen(); UpdateScoresAndWave(); fireIsDown = false; scoreMultiplier = 1.0f; SetPlayerRenderers(true); gameLoopState = GameLoopState.StartWave; }
private void OnInit() { score = 0; waveNumber = 0; UpdateScoresAndWave(); gameLoopState = GameLoopState.TitleScreen; }
/// <summary> /// Sets the current active game state. /// </summary> /// <param name="gameState">GameLoopState to reference for game functions</param> public static void SetGameMgr(GameLoopState gameState) { GameMgr = gameState; }
async UniTaskVoid Loop() { await UniTask.WaitUntil(() => Services.isInited); cardIconQueue.CreateQueue(); heads.GetComponent <EnemyHead> ().UpdateHead(getRandomHead()); Services.assets.PlaySound("start_game").Forget(); while (true) { await tutorial.CheckCurrentTutor(); await UniTask.WaitUntil(() => state == GameLoopState.IDLE); int currentChoise = -1; cardItem = cardIconQueue.GetFirstItem(); tutorial.ChangeCard(cardItem); var t1 = cardIconQueue.Shift(); var t2 = SwipeCard(); await UniTask.WhenAll(t1, t2); Swipe swipe = cardSwipe[currentViewIndex].GetComponent <Swipe> (); currentChoise = swipe.currentChoise; int timestamp = GameTime.GetTime(); ChoiceData chMeta = null; if (cardItem.me == true) { chMeta = currentChoise == Swipe.LEFT_CHOICE ? cardItem.data.left : cardItem.data.right; } else { chMeta = currentChoise == Swipe.LEFT_CHOICE ? cardItem.data.eLeft : cardItem.data.eRight; } lock (this) { Services.player.Execute(cardItem.data, currentChoise, chMeta, cardItem.me, timestamp, Services.enemy); } Services.data.swipeCount++; Services.assets.PlaySound("card_move").Forget(); //check global state if (!CheckGlobalState(timestamp)) { state = GameLoopState.DIABLED; EndTurnCanvas?.SetActive(true); bool isWin = Services.data.isWin(timestamp); if (isWin == true) { Services.assets.PlaySound("win").Forget(); } else { Services.assets.PlaySound("lose").Forget(); } Analytics.CustomEvent("gameOver", new Dictionary <string, object> { { "isWin", isWin } }); Analytics.FlushEvents(); } else if (chMeta.reward.Exists(r => r.category == GameDataManager.ACTION_ID && r.id == 1)) { Services.assets.PlaySound("attack").Forget(); } else if (chMeta.reward.Exists(r => r.category == GameDataManager.RESOURCE_ID && r.id == 1)) { Services.assets.PlaySound("heal").Forget(); } //await UniTask.Delay(100); //shift /*for (int i = 1; i < queue.Count; i++) { * queue[i - 1] = queue[i]; * } * queue[queue.Count - 1] = currentItem; * * await cardIconQueue.Shift (); */ } }