I am a little confused on creating new Predicates. Let say for example, an ObjectiveComplete predicate… would the switch statement on QuestList, look something like this?
switch(predicate)
{
case "HasQuest":
return HasQuest(Quest.GetByName(parameters[0]));
case "CompletedQuest":
return GetQuestStatus(Quest.GetByName(parameters[0])).IsComplete();
case "ObjectiveComplete":
return GetQuestStatus(Quest.GetByName(parameters[0])).IsObjectiveComplete(parameters[1]);
}
return null;
I can seem to get this to return a parameter for the Objective, it comes back null, and wont continue from the root dialogue node to the Choice node.