public void AssignNewDialogue(DialogueInfo info) { DialogueOption dialogue = DialogueService.GetInstance().GetDialogue(info); IChattable npc = EntityService.GetInstance().GetNpcById(info.NpcId); npc.AddDialogue(dialogue); hasChanged = true; }
public void Update(GameTime gameTime) { while (selectedDialogues.Count > 0) { DialogueInfo info = selectedDialogues.Dequeue(); DialogueOption dialogue = DialogueService.GetInstance().GetDialogue(info); dialogue.Update(gameTime); hasChanged = true; if (DialogueSelected != null) { DialogueSelected(info, null); } } }
public void Update(GameTime gameTime) { if (chattable != null) { chattable.RemoveDialogue(this); foreach (DialogueInfo info in successorInfo) { DialogueOption option = DialogueService.GetInstance().GetDialogue(info); IChattable npc = EntityService.GetInstance().GetNpcById(info.NpcId); npc.AddDialogue(option); } } if (Selected != null) { Selected(dialogueInfo, null); } if (ProccessAdditionalData != null && additionalData != null) { ProccessAdditionalData(additionalData, null); } }
static DialogueService() { instance = new DialogueService(); }