Example #1
0
        public MovementComponent(Rigidbody rigidbody, IPlayerParams playerParams, GameConfig config)
        {
            _rigidbody    = rigidbody;
            _playerParams = playerParams;
            _maxSpeedSqr  = config.MaxSpeed * config.MaxSpeed;
            var collider = rigidbody.GetComponent <Collider>();

            if (collider != null)
            {
                _height = collider.bounds.extents.y;
            }
        }
Example #2
0
        public void Setup(IPlayerParams playerParams, GameConfig config)
        {
            _playerParams = playerParams;
            var rb = GetComponent <Rigidbody>();

            _movement = new MovementComponent(rb, _playerParams, config);
            var lookParams = new LookComponentParams {
                CharacterTr = transform,
                CameraTr    = _cameraSpot,
                WeaponTrs   = new [] { _gun.transform }
            };

            _look = new LookComponent(lookParams);
            var gunParams = new GunParams {
                BulletParams = new BulletParams {
                    InitialForce = config.InitialBulletGunForce,
                    Damage       = config.BulletDamage
                }
            };

            _gun.Setup(gunParams);
            var bazookaParams = new BazookaParams {
                RocketParams = new RocketParams {
                    InitialForce    = config.InitialRocketForce,
                    ExplosionParams = new ExplosionParams {
                        ExplosionRadius   = config.RocketExplosionRadius,
                        ExplosionDuration = config.RocketExplosionDuration,
                        MaxDamage         = config.MaxRocketDamage,
                        MaxForcePower     = config.MaxForcePower
                    }
                }
            };

            _bazooka.Setup(bazookaParams);
            _shoot = new ShootComponent(new Weapon[] { _gun, _bazooka });
        }
Example #3
0
 public GameService(IPlayerParams playerParams, GameConfig config, Pause pause)
 {
     _pause      = pause;
     _charParams = playerParams;
     _config     = config;
 }