void OnTriggerStay2D(Collider2D collision) { GameObject checkCollision = collision.gameObject; LeftGun leftDock = checkCollision.GetComponent <LeftGun>(); RightGun rightDock = checkCollision.GetComponent <RightGun>(); if (leftDock != null) { //collision.gameObject.GetComponent<SpriteRenderer>().color = hoverColor; if (dockAttempt && !docked) { docked = true; transform.position = collision.transform.position; _body.velocity = new Vector2(0, 0); dockAttempt = false; currentGun = leftDock.curGun; } if (docked) { //collision.gameObject.GetComponent<SpriteRenderer>().color = dockedColor; transform.position = collision.transform.position; _body.velocity = new Vector2(0, 0); if (dockAttempt) { docked = false; transform.position = new Vector3(collision.transform.position.x + 0.2f, collision.transform.position.y, transform.position.z); } } } if (rightDock != null) { //collision.gameObject.GetComponent<SpriteRenderer>().color = hoverColor; if (dockAttempt && !docked) { docked = true; transform.position = collision.transform.position; _body.velocity = new Vector2(0, 0); dockAttempt = false; currentGun = rightDock.curGun; } if (docked) { //collision.gameObject.GetComponent<SpriteRenderer>().color = dockedColor; transform.position = collision.transform.position; _body.velocity = new Vector2(0, 0); if (dockAttempt) { docked = false; transform.position = new Vector3(collision.transform.position.x - 0.2f, collision.transform.position.y, transform.position.z); } } } }
//--------------------------------------------------------------------------HELPERS: private void CalculateArms() { if (LeftGunHP <= 0 && healingLeft) { LeftArmHPRegening.text = "Left Arm Repairing - " + (leftGunTimer - Time.time).ToString("F2"); if (Time.time >= leftGunTimer) { LeftArmHPRegening.text = "Left Arm Fully Functional"; LeftGunHP = leftGunInitialHP; } } if (RightGunHP <= 0 && healingRight) { RightArmHPRegening.text = "Right Arm Repairing - " + (rightGunTimer - Time.time).ToString("F2"); if (Time.time >= rightGunTimer) { RightArmHPRegening.text = "Right Arm Fully Functional"; RightGunHP = rightGunInitialHP; } } if (RightGunHP <= 0 && !healingRight) { RightGun.SetActive(false); rightGunTimer = Time.time + RightGunRegenTimer; cannonChange = false; healingRight = true; } else if (RightGunHP >= 0) { healingRight = false; RightGun.SetActive(true); } if (LeftGunHP <= 0 && !healingLeft) { LeftGun.SetActive(false); leftGunTimer = Time.time + LeftGunRegenTimer; cannonChange = true; healingLeft = true; } else if (LeftGunHP >= 0) { healingLeft = false; LeftGun.SetActive(true); } }