public override bool Equals(object obj) { if (!(obj is DialogueOption)) { return(false); } DialogueOption option = (DialogueOption)obj; return(option.dialogueInfo.Equals(dialogueInfo)); }
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); } }
public void RemoveDialogue(DialogueOption option) { dialogues.Remove(option); }
public void AddDialogue(DialogueOption option) { dialogues.Add(option); option.AttachChattable(this); }