public override async Task Use(Game game, ChooseDirectionResponse response) { await UseCard.UseEventCard(game, response, this, (g, r) => { return(Task.CompletedTask); }); }
public override async Task DoEffect(Game game, ChooseDirectionResponse response, List <Player> unaffectedPlayers) { await UseCard.UseEventCard(game, response, this, (g, r) => { return(Task.CompletedTask); }); }
/// <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; }
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); }); }
public override async Task DoEffect(Game game, FreeUse useWay) { await UseCard.UseActionCard(game, useWay, this, (g, r) => { return(Task.CompletedTask); }); }
public override async Task DoEffect(Game game, FreeUse useWay) { await UseCard.UseActionCard(game, useWay, this, async (g, r) => { await game.ChangeSize(2, this); }); }
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 } }; }
/// <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); }
/// <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); }
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); } }
public override async Task DoEffect(Game game, ChooseDirectionResponse response, List <Player> unaffectedPlayers) { await UseCard.UseEventCard(game, response, this, effect); }
public override async Task Use(Game game, ChooseDirectionResponse response) { await UseCard.UseEventCard(game, response, this, effect); }
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); }; }