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);
        }
Exemplo n.º 2
0
        private void OnSquadDie(BaseSquad squad)
        {
            if (_enable)
            {
                squad.Dispose();
                Squads.Remove(squad);

                if (Squads.Count == 0)
                {
                    ManagerProvider.EventManager.FormationDieEvent.OnEvent();
                }
            }
        }
Exemplo n.º 3
0
        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);
        }