public void StartFight() { UIManager.Instance.ChangeScreen(EScreen.Fight); BattleState = EBattleState.BattleOn; HitCount = 0; SceneManager.Instance.EnemyGroupComp.EnemyComp.Restart(); }
public override void Update(float fDeltaTime) { base.Update(fDeltaTime); if (m_bSceneLoaded == false) { return; } if (m_state == EBattleState.Ready) { float x = m_battleField.BattleFieldObj.transform.position.x + m_viewSceneSpeed * fDeltaTime; if (x > m_viewSceneTarget.x) { x = m_viewSceneTarget.x; } m_battleField.BattleFieldObj.transform.position = new Vector2(x, m_viewSceneTarget.y); if (m_startFightTime > 0 && ServerTimeHelper.Instance.ServerTime >= m_startFightTime) { m_battleField.BattleFieldObj.transform.position = m_viewSceneTarget; m_state = EBattleState.Fighting; OnStartBattle(); } } else if (m_state == EBattleState.Fighting) { m_battleField.Update(fDeltaTime); } if (GameCore.Instance.IsOfflineMode) { BattleServer.Instance.Update(fDeltaTime); } }
private void OnSyncClockComplete() { m_state = EBattleState.Preparing; ProtoCSStartBattle proto = new ProtoCSStartBattle(); NetworkMgr.Instance.Send(proto); }
public void EndFight() { BattleState = EBattleState.NotInBattle; UIManager.Instance.WidgetCloud.PlayIn(); GameManager.Instance.ScheduleTimerAction(1.5f, ()=>{ UIManager.Instance.WidgetCloud.PlayOut(); SceneManager.Instance.SwitchToPlayerScene(); }); UIManager.Instance.ChangeScreen(EScreen.Build); }
public void ChangeState(EBattleState eNextState, byte[] data = null, bool bRefresh = false) { if (m_eCurrentState != eNextState || bRefresh == true) { m_ePreviousState = m_eCurrentState; m_States[(int)m_ePreviousState].DoEnd(); m_eCurrentState = eNextState; m_Owner.StartCoroutine(m_States[(int)m_eCurrentState].DoStart(data)); } }
public IEnumerator Initialize(BattleScene owner) { m_Owner = owner; m_ePreviousState = m_eCurrentState = EBattleState.BattleState_Load; for (int i = (int)EBattleState.BattleState_Load; i < (int)EBattleState.BattleState_Max; i++) { m_States[i].Initialize(m_Owner, this); } yield return(m_States[(int)m_eCurrentState].DoStart()); }
public void ChangeSubState(EBattleState battleState) { _stateStartTime = TimeUtils.TimestampMilliseconds; switch (battleState) { case EBattleState.E_WIN: { GameAudioManager.SharedInstance.StopSound(0); GameAudioManager.SharedInstance.PlaySound("Audio/Sounds/GSB_youwin"); if (WinLabel != null) { WinLabel.gameObject.SetActive(true); } if (Player != null) { Player.CancelSelection(); } _stateTime = 4000; break; } case EBattleState.E_LOSE: { GameAudioManager.SharedInstance.StopSound(0); GameAudioManager.SharedInstance.PlaySound("Audio/Sounds/GSB_gameover"); if (LoseLabel != null) { LoseLabel.gameObject.SetActive(true); } if (Player != null) { Player.CancelSelection(); } _stateTime = 4000; break; } } _battleSubState = battleState; }
private void Reset() { OnRestartBattle(); m_battleField.Reset(); m_state = EBattleState.None; m_startFightTime = 0; Vector2 startPos = new Vector2(-6, 0); m_battleField.BattleFieldObj.transform.position = startPos; LevelMapData data = LevelConfig.Instance.GetLevelMapData(GameCore.Instance.m_globalData.CurrLevel); m_battleField.InitLevel(data); m_battleLocalCal.InitLevel(data, m_battleField.Balls); m_battleField.IsWaitFireBall = false; }
private void SyncClock() { m_state = EBattleState.SyncClock; ServerTimeHelper.Instance.SyncClock(OnSyncClockComplete); }
public override void HandleMessage(ProtoBase proto) { switch (proto.MessageID) { case MessageId.SC_StartLevel: { ProtoSCStartLevel startLevel = proto as ProtoSCStartLevel; GameCore.Instance.m_globalData.CurrLevel = startLevel.LevelId; Reset(); SyncClock(); break; } case MessageId.SC_LeaveLevel: { GameCore.Instance.SwitchToSubgame(ESubGame.SelectLevel); break; } case MessageId.SC_StartBattle: { ProtoSCStartBattle startBattle = proto as ProtoSCStartBattle; m_state = EBattleState.Ready; m_startFightTime = startBattle.StartTime + m_startFightDelay; m_viewSceneTarget = startBattle.Translation; Vector2 startPos = new Vector2(-6, m_viewSceneTarget.y); m_battleField.BattleFieldObj.transform.position = startPos; m_viewSceneSpeed = (m_viewSceneTarget.x + 6) / m_viewSceneTime; for (int i = 0; i < startBattle.BallQueueA.Count; ++i) { m_battleField.m_ballReserve[0].Enqueue((ELevelBallType)startBattle.BallQueueA[i]); } m_battleField.CheckBallDisplay(0); for (int i = 0; i < startBattle.BallQueueB.Count; ++i) { m_battleField.m_ballReserve[1].Enqueue((ELevelBallType)startBattle.BallQueueB[i]); } m_battleField.CheckBallDisplay(1); if (GameCore.Instance.m_globalData.CurrLevel % 2 == 1) { AudioMgr.PlayAudio(2, Guid.Empty); } else { AudioMgr.PlayAudio(3, Guid.Empty); } break; } case MessageId.SC_EndBattle: { ProtoSCEndBattle endBattle = proto as ProtoSCEndBattle; StartTimer(() => { OnEndBattle(endBattle.IsWin); }, 2f); break; } case MessageId.SC_BattleCommand: { ProtoSCBattleCommand battleCommand = proto as ProtoSCBattleCommand; HandleBattleCommand(battleCommand.Command); break; } } }
public void ChangeState(EBattleState battleState) { _stateStartTime = TimeUtils.TimestampMilliseconds; switch (battleState) { case EBattleState.E_WAVE_START: { _currentWave++; _currentWaveData = null; _currentWaveDataIdx = 0; GenerateRandomCurrentWave(); if (GSB_GameManager.Instance.CurrentGameState == GSB_GameManager.GameState.E_PLAYING_1_PLAYER) { if (HealthVSBoxText != null) { HealthVSBoxText.enabled = false; } if (WaveLabel != null) { WaveLabel.text = "WAVE "; if (_currentWave < 10) { WaveLabel.text += "0"; } WaveLabel.text += _currentWave; WaveLabel.gameObject.SetActive(true); } if (Player != null) { Player.MakeDamage(-HealthRecoveryAfterWave); } GameAudioManager.SharedInstance.PlaySound("Audio/Sounds/GSB_wavestart"); _stateTime = 3000; } else { _stateTime = 0; } break; } case EBattleState.E_PLAYING: { if (WaveLabel != null) { WaveLabel.gameObject.SetActive(false); } break; } case EBattleState.E_WAVE_END: { _stateTime = 2000; break; } case EBattleState.E_GAMEOVER: { if (GSB_GameManager.Instance.CurrentGameState == GSB_GameManager.GameState.E_PLAYING_1_PLAYER) { GameAudioManager.SharedInstance.StopSound(0); GameAudioManager.SharedInstance.PlaySound("Audio/Sounds/GSB_gameover"); if (GameOverLabel != null) { GameOverLabel.gameObject.SetActive(true); } _stateTime = 4000; } else if (GSB_GameManager.Instance.CurrentGameState == GSB_GameManager.GameState.E_PLAYING_2_VERSUS) { if (GSB_GameManager.Instance.NetworkController.PlayerOnlineController != null) { GSB_GameManager.Instance.NetworkController.PlayerOnlineController.CmdPlayerHasDiedClient(GSB_GameManager.Instance.NetworkController.PlayerControllerId); } _stateTime = 0; } break; } } _battleState = battleState; }
public void ChangeState(EBattleState state) { battleState = state; }
public void AfterBattle() { CurrentHP = MaxHP; battleState = EBattleState.Normal; }