public Enemy(Level level, SceneGraphNode node, Vector3 relativeStartPos, Bullet.Factory createBullet) { Node = node; node.AssociatedObject = this; this.level = level; this.createBullet = createBullet; player = level.LocalPlayer; bodyNode = Node.CreateChild(); bodyNode.Relative = Matrix.Scaling(2, 2, 2) * Matrix.RotationZ(-(float)Math.PI * 0.05f); var bodyEnt = level.CreateEntityNode(bodyNode.CreateChild()); bodyEnt.Mesh = TW.Assets.LoadMesh("Scattered\\Models\\EnemyRobotParts\\Body"); sightNode = bodyNode.CreateChild(); sightEnt = level.CreateEntityNode(sightNode.CreateChild()); sightEnt.Mesh = TW.Assets.LoadMesh("Scattered\\Models\\EnemyRobotParts\\Sight_red"); tailNode = bodyNode.CreateChild(); tailNode.Relative = Matrix.Translation(new Vector3(0, -0.05f, 0)); tailEnt = level.CreateEntityNode(tailNode.CreateChild()); tailEnt.Mesh = TW.Assets.LoadMesh("Scattered\\Models\\EnemyRobotParts\\Tail"); propellorAxesNode = bodyNode.CreateChild(); propellorAxesNode.Relative = Matrix.Translation(new Vector3(-0.02f, -0.05f, 0)); var axesEnt = level.CreateEntityNode(propellorAxesNode.CreateChild()); axesEnt.Mesh = TW.Assets.LoadMesh("Scattered\\Models\\EnemyRobotParts\\PropellorAxes"); propellorLeftNode = propellorAxesNode.CreateChild(); propellorLeftNode.Relative = Matrix.Translation(new Vector3(-0.02f, 0.212f, 0.585f)); propLeftEnt = level.CreateEntityNode(propellorLeftNode.CreateChild()); propLeftEnt.Mesh = TW.Assets.LoadMesh("Scattered\\Models\\EnemyRobotParts\\Propellor"); propellorRightNode = propellorAxesNode.CreateChild(); propellorRightNode.Relative = Matrix.Translation(new Vector3(-0.02f, 0.212f, -0.585f)); propRightEnt = level.CreateEntityNode(propellorRightNode.CreateChild()); propRightEnt.Mesh = TW.Assets.LoadMesh("Scattered\\Models\\EnemyRobotParts\\Propellor"); Node.Relative = Matrix.Translation(relativeStartPos + new Vector3(0, idleHeight, 0)); currentHeight = idleHeight; Vector3 s; Quaternion r; Node.Absolute.Decompose(out s, out r, out currentPos); currentRotation = new Vector3(); newPos = currentPos; newRotation = currentRotation; startLocation = currentPos + new Vector3(0, patrolHeight - idleHeight, 0); LocalBoundingBox = new Vector3(2, 2, 2).CenteredBoundingbox(); level.AddBehaviour(node, update); }
public PlayerShootHandler(PlayerInputState inputState, Bullet.Factory bulletFactory, Settings settings, Player player, AudioPlayer audioPlayer) { _audioPlayer = audioPlayer; _player = player; _settings = settings; _bulletFactory = bulletFactory; _inputState = inputState; }
public TowerShooting(Tower tower, Bullet.Factory factory) { _tower = tower; _bulletFactory = factory; TowerShootingState = ShootingState.NoTarget; _shootCD = _tower.TowerParameters.AttackDelay; }
public ShootHandler( Transform transform, Settings settings, Bullet.Factory bulletFactory) { this.bulletFactory = bulletFactory; this.settings = settings; this.transform = transform; throttledShoot = ThrottledFunction.ThrottleByRate(DoShoot, this.settings.fireRate); }
public PlayerShootHandler( PlayerInputState inputState, Bullet.Factory bulletFactory, Settings settings, PlayerModel player) { _player = player; _settings = settings; _bulletFactory = bulletFactory; _inputState = inputState; }
public Weapon(WeaponCharger weaponCharger, PlayerState playerState, Bullet.Factory bulletFactory, Settings weaponSettings, Transform weaponTransform, SignalBus bus) { this.weaponCharger = weaponCharger; this.playerState = playerState; this.bulletFactory = bulletFactory; this.weaponSettings = weaponSettings; this.weaponTransform = weaponTransform; this.bulletSpeed = this.weaponSettings.BulletSpeed; bus.Subscribe <PlayerState.SpeedChanged>(this.OnPlayerSpeedChanged); }
public ShootHandler( Transform transform, Rigidbody2D rigidbody, Bullet.Factory bulletFactory, Settings settings) { this.transform = transform; this.rigidbody = rigidbody; this.bulletFactory = bulletFactory; this.settings = settings; throttledShoot = ThrottledFunction.ThrottleByRate(DoShoot, settings.fireRate); }
public void Construct(Vector3 position, TowerData towerData, CreepsManager creepsManager, Bullet.Factory bulletFactory) { TowerData = towerData; TowerParameters = new TowerParameters(TowerData); _towerVisual = new TowerVisual(this, TowerData); _towerTargeting = new TowerTargeting(this, creepsManager); _towerShooting = new TowerShooting(this, bulletFactory); gameObject.transform.position = position; _towerVisual.SetupVisual(); }
public EnemyStateAttack( Bullet.Factory bulletFactory, EnemyModel model, Settings settings, PlayerFacade player, EnemyStateManager stateManager, EnemyTunables tunables) { _tunables = tunables; _stateManager = stateManager; _player = player; _settings = settings; _model = model; _bulletFactory = bulletFactory; _strafeRight = Random.Range(0.0f, 1.0f) < 0.5f; }
public EnemyStateAttack( Bullet.Factory bulletFactory, EnemyModel model, Settings settings, PlayerFacade player, EnemyStateManager stateManager, EnemyTunables tunables) { _tunables = tunables; _stateManager = stateManager; _player = player; _settings = settings; _model = model; _bulletFactory = bulletFactory; _strafeRight = Random.Range(0.0f, 1.0f) < 0.5f; }
public EnemyStateAttack( Bullet.Factory bulletFactory, EnemyView view, Settings settings, PlayerFacade player, EnemyStateManager stateManager, EnemyTunables tunables, AudioPlayer audioPlayer, EnemyCommonSettings commonSettings, EnemyRotationHandler rotationHandler) { _rotationHandler = rotationHandler; _commonSettings = commonSettings; _audioPlayer = audioPlayer; _tunables = tunables; _stateManager = stateManager; _player = player; _settings = settings; _view = view; _bulletFactory = bulletFactory; _strafeRight = Random.Range(0.0f, 1.0f) < 0.5f; }