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; } }
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 }); }
public GameService(IPlayerParams playerParams, GameConfig config, Pause pause) { _pause = pause; _charParams = playerParams; _config = config; }