public void SetTargetEnabled(bool enabled, bool firstSelectedShip) { if (ShipTargeted != null) { ShipTargeted.SetActive(enabled); } _firstSelectedShip = firstSelectedShip; if (_shipTargetedBCSH != null) { var nextState = "dark"; if (_firstSelectedShip) { nextState = "dark_first"; } _shipTargetedBCSH.ApplyBCSHStateProgressive(nextState, 0, 0f); _bcshTimer.Wait(0f); } if (enabled) { GameAudioManager.SharedInstance.PlaySound("Audio/Sounds/GSB_selectship"); } }
public void ShipVersusHealthUpdate(int versusShipHealth) { for (var i = 0; i < HullVSGOs.Count; ++i) { HullVSGOs[i].SetActive(i < versusShipHealth ? true : false); } if (!_dyingVSShip) { if (_tremblingVSAnimation != null) { _tremblingVSAnimation.Kill(); _tremblingVSAnimation = null; } if (GSB_SceneManager.Instance.ShipVersusTransform != null) { if (GSB_SceneManager.Instance.BattleState != GSB_SceneManager.EBattleState.E_GAMEOVER) { GSB_SceneManager.Instance.ShipVersusTransform.transform.localPosition = Vector3.zero; _tremblingVSAnimation = DOTween.Sequence(); _tremblingVSAnimation.Append(GSB_SceneManager.Instance.ShipVersusTransform.DOLocalMove(new Vector3(0.06f, 0.0f, 0.0f), 500 / 1000.0f / 10f).SetLoops(5, LoopType.Yoyo)); _tremblingVSAnimation.Play(); } } if (_shipVSBCSH != null) { _shipVSBCSH.ApplyBCSHStateProgressive("damaged", 0, 0f); _shipVSBCSH.ApplyBCSHStateProgressive("default", 0, 0.4f); } } if (versusShipHealth == 0) { if (!_dyingVSShip && GSB_SceneManager.Instance.ShipVersusTransform != null) { GSB_SceneManager.Instance.ShipVersusTransform.transform.localPosition = Vector3.zero; GSB_SceneManager.Instance.ShipVersusTransform.transform.DOLocalMove(new Vector3(3.0f, 1.5f, 0.0f), 8f); _dyingVSShip = true; _explosionTimer.Wait(0f); } } }
public void MakeDamage(int damage) { if (GSB_SceneManager.Instance.BattleSubState == GSB_SceneManager.EBattleState.E_WIN) { return; } if (GSB_SceneManager.Instance.BattleState != GSB_SceneManager.EBattleState.E_GAMEOVER) { _currentHealth -= damage; if (_currentHealth < 0) { _currentHealth = 0; } if (_currentHealth > GSB_SceneManager.Instance.HealthMax) { _currentHealth = GSB_SceneManager.Instance.HealthMax; } if (_currentHealth == 0) { GSB_SceneManager.Instance.ChangeState(GSB_SceneManager.EBattleState.E_GAMEOVER); } } if (GSB_GameManager.Instance.CurrentGameState == GSB_GameManager.GameState.E_PLAYING_2_VERSUS) { if (GSB_GameManager.Instance.NetworkController.PlayerOnlineController != null) { GSB_GameManager.Instance.NetworkController.PlayerOnlineController.CmdDamageReceived(GSB_GameManager.Instance.NetworkController.PlayerControllerId, _currentHealth); } } if (damage > 0) { if (_tremblingAnimation != null) { _tremblingAnimation.Kill(); _tremblingAnimation = null; } if (ShipTransform != null) { if (GSB_SceneManager.Instance.BattleState != GSB_SceneManager.EBattleState.E_GAMEOVER) { ShipTransform.transform.localPosition = Vector3.zero; _tremblingAnimation = DOTween.Sequence(); _tremblingAnimation.Append(ShipTransform.transform.DOLocalMove(new Vector3(0.06f, 0.0f, 0.0f), 500 / 1000.0f / 10f).SetLoops(5, LoopType.Yoyo)); _tremblingAnimation.Play(); } else { if (!_dying) { ShipTransform.transform.localPosition = Vector3.zero; ShipTransform.transform.DOLocalMove(new Vector3(3.0f, -1.5f, 0.0f), 8f); _dying = true; _explosionTimer.Wait(0f); } } } if (ShipBCSH != null) { ShipBCSH.ApplyBCSHStateProgressive("damaged", 0, 0f); ShipBCSH.ApplyBCSHStateProgressive("default", 0, 0.4f); } } UpdateHealthUI(); }