//Update public void Update() { if (MyEntity == null || MyEntity.IsDisposed()) { if (!EntityWindow.IsHidden) { EntityWindow.Hide(); } return; } else { if (EntityWindow.IsHidden) { EntityWindow.Show(); } } if (PlayerBox) { if (EntityWindow.IsHidden) { EntityWindow.Show(); } if (MyEntity.IsDisposed()) { Dispose(); } } if (!mInitialized) { SetupEntityElements(); UpdateSpellStatus(); if (EntityType == EntityTypes.Event) { EventDesc.AddText(((Event)MyEntity).Desc, Color.White); EventDesc.SizeToChildren(false, true); } mInitialized = true; } //Time since this window was last updated (for bar animations) var elapsedTime = (Globals.System.GetTimeMs() - mLastUpdateTime) / 1000.0f; //Update the event/entity face. UpdateImage(); IsHidden = true; if (EntityType != EntityTypes.Event) { EntityName.SetText(MyEntity.Name); UpdateLevel(); UpdateMap(); UpdateHpBar(elapsedTime); UpdateMpBar(elapsedTime); IsHidden = false; } else { if (!EntityNameAndLevel.IsHidden) { EntityNameAndLevel.Text = MyEntity.Name; } } //If player draw exp bar if (PlayerBox && MyEntity == Globals.Me) { UpdateXpBar(elapsedTime); } if (MyEntity.GetEntityType() == EntityTypes.Player && MyEntity != Globals.Me) { if (MyEntity.Vital[(int)Vitals.Health] <= 0) { TradeLabel.Hide(); PartyLabel.Hide(); FriendLabel.Hide(); } else if (TradeLabel.IsHidden || PartyLabel.IsHidden || FriendLabel.IsHidden) { TradeLabel.Show(); PartyLabel.Show(); FriendLabel.Show(); } } if (UpdateStatuses) { UpdateSpellStatus(); UpdateStatuses = false; } foreach (var itm in mActiveStatuses) { itm.Value.Update(); } mLastUpdateTime = Globals.System.GetTimeMs(); }