Exemplo n.º 1
0
        public override ISimpleTask Clone()
        {
            var clone = new QuestRewardTask(Card);

            clone.Copy(this);
            return(clone);
        }
Exemplo n.º 2
0
        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);
        }