Aura.Channel.Scripting.Scripts.QuestScript.OnPlayerClearedDungeon C# (CSharp) Метод

OnPlayerClearedDungeon() приватный Метод

Updates ClearDungeon objectives.
private OnPlayerClearedDungeon ( Creature creature, Dungeon dungeon ) : void
creature Aura.Channel.World.Entities.Creature
dungeon Dungeon
Результат void
		private void OnPlayerClearedDungeon(Creature creature, Dungeon dungeon)
		{
			if (creature == null || dungeon == null)
				return;

			var quests = creature.Quests.GetAllIncomplete(this.Id);
			foreach (var quest in quests)
			{
				if (!this.CanMakeProgress(creature, quest))
					continue;

				var progress = quest.CurrentObjectiveOrLast;
				if (progress == null) return;

				var objective = this.Objectives[progress.Ident];
				if (objective == null || objective.Type != ObjectiveType.ClearDungeon) return;

				var clearDungeonObjective = (objective as QuestObjectiveClearDungeon);
				if (!progress.Done && dungeon.Name.ToLower() == clearDungeonObjective.DungeonName.ToLower())
				{
					quest.SetDone(progress.Ident);
					UpdateQuest(creature, quest);
				}
			}
		}