// Update is called once per frame void Update() { _ammo = Mathf.Clamp01(_ammo + ammoRegen * Time.deltaTime); if (Input.GetKey(KeyCode.Space) && Time.time > _lastShotTime + cooldown && _ammo > ammoCost) { _ammo -= ammoCost; _lastShotTime = Time.time; InitSpeedAndTorque speedAndTorque = TrashMan.spawn(projectile, transform.position, transform.rotation).GetComponent <InitSpeedAndTorque>(); speedAndTorque.Go(); } MessageKit <float> .post(MessageIds.AMMO_LEFT, _ammo); }
private void SpawnAsteroidPrefab(Vector3 position, float scale, Vector2 thrustRange, bool ghost) { GameObject asteroid = TrashMan.spawn(asteroidPrefab, position); AsteroidChildController asteroidChildController = asteroid.GetComponent <AsteroidChildController>(); InitSpeedAndTorque initSpeedAndTorque = asteroid.GetComponent <InitSpeedAndTorque>(); asteroidChildController.SetScale(scale); initSpeedAndTorque.ThrustRange = thrustRange; initSpeedAndTorque.Go(); if (ghost) { asteroidChildController.SpawnAsGhost(); } else { asteroidChildController.SpawnAsSolid(); } }