protected void AddPrerequisite(QuestPrerequisite prerequisite)
{
this.Prerequisites.Add(prerequisite);
if (prerequisite.Is(typeof(QuestPrerequisiteQuestCompleted)))
{
ChannelServer.Instance.Events.PlayerCompletesQuest -= this.OnPlayerCompletesQuest;
ChannelServer.Instance.Events.PlayerCompletesQuest += this.OnPlayerCompletesQuest;
}
if (prerequisite.Is(typeof(QuestPrerequisiteReachedLevel)) || prerequisite.Is(typeof(QuestPrerequisiteReachedTotalLevel)))
{
ChannelServer.Instance.Events.CreatureLevelUp -= this.OnCreatureLevelUp;
ChannelServer.Instance.Events.CreatureLevelUp += this.OnCreatureLevelUp;
}
if (prerequisite.Is(typeof(QuestPrerequisiteReachedRank)))
{
ChannelServer.Instance.Events.SkillRankChanged -= this.OnSkillRankChanged;
ChannelServer.Instance.Events.SkillRankChanged += this.OnSkillRankChanged;
}
}