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; } }
/// <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; }
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); }
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; }
private IEnumerable<RenderItem> GetItemsByType(RenderItemType type, IEnumerable<RenderItem> renderItems) { return (from item in renderItems where item.ItemType == type select item); }
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)); }
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)); }
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; }
private IEnumerable <RenderItem> GetItemsByType(RenderItemType type, IEnumerable <RenderItem> renderItems) { return(from item in renderItems where item.ItemType == type select item); }