Exemple #1
0
 /// <summary>
 /// Not party shared
 /// </summary>
 /// <param name="trigger"></param>
 /// <param name="argument"></param>
 internal void Quest_Trigger(Quest.QuestTrigger trigger, string argument = null, bool save = true)
 {
     if (quests == null)
     {
         quests = new List <Quest>();
     }
     for (int i = 0; i < quests.Count;)
     {
         if (quests[i].trigger == trigger)
         {
             i = quests[i].Triggered(i, this, argument);
         }
         else
         {
             i++;
         }
     }
     if (save)
     {
         SaveFileMongo();
     }
 }
Exemple #2
0
        /// <summary>
        /// Party shared
        /// </summary>
        /// <param name="trigger"></param>
        /// <param name="argument"></param>
        public void QuestTrigger(Quest.QuestTrigger trigger, string argument = null, bool save = true)
        {
            if (Party != null)
            {
                switch (trigger)
                {
                case Quest.QuestTrigger.EnterFloor:
                case Quest.QuestTrigger.Enter:
                //case Quest.QuestTrigger.ClearDungeon:
                case Quest.QuestTrigger.RecruitNPC:

                    Party.QuestProgress(this, trigger, argument);
                    return;

                default:
                    Quest_Trigger(trigger, argument, save); break;
                }
            }
            else
            {
                Quest_Trigger(trigger, argument, save);
            }
        }