public void Initialize(Vector3 asteroidStartingForce, BaseGameObjectSpawner spawner, BaseCamera camera) { if (asteroidStartingForce != Vector3.zero) { Rigidbody.AddForce(asteroidStartingForce * AsteroidModel.StartSpeed); } Hittable.OnHit += OnHit; ScreenWrapper.Initialize(camera); Destructable.Initialize(spawner); }
public void Initialize(ShipModel shipModel, BaseGameObjectSpawner spawner, BaseCamera camera) { OnShipDestruction = null; _camera = camera; _mainThruster.Initialize(shipModel.MainThrusterStrength, Rigidbody); _leftThruster.Initialize(shipModel.SideThrusterStrength, Rigidbody); _rightThruster.Initialize(shipModel.SideThrusterStrength, Rigidbody); _gun.Initialize(shipModel.FireRate, spawner, camera); ScreenWrapper.Initialize(camera); }
public void Initialize(ShipController playerShip, Observable <int> score, BaseGameObjectSpawner spawner, BaseCamera camera) { _playerShip = playerShip; _score = score; Gun.Initialize(SaucerModel.FireRate, spawner, camera); ScreenWrapper.Initialize(camera); Destructable.Initialize(spawner); Hittable.OnHit += DestroyOnHit; Thruster.Initialize(SaucerModel.MoveSpeed, Rigidbody); Thruster.StartThruster(); }
public void Initialize(BaseGameObjectSpawner spawner, BaseCamera camera, int layer) { Destructable.Initialize(spawner); ScreenWrapper.Initialize(camera); Rigidbody.AddForce(transform.forward * ShotModel.Speed, ForceMode.Impulse); Expirable.OnExpired += OnExpired; foreach (var collider in GetComponentsInChildren <Collider>()) { collider.gameObject.layer = layer; } }