private void gameStateUpdateHelper(InteractionTreeNode node)
{
if ((node.eventType & Events.Quest) > 0)
{
Quest.addQuestState(node.questID, node.questState);
}
if ((node.eventType & Events.Reputation) > 0)
{
Hero.instance.shiftReputation(node.repClique, node.repChange);
}
if ((node.eventType & Events.Inventory) > 0)
{
if (node.itemChange > 0)
Hero.instance.inventory.addItem(node.item, node.itemChange);
else
Hero.instance.inventory.removeItem(node.item, -1 * node.itemChange);
}
if ((node.eventType & Events.Special) > 0)
{
DialogueEventParser.parseEvent(node.specialEvent);
}
if ((node.eventType & Events.End) > 0 || (node.eventType & Events.NextLine) == 0)
{
end = true;
}
if ((node.eventType & Events.NextLine) > 0)
{
current = interaction.dialogue.ElementAtOrDefault(node.nextLine - 1) ?? defaultNode;
}
}