/// <summary> /// 从目标卡选取n张进行操作 /// </summary> /// <param name="targetcard"></param> /// <param name="num"></param> /// <param name="gameEvent"></param> public void SelectCard(TargetCard targetcard, int num, int gameEvent) { List <DuelCard> targetlist = duel.GetTargetCard(targetcard); if (precheck) { if (targetlist.Count == 0) { activatable = false; } if (gameEvent == GameEvent.specialsummon) { if (!duel.SpecialSummonCheck()) { activatable = false; } } return; } EventData eData = new EventData { oplayer = duelData.opWho, gameEvent = GameEvent.selectcard, data = new Dictionary <string, object> { { "targetlist", targetlist }, { "num", num }, { "gameEvent", gameEvent }, } }; duelData.eventDate.Add(eData); }
static int SetPosition(IntPtr L) { try { ToLua.CheckArgsCount(L, 2); TargetCard obj = (TargetCard)ToLua.CheckObject <TargetCard>(L, 1); int arg0 = (int)LuaDLL.luaL_checknumber(L, 2); obj.SetPosition(arg0); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int get_side(IntPtr L) { object o = null; try { o = ToLua.ToObject(L, 1); TargetCard obj = (TargetCard)o; int ret = obj.side; LuaDLL.lua_pushinteger(L, ret); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e, o, "attempt to index side on a nil value")); } }
static int set_target(IntPtr L) { object o = null; try { o = ToLua.ToObject(L, 1); TargetCard obj = (TargetCard)o; System.Collections.Generic.Dictionary <int, System.Collections.Generic.List <object> > arg0 = (System.Collections.Generic.Dictionary <int, System.Collections.Generic.List <object> >)ToLua.CheckObject(L, 2, typeof(System.Collections.Generic.Dictionary <int, System.Collections.Generic.List <object> >)); obj.target = arg0; return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e, o, "attempt to index target on a nil value")); } }
static int set_side(IntPtr L) { object o = null; try { o = ToLua.ToObject(L, 1); TargetCard obj = (TargetCard)o; int arg0 = (int)LuaDLL.luaL_checknumber(L, 2); obj.side = arg0; return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e, o, "attempt to index side on a nil value")); } }
static int get_target(IntPtr L) { object o = null; try { o = ToLua.ToObject(L, 1); TargetCard obj = (TargetCard)o; System.Collections.Generic.Dictionary <int, System.Collections.Generic.List <object> > ret = obj.target; ToLua.PushSealed(L, ret); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e, o, "attempt to index target on a nil value")); } }
static int SelectCard(IntPtr L) { try { ToLua.CheckArgsCount(L, 4); DuelEvent obj = (DuelEvent)ToLua.CheckObject <DuelEvent>(L, 1); TargetCard arg0 = (TargetCard)ToLua.CheckObject <TargetCard>(L, 2); int arg1 = (int)LuaDLL.luaL_checknumber(L, 3); int arg2 = (int)LuaDLL.luaL_checknumber(L, 4); obj.SelectCard(arg0, arg1, arg2); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int _CreateTargetCard(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 0) { TargetCard obj = new TargetCard(); ToLua.PushObject(L, obj); return(1); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to ctor method: TargetCard.New")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
public override bool choose(Outcome value1, Cards value2, TargetCard value3, Game value4) { Debug.Log("Player - choose"); return(false); }
public override bool chooseTarget(Outcome value1, Cards value2, TargetCard value3, Ability value4, Game value5) { Debug.Log("Player - chooseTarget"); return(false); }
public void ProcessEffect(ActiveGame game) { switch (EffectType) { case EffectTypes.CombineHandAndGraveyardToLibrary: if (TargetPlayer != null) { TargetPlayer.CombineToLibrary(true, true); } break; case EffectTypes.CombineGraveyardToLibrary: if (TargetPlayer != null) { TargetPlayer.CombineToLibrary(false, true); } break; case EffectTypes.CombineHandToLibrary: if (TargetPlayer != null) { TargetPlayer.CombineToLibrary(true, false); } break; case EffectTypes.Damage: if (TargetPlayer != null) { TargetPlayer.AddDamage(game, Value, OriginCard); } else if (TargetCard != null) { TargetCard.AddDamage(game, Value, OriginCard); } break; case EffectTypes.Destroy: if (TargetCard != null) { Player player = game.Players.First(o => o.Id == TargetCard.ControllerId); player.Battlefield.Remove(TargetCard, TargetZone.Graveyard); } break; case EffectTypes.DiscardCard: if (TargetPlayer != null && TargetCard != null) { TargetPlayer.Hand.Remove(TargetCard, TargetZone.Graveyard); } break; case EffectTypes.DrawCard: if (TargetPlayer != null) { TargetPlayer.Library.Draw(Value); } break; case EffectTypes.PlaceCardInLibrary_Bottom: if (TargetPlayer != null && TargetCard != null) { TargetPlayer.Library.Insert(TargetCard, InsertLocation.Bottom); } break; case EffectTypes.PlaceCardInLibrary_Top: if (TargetPlayer != null && TargetCard != null) { TargetPlayer.Library.Insert(TargetCard, InsertLocation.Top); } break; case EffectTypes.ShuffleLibrary: if (TargetPlayer != null) { TargetPlayer.Library.Shuffle(); } break; case EffectTypes.TopCardOfLibraryFaceUp: if (TargetPlayer != null) { TargetPlayer.Library.ShowTopCard = Boolean; } break; case EffectTypes.RemoveFromGame: if (TargetCard != null) { Player player = game.Players.First(o => o.Id == TargetCard.ControllerId); player.Battlefield.Remove(TargetCard, TargetZone.None); player.Graveyard.Remove(TargetCard, TargetZone.None); player.Hand.Remove(TargetCard, TargetZone.None); } break; case EffectTypes.Exile: if (TargetCard != null) { Player player = game.Players.First(o => o.Id == TargetCard.ControllerId); player.Battlefield.Remove(TargetCard, TargetZone.None); game.Stack.Remove(TargetCard, TargetZone.None); } break; } throw new NotImplementedException("Effect.ProcessEffect"); }