Пример #1
0
        public override bool Equals(object obj)
        {
            if (!(obj is DialogueOption))
            {
                return(false);
            }

            DialogueOption option = (DialogueOption)obj;

            return(option.dialogueInfo.Equals(dialogueInfo));
        }
Пример #2
0
        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);
                }
            }
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
 public void RemoveDialogue(DialogueOption option)
 {
     dialogues.Remove(option);
 }
Пример #5
0
 public void AddDialogue(DialogueOption option)
 {
     dialogues.Add(option);
     option.AttachChattable(this);
 }