static void RefreshHighlightActivity()
{
if (mShouldRefreshHighlight)
{
if (mNextElementToHighlight == null)
{
if (mCurrentElementHighlight.CurrentElement != null)
{
mCurrentElementHighlight.CurrentElement = null;
}
}
else if (mCurrentElement != null)
{
ElementRuntime nextElement = mCurrentElement.GetContainedElementRuntime(mNextElementToHighlight);
mCurrentElementHighlight.CurrentElement = nextElement;
mCurrentElementHighlight.Color =
mCurrentElementHighlight.GetColorVisibleAgainst(SpriteManager.Camera.BackgroundColor);
}
if (ElementHighlighted != null)
{
ElementHighlighted(mCurrentElementHighlight.CurrentElement);
}
mShouldRefreshHighlight = false;
}
// We want to refresh every frame because elements may change due to plugins, interpolation, script, etc.
// This is a little inefficient but it might be okay since we're on a PC. Review this if we have performance
// problems (I don't expect we will)
mCurrentElementHighlight.CurrentElement = mCurrentElementHighlight.CurrentElement;
}