GetIndexItemColor() private method

private GetIndexItemColor ( int index ) : Color
index int
return Color
Beispiel #1
0
        /// <summary>
        /// Contains abstract Draw logic for the Menu.
        /// </summary>
        /// <param name="spriteBatch"></param>
        protected internal void DrawMenu(SpriteBatch spriteBatch)
        {
            spriteBatch.DrawString(menuFont, MenuText, menuTitlePosition, menuTitleColor);

            //for (int j = 0; j * maxRows <= numMenuItems; j++) //keep this CHRIS
            for (int j = 0; j < maxColumns; j++)
            {
                //for (int i=0; (i + j*maxRows) % maxRows <numMenuItems % maxRows; i++) //keep this CHRIS
                for (int i = 0; i < mic.Length - (j * maxRows) && i < maxRows; i++)
                {
                    int currentMenuItem = (int)(i + (maxRows * j));

                    Color currentItemColor = mic.GetIndexItemColorSet(currentMenuItem) ? mic.GetIndexItemColor(currentMenuItem) : defaultMenuItemColor;


                    if (activeMenuIndex == currentMenuItem) //if the item we are drawing is active
                    {
                        spriteBatch.DrawString(menuItemFont, mic.GetIndexMenuText(currentMenuItem), menuItemOriginPosition + (j * menuItemHorizontalOffset) + (i * menuItemVerticalOffset), defaultActiveItemColor);
                    }
                    else //the item is not an active item
                    {
                        spriteBatch.DrawString(menuItemFont, mic.GetIndexMenuText(currentMenuItem), menuItemOriginPosition + (j * menuItemHorizontalOffset) + (i * menuItemVerticalOffset), currentItemColor);
                    }
                }
            }
        }