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

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

Updates equip objectives.
private OnPlayerEquipsItem ( Creature creature, Item item ) : void
creature Aura.Channel.World.Entities.Creature
item Item
Результат void
		private void OnPlayerEquipsItem(Creature creature, Item item)
		{
			if (creature == null || !creature.IsPlayer || item == null || !item.Info.Pocket.IsEquip())
				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.Equip) return;

				var equipObjective = (objective as QuestObjectiveEquip);
				if (!progress.Done && item.HasTag(equipObjective.Tag))
				{
					quest.SetDone(progress.Ident);
					UpdateQuest(creature, quest);
				}
			}
		}