void Construct(RocketViewController.Factory rocketFactory, Hud.Factory hudFactory, List <SettingsSO.RocketSettings> rocketSettingList, SettingsSO.GameSettings gameSettings ) { _rocketFactory = rocketFactory; _hudFactory = hudFactory; _rocketSettingsList = rocketSettingList; _currentRocketSettings = rocketSettingList[0]; _gameSettings = gameSettings; ConfigureUpdatePosition(); }
public void OnSpawned(PlanetModel model, IMemoryPool pool) { _planetModel = model; _pool = pool; _currentAngleToSun = model.CurrentAngleToSun; transform.localScale = new Vector3(model.Settings.planetScale, model.Settings.planetScale, model.Settings.planetScale); _currentHud = _hudFactory.Create(); _currentRocketSettings = _rocketSettingsList[0]; _isDead = false; _planetModel.SetNickname(model.Nickname); GetComponent <MeshRenderer>().material.color = model.Color; if (string.IsNullOrEmpty(model.Nickname)) { _planetModel.SetNickname(NickGenerator.GetRandomNickname()); } _currentHud.Configure(_planetModel.Nickname, model.IsPlayer, _gameSettings.initialPlanetHP, model.Hp); }
public void Configure(RocketModel model) { rocketModel = model; transform.position = new Vector3(rocketModel.PosX, rocketModel.PosY); transform.rotation = Quaternion.Euler(0, 0, rocketModel.RotationZ); _currentSettings = _rocketSettings.Find(setting => setting.rocketType == rocketModel.RocketType); _rigidbody2D.rotation = 0; _rigidbody2D.velocity = transform.up * rocketModel.Velocity; switch (rocketModel.RocketType) { case RocketType.Normal: ChangeColor(Color.grey); break; case RocketType.Fast: ChangeColor(Color.yellow); break; case RocketType.Deadly: ChangeColor(Color.red); break; } }
public void SetRocketType(RocketType nextRocketType) { _currentRocketSettings = _rocketSettingsList.Find(rocket => rocket.rocketType == nextRocketType); }