public override ISimpleTask Clone() { var clone = new QuestRewardTask(Card); clone.Copy(this); return(clone); }
public override TaskState Process() { var source = Source as Spell; if (source == null) { return(TaskState.STOP); } source.QuestProgress++; Game.Log(LogLevel.INFO, BlockType.PLAY, "QuestProgressTask", !Game.Logging? "":$"{Controller} {source}'s Quest {source.QuestProgress} / {source.QuestTotalProgress} progress!"); if (source.QuestProgress == source.QuestTotalProgress) { var task = new QuestRewardTask(_questRewardId); task.Game = Game; task.Controller = Controller; task.Source = Source; task.Target = null; Game.TaskQueue.EnqueueBase(task); } return(TaskState.COMPLETE); }