Exemplo n.º 1
0
        public IRenderItem CreateRenderItem(RenderItemType type)
        {
            switch(type)
            {
                case RenderItemType.SnakeBody:
                    return new WPFRenderItem(Colors.Aqua);

                case RenderItemType.SnakeHead:
                    return new WPFRenderItem(Colors.CornflowerBlue);

                case RenderItemType.Block:
                    return new WPFRenderItem(Colors.Black);

                case RenderItemType.Treat:
                    return new WPFRenderItem(Colors.Red);

                case RenderItemType.SpeedPowerup:
                    return new WPFRenderItem(Colors.DarkOliveGreen);

                case RenderItemType.ClearPowerup:
                    return new WPFRenderItem(Colors.Yellow);

                default:
                    return null;
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Creates a render item object.  
 /// </summary>
 /// <param name="element"></param>
 /// <param name="yPosition"></param>
 /// <param name="itemType"></param>
 public RenderItem(FrameworkElement element, double yPosition, double xDistanceToNextItem, double xOffset, RenderItemType itemType, int pitchId)
 {
     YPosition = yPosition;
     UIElement = element;
     ItemType = itemType;
     XDistanceToNextObject = xDistanceToNextItem;
     XOffset = xOffset;
     PitchId = pitchId;
 }
Exemplo n.º 3
0
 /// <summary>
 /// Creates a render item object.
 /// </summary>
 /// <param name="element"></param>
 /// <param name="yPosition"></param>
 /// <param name="itemType"></param>
 public RenderItem(FrameworkElement element, double yPosition, double xDistanceToNextItem, double xOffset, RenderItemType itemType, int pitchId)
 {
     YPosition             = yPosition;
     UIElement             = element;
     ItemType              = itemType;
     XDistanceToNextObject = xDistanceToNextItem;
     XOffset = xOffset;
     PitchId = pitchId;
 }
Exemplo n.º 4
0
        private double RenderSpecificItems(RenderItemType type, double noteTime, double currentX)
        {
            double maxOffsetInGroup = 0;
            var    items            = GetItemsByType(type, _renderItemsDictionary[noteTime]);

            foreach (RenderItem item in items)
            {
                if (item.XDistanceToNextObject > maxOffsetInGroup)
                {
                    maxOffsetInGroup = item.XDistanceToNextObject;
                }
                //Store the final object horizontal position for later
                item.XPosition = currentX;

                RenderItemXY(currentX, item);
            }
            return(maxOffsetInGroup);
        }
Exemplo n.º 5
0
        private double RenderSpecificItems(RenderItemType type, double noteTime, double currentX)
        {
            double xRightOffset = 1000;
            bool hadItemsToRender = false;
            var items = GetItemsByType(type, renderItemsDictionary[noteTime]);
            foreach (RenderItem item in items)
            {
                hadItemsToRender = true;
                if (item.XOffset < xRightOffset) xRightOffset = item.XOffset;
                RenderItemXY(item.UIElement, currentX, item.YPosition);
            }

            if (hadItemsToRender) return xRightOffset;
            return 0;
        }
Exemplo n.º 6
0
 private IEnumerable<RenderItem> GetItemsByType(RenderItemType type, IEnumerable<RenderItem> renderItems)
 {
     return (from item in renderItems
             where item.ItemType == type
             select item);
 }
Exemplo n.º 7
0
 public void AddItemToRender(double noteTime, FrameworkElement element, double yPosition, double xOffset, RenderItemType itemType)
 {
     element.HorizontalAlignment = HorizontalAlignment.Left;
     element.VerticalAlignment = VerticalAlignment.Top;
     renderItemsDictionary.Add(noteTime, new RenderItem(element, yPosition, xOffset, itemType));
 }
Exemplo n.º 8
0
 public void AddItemToRender(double noteTime, FrameworkElement element, double yPosition, double xDistanceToNextObject, double xOffset, RenderItemType itemType, int pitchId = 0)
 {
     _renderItemsDictionary.Add(noteTime, new RenderItem(element, yPosition, xDistanceToNextObject, xOffset, itemType, pitchId));
 }
Exemplo n.º 9
0
        private double RenderSpecificItems(RenderItemType type, double noteTime, double currentX)
        {
            double maxOffsetInGroup = 0;
            var items = GetItemsByType(type, _renderItemsDictionary[noteTime]);

            foreach (RenderItem item in items)
            {
                if (item.XDistanceToNextObject > maxOffsetInGroup) maxOffsetInGroup = item.XDistanceToNextObject;
                //Store the final object horizontal position for later
                item.XPosition = currentX;

                RenderItemXY(currentX, item);
            }
            return maxOffsetInGroup;
        }
Exemplo n.º 10
0
 public void AddItemToRender(double noteTime, FrameworkElement element, double yPosition, double xDistanceToNextObject, double xOffset, RenderItemType itemType, int pitchId = 0)
 {
     _renderItemsDictionary.Add(noteTime, new RenderItem(element, yPosition, xDistanceToNextObject, xOffset, itemType, pitchId));
 }
Exemplo n.º 11
0
 private IEnumerable <RenderItem> GetItemsByType(RenderItemType type, IEnumerable <RenderItem> renderItems)
 {
     return(from item in renderItems
            where item.ItemType == type
            select item);
 }