public void takeDamage(float percentTaken) { if (shieldBarManager.shieldActive) { shieldBarManager.changeBar(-percentTaken * shieldDamageMultiplier); hullBarManager.changeBar(-percentTaken * shieldDamageReduction); } else { hullBarManager.changeBar(-percentTaken); } }
private void OnTriggerStay(Collider other) { if (gameActivated == true) { rotateBar.transform.RotateAround(this.displayPanel.transform.position, new Vector3(0f, -0.43f, -1f), spinSpeed); } //If player1 or player 2 interacts if ((other.gameObject.name == "Player1" && Input.GetButton("Utility1")) || (other.gameObject.name == "Player2" && Input.GetButton("Utility2"))) { if (gameActivated == false) { //Initializing Game //INITIALIZE START STATE HERE this.displayPanel.SetActive(true); //Setting Starting Player this.gameActivated = true; this.currentPlayer = other.gameObject.name; //Positions panel in correct location if (currentPlayer == "Player2") { this.displayPanel.transform.localPosition = new Vector3(734.5284f, 0, 0); } else { this.displayPanel.transform.localPosition = new Vector3(-734.5284f, 0, 0); } } //Progresses game if player who initiated it interacts else if (currentPlayer == other.gameObject.name) { //Playing Game //ADD ON-INTERACT EFFECT HERE if (chargeBar.transform.localScale.y <= 150 && beginDecay == false) { chargeBar.transform.localScale = new Vector3(chargeBar.transform.localScale.x, chargeBar.transform.localScale.y + chargeRateMulitplier * Time.deltaTime, chargeBar.transform.localScale.z); } else { beginDecay = true; } //If held too long chargebar decreases to zero if (beginDecay) { if (chargeBar.transform.localScale.y - decayRateMultiplier * chargeRateMulitplier * Time.deltaTime > 0) { chargeBar.transform.localScale = new Vector3(chargeBar.transform.localScale.x, chargeBar.transform.localScale.y - decayRateMultiplier * chargeRateMulitplier * Time.deltaTime, chargeBar.transform.localScale.z); } else { chargeBar.transform.localScale = new Vector3(chargeBar.transform.localScale.x, 0, chargeBar.transform.localScale.z); } } } } else { //Lose charge or input charge beginDecay = false; var savedCharge = chargeBar.transform.localScale.y / 150; if (savedCharge > 0.1) { mainAudio.PlayOneShot(shieldChargingAudio); chargeBar.transform.localScale = new Vector3(chargeBar.transform.localScale.x, 0, chargeBar.transform.localScale.z); //Check if released near green diamond for bonus charge, else regular charge if (Mathf.Abs(rotateBar.transform.localRotation.z) < highChargeLeniency) { savedCharge = savedCharge * highChargeMaximum; mainAudio.PlayOneShot(bonusChargeAudio); } else { savedCharge = savedCharge * lowChargeMaximum; } shieldBarManager.changeBar(savedCharge); //SEND TO SUBSCRIBERS RESULT } } }