public void TakeDamage(float damage) { if (!invulnerableAfterDamage) { float halfDamage_1 = damage / 2.0f; float halfDamage_2 = damage / 2.0f; healthPoints -= halfDamage_1; float minusOfShield = halfDamage_2 / 2.0f; if (minusOfShield < shieldPoints) { shieldPoints -= minusOfShield; } else if (minusOfShield == shieldPoints) { shieldPoints = 0.0f; } else if (minusOfShield > shieldPoints && shieldPoints == 0) { healthPoints -= minusOfShield * 2.0f; } else if (minusOfShield > shieldPoints && shieldPoints > 0) { minusOfShield -= shieldPoints; shieldPoints = 0.0f; healthPoints -= minusOfShield; // was ... * 2.0f } //Debug.Log("My Current health points are: " + healthPoints.ToString()); if (healthPoints <= 0.0f) { invulnerableAfterDamage = true; // Запускаем процедуру гибели объекта deathDel(); } if (myObject.tag == "Player") { playerUpDel(healthPoints, shieldPoints); ControlPanelCanvasScript CPCS = FindObjectOfType <ControlPanelCanvasScript>(); CPCS.UpdateHealth(healthPoints); CPCS.UpdateShield(shieldPoints); } if (myObject.tag == "Planet" || myObject.tag == "Comet") { planetChHlth(healthPoints); } if (myObject.tag == "Enemy") { enemyChHlth(healthPoints / maxHealthPoints); } if (myObject.tag == "PlasmaArea") { plasmaNearFlight(); } } }
// Update is called once per frame void Update() { if (canFly) { CPCS.UpdateFuel(lastFuelVolume); lastFuelVolume -= Time.deltaTime; if (lastFuelVolume <= 0.1f) { // Отключить игрока canFly = false; SpaceShipControl ssc = FindObjectOfType <SpaceShipControl>(); ssc.FreezeAll(); EndGame(endMessage_01); } } else { if (Input.GetKey(KeyCode.Return)) { ControlPanelCanvasScript cpcs = FindObjectOfType <ControlPanelCanvasScript>(); cpcs.CloseEndMessage(); } } }
public void TakeUltimateDamage() { healthPoints = 0; shieldPoints = 0; ControlPanelCanvasScript CPCS = FindObjectOfType <ControlPanelCanvasScript>(); CPCS.UpdateHealth(healthPoints); CPCS.UpdateShield(shieldPoints); invulnerableAfterDamage = true; deathDel(); }
void Start() { playerInitHealth = ConstGameCtrl.instance.GetMaxPlayerParam(ConstGameCtrl.PlayerShipUpgrades.health); playerInitShield = ConstGameCtrl.instance.GetMaxPlayerParam(ConstGameCtrl.PlayerShipUpgrades.shield); playerFuelVolume = ConstGameCtrl.instance.GetMaxPlayerParam(ConstGameCtrl.PlayerShipUpgrades.fuel); lastFuelVolume = playerFuelVolume; Random.InitState(42); CPCS = FindObjectOfType <ControlPanelCanvasScript>(); CPCS.UpdateHealth(playerInitHealth); CPCS.UpdateShield(0); canFly = true; }
// Use this for initialization void Start() { myDamagable = gameObject.GetComponent <Damagable>(); myDamagable.deathDel = OnPlayerDeath; myDamagable.playerUpDel = OnPlasmaWound; CPCS = FindObjectOfType <ControlPanelCanvasScript>(); CSP = FindObjectOfType <CommonSceneParams>(); //myDamagable.currentHealth = CSP.pIH; //myDamagable.currentShield = CSP.pIS; myDamagable.myObject = gameObject; playerCamera.transform.localPosition = cameraGamePosition; cameraShipDist = Vector3.Distance(playerCamera.transform.localPosition, shipObject.transform.localPosition); cameraMoveAlong = new Vector3(0.0f, 12.0f, -36.0f); cameraMoveAlong.Normalize(); subtimer = 0.0f; vortexDeltaTime = 0.01f; //playerCamera.GetComponent<Animator>().enabled = false; }
void Start() { CPCS = FindObjectOfType <ControlPanelCanvasScript>(); }
public void EndGame(string msg) { ControlPanelCanvasScript cpcs = FindObjectOfType <ControlPanelCanvasScript>(); cpcs.ShowEndMessage(msg); }