Ejemplo n.º 1
0
        // --- Static Methods ---
        // Loads in the team
        public static Team load(string filename, GameExt game)
        {
            // Variables
            BinaryReader	reader=	new BinaryReader(File.OpenRead(filename));
            Team	team=	new Team(game, true);
            int	size;
            int	passiveSize=	0;

            team.money=	reader.ReadInt32();
            size=	reader.ReadInt32();
            for(int i= 0; i< size; i++)
            {
                team.units.add(
                    new Unit(
                        reader.ReadString(),
                        reader.ReadString(),
                        reader.ReadString(),
                        game,
                        game.registry.get<ProfessionRegistry>().get(reader.ReadChar()+""+reader.ReadChar()+""+reader.ReadChar()+""+reader.ReadChar())
                    )
                );
                team.units.items[i].statVariance=	new BaseStats(reader.ReadUInt64());
                team.units.items[i].setExp(reader.ReadInt32());
                passiveSize=	reader.ReadInt32();
                for(int k= 0; k< passiveSize; k++)
                {
                    team.units.items[i].assignPassive(
                        team.units.items[i].decryptPassive(reader.ReadChar()),
                        k
                    );
                }
            }

            return team;
        }
Ejemplo n.º 2
0
 // Adds the given team into the map, if it is an ai or not
 public void addTeam(Team team, bool isAI)
 {
     team.id=	teams.size;
     for(int i= 0; i< team.units.size; i++)
         team.units.items[i].isAI=	isAI;
     teams.add(team);
 }
Ejemplo n.º 3
0
 public void addTeam(Team team)
 {
     addTeam(team, false);
 }
Ejemplo n.º 4
0
        // Purchases a unit with the given profession using the tag
        public static Unit purchaseUnit(ref Team team, string tag, string nickname, GameExt game)
        {
            for(int i= 0; i< professions.size; i++)
            {
                if(professions[i].tag==	tag)
                    return professions[i].createItem(ref team, game, nickname);
            }

            return null;
        }
Ejemplo n.º 5
0
        // Initiates the states of the game
        protected override void initStates()
        {
            // Variables
            Team	team;

            try
            {
                if(File.Exists("player.team"))
                {
                    team=	Team.load("player.team", this);
                    team.isAI=	false;
                }
                else
                {
                    team=	new Team(this, false,
                        Unit.create("", this, registry.get<ProfessionRegistry>().get(Ballista.ID), 1),
                        Unit.create("", this, registry.get<ProfessionRegistry>().get(Soldier.ID), 1),
                        Unit.create("", this, registry.get<ProfessionRegistry>().get(Cardinal.ID), 1),
                        Unit.create("", this, registry.get<ProfessionRegistry>().get(Thug.ID), 1)
                    );
                    team.save("player.team");
                }
            }
            catch
            {
                team=	new Team(this, false,
                    Unit.create("", this, registry.get<ProfessionRegistry>().get(Ballista.ID), 1),
                    Unit.create("", this, registry.get<ProfessionRegistry>().get(Soldier.ID), 1),
                    Unit.create("", this, registry.get<ProfessionRegistry>().get(Cardinal.ID), 1),
                    Unit.create("", this, registry.get<ProfessionRegistry>().get(Thug.ID), 1)
                );
                team.save("player.team");
            }

            states.addState("gameplay", new GSGameplay());
            states.addState("main_menu", new GSMainMenu(ref team));

            states.startAtState("main_menu");
        }
Ejemplo n.º 6
0
 // --- Constructors ---
 public GSMainMenu(ref Team pmTeam)
 {
     team=	pmTeam;
 }