Exemple #1
0
 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();
 }
Exemple #2
0
        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);
        }
Exemple #3
0
        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;
            }
        }
Exemple #4
0
 public void SetRocketType(RocketType nextRocketType)
 {
     _currentRocketSettings = _rocketSettingsList.Find(rocket => rocket.rocketType == nextRocketType);
 }