// Update is called once per frame void Update() { if (player == null) { player = transform.GetComponentInParent <Player>(); if (player == null) { return; } } transform.Rotate(Vector3.forward * Time.deltaTime * -player.Actions.MoveAim * aimspeed); shield_timer -= Time.deltaTime; if (player.Actions.XButton.WasPressed && shield_timer <= 0) { //value 0 to 1 GameObject shield_instance = Instantiate(shield, new Vector3(transform.position.x + (transform.rotation.z - .7f) * -4.5f, transform.position.y + 1.25f, transform.position.z), transform.rotation) as GameObject; shield_timer = shield_cooldown; shieldCooldownDisplay.fillAmount = 1; mm.AddToMetric3(1); } }