示例#1
0
 public override async Task Use(Game game, ChooseDirectionResponse response)
 {
     await UseCard.UseEventCard(game, response, this, (g, r) =>
     {
         return(Task.CompletedTask);
     });
 }
示例#2
0
 public override async Task DoEffect(Game game, ChooseDirectionResponse response, List <Player> unaffectedPlayers)
 {
     await UseCard.UseEventCard(game, response, this, (g, r) =>
     {
         return(Task.CompletedTask);
     });
 }
示例#3
0
 /// <summary>
 /// ライブラリの初期化
 /// </summary>
 public void InitializeLibrary(UseCard useCard)
 {
     //PC/SC接続を優先する
     if (PcscReader.CheckPcsc())
     {
         reader     = new PcscReader(this);
         Connection = ConnetKind.Pcsc;
     }
     else
     {
         //PC/SCが使えない場合
         if (useCard == (UseCard.Felica | UseCard.Mifare))
         {
             throw new PcscException(WinSCardError.SCARD_E_NOT_READY, null);
         }
         else if (useCard == UseCard.Mifare)
         {
             reader     = new NfcReader(this);
             Connection = ConnetKind.Nfc;
         }
         else
         {
             reader     = new FelicaReader(this);
             Connection = ConnetKind.Felica;
         }
     }
     reader.InitializeLibrary();
     this.useCard = useCard;
 }
示例#4
0
 public override async Task DoEffect(Game game, FreeUse useWay)
 {
     await UseCard.UseActionCard(game, useWay, this, async (g, r) =>
     {
         await game.GetPlayer(useWay.PlayerId).ChangeSize(game, 1, this, Owner);
     });
 }
示例#5
0
 public override async Task DoEffect(Game game, FreeUse useWay)
 {
     await UseCard.UseActionCard(game, useWay, this, (g, r) =>
     {
         return(Task.CompletedTask);
     });
 }
示例#6
0
 public override async Task DoEffect(Game game, FreeUse useWay)
 {
     await UseCard.UseActionCard(game, useWay, this, async (g, r) =>
     {
         await game.ChangeSize(2, this);
     });
 }
示例#7
0
 public EffectCard(string name, int starValue, string description, int turns, PlayCard playEffect, UseCard useEffect) : base(name, starValue, description, playEffect)
 {
     turns          = 0;
     this.useEffect = x =>
     {
         useEffect(x);
         turns--;
         if (turns <= 0)
         {
             // destroy effect
         }
     };
 }
示例#8
0
        /// <summary>
        /// 回复卡牌
        /// </summary>
        /// <returns></returns>
        public BaseCard getRecoverCard(int number)
        {
            UseCard cardEffect = (sender, args) =>
            {
                BaseRoleAction baseRole = (BaseRoleAction)sender;
                //TODO 让target受到伤害。反射判断target有没有受伤害都脚本
//                baseRole.attacked();的动画
                baseRole.SetHp(baseRole.GetHp() + number);
                return(new ReturnDTO(RETURN_CODE.SUCCESS));
            };
            PermanentCard card = new PermanentCard(2, "回复术", "", 1, 1, 1, false, null,
                                                   "没有什么是钱解决不了的问题", new UseCard[] { cardEffect });

            card.IsAvailable = true;
            return(card);
        }
示例#9
0
        /// <summary>
        /// 直伤卡牌
        /// </summary>
        /// <returns></returns>
        public BaseCard getDamangeCard(int number)
        {
            UseCard cardEffect = (sender, args) =>
            {
                List <BaseRoleAction> baseRoles = ((UseCardEventArgs)args).targets;
                var baseRole = baseRoles[0];
                //TODO 让target受到伤害。反射判断target有没有受伤害都脚本
                //                baseRole.attacked();的动画
                baseRole.SetHp(baseRole.GetHp() - number);
                return(new ReturnDTO(RETURN_CODE.SUCCESS));
            };
            PermanentCard card = new PermanentCard(1, "炫酷火球", "", 1, 1, 1, false, null,
                                                   "你不觉得火球作为demo很炫酷吗", new UseCard[] { cardEffect });

            card.IsAvailable = true;
            return(card);
        }
示例#10
0
        private void btInit_Click(object sender, EventArgs e)
        {
            try
            {
                UseCard useCard = UseCard.None;
                if (chkFelica.Checked)
                {
                    useCard |= UseCard.Felica;
                }
                if (chkMifare.Checked)
                {
                    useCard |= UseCard.Mifare;
                }

                nfclib.DisposeLibrary();
                nfclib.InitializeLibrary(useCard);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
示例#11
0
 public override async Task DoEffect(Game game, ChooseDirectionResponse response, List <Player> unaffectedPlayers)
 {
     await UseCard.UseEventCard(game, response, this, effect);
 }
示例#12
0
 public override async Task Use(Game game, ChooseDirectionResponse response)
 {
     await UseCard.UseEventCard(game, response, this, effect);
 }
示例#13
0
 public UnitCard(string name, int starValue, string description, int attack, int health, PlayCard playEffect, UseCard useEffect) : base(name, starValue, description, 0, playEffect, useEffect)
 {
     this.attack    = attack;
     this.health    = health;
     this.useEffect = x =>
     {
         useEffect(x);
     };
 }