/// <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(); } }
/// <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); } }