public void SetBattle(Vector3 battleCenter, IEnumerable <ShipController> ships, IEnumerable <ShipTeam> teams, IEnumerable <IBattleUpdater> updaters) { this.battleCenter = battleCenter; ShipTeam.SetGoals(teams); this.teams = teams.ToList(); area = new BattleArea(448000, 3500, ShipOutOfBoundsAreaEvent); // x7 bit // new BattleArea(224000, 3500); // x6 bit running = true; paused = false; time = Time.time; this.updaters = updaters.ToArray(); addShipAbles = new IAddShipAble[] { area }.Concat(updaters.Select(u => u as IAddShipAble).Where(u => u != null)).ToArray(); removeShipAbles = new IRemoveShipAble[] { }.Concat(updaters.Select(u => u as IRemoveShipAble).Where(u => u != null)).ToArray(); destroyShipAbles = new IDestroyShipAble[] { area }.Concat(updaters.Select(u => u as IDestroyShipAble).Where(u => u != null)).ToArray(); foreach (var s in ships) { foreach (var u in addShipAbles) { u.AddShip(s); } } audioPlayer = (AudioPlayer)Instantiate(Resources.Load <AudioPlayer>(@"Prefabs\AudioPlayer"), transform.position, transform.rotation, transform); }
public AIDriver(ShipTeam team) : base(team) { BattleBehaviour.AddEvent(() => { behaviours = team.behaviours; _behaviourWeights = new float[behaviours.Length]; }); enemies = new FastList <ShipController>(firePoints.maxPoints); }
public ShipDriver(ShipTeam team) { bFire = false; bRotate = false; moveDirection = Quaternion.identity; enemiesAround = new List <ShipController>(); friendsAround = new List <ShipController>(); shipsAround = new FriendEnemyList(team, friendsAround, enemiesAround); this.shipTeam = team; firePoints = new FirePoints(max_fire_points, this); }
public KillNEnemiesGoal(int need, ShipTeam enemyTeam) { this.enemyTeam = enemyTeam; this.need = need; }
public static ShipDriver[] GenerateDrivers(ShipTeam team, int amount, int playerIndex = -1) { return(Enumerable.Range(0, amount).Select(i => i == playerIndex ? (ShipDriver) new PlayerDriver(team) : new AIDriver(team)).ToArray()); }
public PlayerDriver(ShipTeam team) : base(team) { }
public FriendEnemyList(ShipTeam team, List <ShipController> friends, List <ShipController> enemies) { this.team = team; this.friends = friends; this.enemies = enemies; }
public StationInitializerModel(ShipTeam team) { this.team = team; }