protected override BaseSquad[] CreateSquads() { BaseSquad[] result = new BaseSquad[base.countSquads]; int midIndex = base.countSquads / 2; for (int i = 0; i < base.countSquads; i++) { int rand = Random.Range(0, base.enemyShipPrefabs.Length); if (i < midIndex) { result[i] = new SquadLine ( base.enemyShipPrefabs[rand], base.startPosition, base.shipOffset, base.countShipsInSquad ); } else { result[i] = new SquadWedge ( base.enemyShipPrefabs[rand], new Vector2(base.startPosition.x, base.startPosition.y), base.shipOffset, base.countShipsInSquad ); } base.startPosition.y -= base.shipOffset; } return(result); }
private void OnSquadDie(BaseSquad squad) { if (_enable) { squad.Dispose(); Squads.Remove(squad); if (Squads.Count == 0) { ManagerProvider.EventManager.FormationDieEvent.OnEvent(); } } }
protected override BaseSquad[] CreateSquads() { BaseSquad[] result = new BaseSquad[base.countSquads]; for (int i = 0; i < base.countSquads; i++) { int rand = Random.Range(0, base.enemyShipPrefabs.Length); result[i] = new SquadChess ( base.enemyShipPrefabs[rand], new Vector2(base.startPosition.x, base.startPosition.y), base.shipOffset, base.countShipsInSquad ); base.startPosition.y -= base.squadOffset; } return(result); }