示例#1
0
    private List <SwarmGroup> instantiateSwarmGroups()
    {
        //create pre-defined, designed groups of swarms to spawn
        List <SwarmGroup> groupsToReturn = new List <SwarmGroup>();
        List <Swarm>      currentSwarms;
        SwarmGroup        currentSwarmGroup;

        #region Fighters circling frigate
        currentSwarms = new List <Swarm>();

        Swarm fightersCircling_frigate  = Swarm.GenerateSwarmWithShape(shipType.frigate, 1, 6, 0, 0, swarmTargetType.straightAhead, swarmActionShape.figureEight);
        Swarm fightersCircling_fighters = Swarm.GenerateSwarmWithShape(shipType.fighter, 20, 8, 1, 0.1f, swarmTargetType.atPlayer, swarmActionShape.circle).ChildSwarm();
        fightersCircling_frigate.childSwarm = fightersCircling_fighters;

        currentSwarms.Add(fightersCircling_frigate);

        currentSwarmGroup = new SwarmGroup(currentSwarms, "fighters circling frigate");
        groupsToReturn.Add(currentSwarmGroup);
        #endregion

        #region Fighters Double Laces
        currentSwarms = new List <Swarm>();

        currentSwarms.Add(Swarm.GenerateSwarmWithShape(shipType.fighter, 30, 6, 0.2f, 0.2f, swarmTargetType.straightAhead, swarmActionShape.laces));
        currentSwarms.Add(Swarm.GenerateSwarmWithShape(shipType.fighter, 30, 6, 0.2f, 0.2f, swarmTargetType.straightAhead, swarmActionShape.laces).MirrorOverX());

        currentSwarmGroup = new SwarmGroup(currentSwarms, "fighters double laces");
        groupsToReturn.Add(currentSwarmGroup);
        #endregion

        #region Fighters Double Steps

        /*
         * currentSwarms = new List<Swarm>();
         * currentSwarms.Add(Swarm.GenerateSwarmWithShape (shipType.fighter,20,8,1,0.1f,swarmTargetType.atPlayer,swarmActionShape.laces));
         * currentSwarms.Add(Swarm.GenerateSwarmWithShape (shipType.fighter,20,8,1,0.1f,swarmTargetType.atPlayer,swarmActionShape.laces).MirrorOverX());
         *
         * currentSwarmGroup = new SwarmGroup (currentSwarms,"fighters double steps");
         * groupsToReturn.Add (currentSwarmGroup);
         */
        #endregion

        #region Fighters Circling Frigates ArcSwoop
        currentSwarms = new List <Swarm>();

        Swarm FightersCirclingFrigatesArcswoop_frigate  = Swarm.GenerateSwarmWithShape(shipType.frigate, 1, 6, 0, 0, swarmTargetType.straightAhead, swarmActionShape.arcswoop);
        Swarm FightersCirclingFrigatesArcswoop_fighters = Swarm.GenerateSwarmWithShape(shipType.fighter, 20, 8, 1, 0.1f, swarmTargetType.atPlayer, swarmActionShape.circle).ChildSwarm();
        FightersCirclingFrigatesArcswoop_frigate.childSwarm = FightersCirclingFrigatesArcswoop_fighters;

        currentSwarms.Add(FightersCirclingFrigatesArcswoop_frigate);

        Swarm FightersCirclingFrigatesArcswoop_frigate2  = Swarm.GenerateSwarmWithShape(shipType.frigate, 1, 6, 0, 0, swarmTargetType.straightAhead, swarmActionShape.arcswoop).MirrorOverX();
        Swarm FightersCirclingFrigatesArcswoop_fighters2 = Swarm.GenerateSwarmWithShape(shipType.fighter, 20, 8, 1, 0.1f, swarmTargetType.atPlayer, swarmActionShape.circle).ChildSwarm();
        FightersCirclingFrigatesArcswoop_frigate2.childSwarm = FightersCirclingFrigatesArcswoop_fighters2;

        currentSwarms.Add(FightersCirclingFrigatesArcswoop_frigate2);

        currentSwarmGroup = new SwarmGroup(currentSwarms, "Fighters Circling Frigates ArcSwoop");
        groupsToReturn.Add(currentSwarmGroup);
        #endregion

        return(groupsToReturn);
    }