コード例 #1
0
ファイル: CardBase.cs プロジェクト: TPDT/TPDT.LogicGraph
 protected CardBase(int id,CardDefinition card, PlayerBase owner)
 {
     this.Id = id;
     Name = card.DefaultDescription;
     Owner = owner;
     Description = card.DefaultDescription;
     Used = false;
 }
コード例 #2
0
ファイル: Game.cs プロジェクト: TPDT/TPDT.LogicGraph
        protected virtual void AddArmy(Type type, NodeBase node, PlayerBase player)
        {
            if (type == null && !type.IsSubclassOf(typeof(ArmyBase)))
                throw new ArgumentNullException("type");

            ArmyBase newarmy = Activator.CreateInstance(type, armyNext++, node, player) as ArmyBase;
            player.Armys.Add(newarmy.Id, newarmy);
            this.ArmyList.Add(newarmy.Id, newarmy);
        }
コード例 #3
0
ファイル: Game.cs プロジェクト: TPDT/TPDT.LogicGraph
 public Game(Map map, PlayerBase[] players)
 {
     if (map == null)
         throw new ArgumentNullException("map");
     if (players == null)
         throw new ArgumentNullException("players");
     Map = map;
     PlayerList = players;
     ArmyList = new Dictionary<int, ArmyBase>();
 }
コード例 #4
0
ファイル: ArmyBase.cs プロジェクト: TPDT/TPDT.LogicGraph
 protected ArmyBase(int id, ArmyDefinition army,NodeBase position, PlayerBase owner)
 {
     Id = id;
     Owner = owner;
     Position = position;
     Name = army.DefaultName;
     Attack = army.DefaultAttack;
     Move = army.DefaultMove;
     Description = army.DefaultDescription;
     Definition = army;
 }
コード例 #5
0
ファイル: ArmyBase.cs プロジェクト: TPDT/TPDT.LogicGraph
        public static ArmyBase CreateArmy(ArmyDefinition armyDefinition, NodeBase position, PlayerBase owner)
        {
            ArmyBase army;

            army = ResourceManager.CurrentResouceManager.LoadedArmys[armyDefinition.EntityType].InvokeMember(
                null,
                System.Reflection.BindingFlags.CreateInstance,
                null,
                null,
                new object[] { index++, armyDefinition, position, owner }
                ) as ArmyBase;

            return army;
        }
コード例 #6
0
ファイル: CardBase.cs プロジェクト: TPDT/TPDT.LogicGraph
        public static CardBase CreateCard(CardDefinition cardDefinition, PlayerBase owner)
        {
            CardBase card;

            card = ResourceManager.CurrentResouceManager.LoadedNodes[cardDefinition.EntityType].InvokeMember(
                null,
                System.Reflection.BindingFlags.CreateInstance,
                null,
                null,
                new object[] { index++, cardDefinition, owner }
                ) as CardBase;

            return card;
        }
コード例 #7
0
ファイル: Game.cs プロジェクト: TPDT/TPDT.LogicGraph
 public virtual bool Start(PlayerBase firstPlayer, Type[] defaultArmies)
 {
     if (Map == null || PlayerList == null || ArmyList == null)
     {
         return false;
     }
     SetCurrentPlayer(firstPlayer);
     armyNext = 1;
     foreach (var pr in PlayerList)
     {
         foreach (var da in defaultArmies)
         {
             AddArmy(da, this.GetArmyNode(pr, da), pr);
         }
     }
     return true;
 }
コード例 #8
0
ファイル: Game.cs プロジェクト: TPDT/TPDT.LogicGraph
 protected virtual void SetCurrentPlayer(PlayerBase player)
 {
     if (player == null)
         throw new ArgumentNullException("player");
     CurrentPlayer = player;
 }
コード例 #9
0
ファイル: Spirit.cs プロジェクト: TPDT/TPDT.LogicGraph
 public Spirit(int id, CardDefinition card, PlayerBase owner)
     : base(id, card, owner)
 {
     AttackIncrement = Convert.ToInt32(card.Tags["AttackIncrement"]);
     Span = Convert.ToInt32(card.Tags["Span"]);
 }
コード例 #10
0
ファイル: Soilder.cs プロジェクト: TPDT/TPDT.LogicGraph
 public Soilder(int id, ArmyDefinition army, NodeBase position, PlayerBase owner) :
     base(id, army, position, owner)
 {
 }