Exemple #1
0
    // 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();
        }
    }