Пример #1
0
    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);
    }
Пример #2
0
    public AIDriver(ShipTeam team)
        : base(team)
    {
        BattleBehaviour.AddEvent(() => { behaviours = team.behaviours; _behaviourWeights = new float[behaviours.Length]; });

        enemies = new FastList <ShipController>(firePoints.maxPoints);
    }
Пример #3
0
 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);
 }
Пример #4
0
 public KillNEnemiesGoal(int need, ShipTeam enemyTeam)
 {
     this.enemyTeam = enemyTeam;
     this.need      = need;
 }
Пример #5
0
 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());
 }
Пример #6
0
 public PlayerDriver(ShipTeam team)
     : base(team)
 {
 }
Пример #7
0
 public FriendEnemyList(ShipTeam team, List <ShipController> friends, List <ShipController> enemies)
 {
     this.team    = team;
     this.friends = friends;
     this.enemies = enemies;
 }
Пример #8
0
 public StationInitializerModel(ShipTeam team)
 {
     this.team = team;
 }