Aura.Channel.World.Entities.Creatures.CreatureDeadMenu.Update C# (CSharp) Метод

Update() публичный Метод

Updates menu, based on where its creature is and updates nearby clients.
public Update ( ) : void
Результат void
		public void Update()
		{
			var before = this.Options;

			this.Clear();

			if (this.Creature.IsDead)
			{
				var isInTirNaNog = this.Creature.IsInTirNaNog;

				// Defaults
				this.Add(ReviveOptions.WaitForRescue);
				if (this.Creature.IsPet)
					this.Add(ReviveOptions.PhoenixFeather);

				// Town
				if (!isInTirNaNog)
				{
					this.Add(ReviveOptions.Town);
				}
				// Tir Na Nog
				else
				{
					// Use TNN or Barri, depending on whether the bind quest
					// was done.
					if (this.Creature.Keywords.Has("g1_bind"))
						this.Add(ReviveOptions.TirNaNog);
					else
						this.Add(ReviveOptions.BarriLobby);
				}

				// Nao Stone option if it's enabled, and creature is not
				// in Tir Na Nog.
				if (AuraData.FeaturesDb.IsEnabled("NaoCoupon") && !isInTirNaNog)
					this.Add(ReviveOptions.NaoStone);

				// Dungeons
				if (this.Creature.Region is DungeonRegion)
				{
					this.Add(ReviveOptions.DungeonEntrance);

					// Show statue option only if there is a statue on this floor
					var floorRegion = (this.Creature.Region as DungeonFloorRegion);
					if (floorRegion == null || floorRegion.Floor.Statue)
						this.Add(ReviveOptions.StatueOfGoddess);
				}
				// Fields
				else
				{
					if (!isInTirNaNog)
						this.Add(ReviveOptions.Here);
				}

				// Special
				if (this.Creature.Titles.SelectedTitle == TitleId.devCAT)
					this.Add(ReviveOptions.HereNoPenalty);
			}

			if (this.Options != before || this.Creature.IsDead)
				Send.DeadFeather(this.Creature);
		}