forked from aly/qstbak
55 lines
1.2 KiB
C#
55 lines
1.2 KiB
C#
using System.Collections.Generic;
|
|
using Questionable.Model;
|
|
using Questionable.Model.Questing;
|
|
|
|
namespace Questionable.Controller.Steps;
|
|
|
|
internal abstract class SimpleTaskFactory : ITaskFactory
|
|
{
|
|
public abstract ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step);
|
|
|
|
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
|
|
{
|
|
int num = 1047990270;
|
|
ITask task = default(ITask);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 1047990264;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 3:
|
|
num = 1047990265;
|
|
break;
|
|
case 5:
|
|
yield break;
|
|
case 2:
|
|
yield break;
|
|
case 4:
|
|
num = 1047990269;
|
|
break;
|
|
case 6:
|
|
task = CreateTask(quest, sequence, step);
|
|
num = ((task == null) ? 1047990269 : 1047990264);
|
|
break;
|
|
case 0:
|
|
yield return task;
|
|
num = 1047990265;
|
|
break;
|
|
case 1:
|
|
{
|
|
int num5;
|
|
num = ((num5 == 1) ? 1047990268 : 1047990266);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
IEnumerable<ITask> ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
|
|
{
|
|
//ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks
|
|
return this.CreateAllTasks(quest, sequence, step);
|
|
}
|
|
}
|