Ejemplo n.º 1
0
        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;
        }