public bool Initialize(int xPos, int yPos, int width, int min, int max, int initialAmount, Random r, out string reason) { _width = width; _upButton = new BBButton(); _downButton = new BBButton(); _valueLabel = new BBLabel(); if (!_upButton.Initialize("ScrollUpBGButton", "ScrollUpFGButton", string.Empty, ButtonTextAlignment.LEFT, xPos + width - 16, yPos, 16, 16, r, out reason)) { return false; } if (!_downButton.Initialize("ScrollDownBGButton", "ScrollDownFGButton", string.Empty, ButtonTextAlignment.LEFT, xPos, yPos, 16, 16, r, out reason)) { return false; } if (!_valueLabel.Initialize(xPos + width - 20, yPos, string.Empty, Color.White, out reason)) { return false; } _valueLabel.SetAlignment(true); _minimum = min; _maximum = max; Value = initialAmount; CheckAmount(); //Just in case _incrementAmount = 1; return true; }
public bool Initialize(int xPos, int yPos, int length, int amountOfVisibleItems, int amountOfItems, bool isHorizontal, bool isSlider, Random r, out string reason) { this.xPos = xPos; this.yPos = yPos; Up = new BBButton(); Down = new BBButton(); Scroll = new BBUniStretchButton(); this.amountOfItems = amountOfItems; this.amountVisible = amountOfVisibleItems; this.isSlider = isSlider; this.isHorizontal = isHorizontal; scrollBarLength = length - 32; if (!isSlider) { scrollButtonLength = (int)(((float)amountOfVisibleItems / amountOfItems) * scrollBarLength); if (!isHorizontal) { if (!Up.Initialize("ScrollUpBGButton", "ScrollUpFGButton", "", ButtonTextAlignment.CENTER, xPos, yPos, 16, 16, r, out reason)) { return false; } if (!Down.Initialize("ScrollDownBGButton", "ScrollDownFGButton", "", ButtonTextAlignment.CENTER, xPos, yPos + length - 16, 16, 16, r, out reason)) { return false; } if (!Scroll.Initialize(new List<string> { "ScrollVerticalBGButton1", "ScrollVerticalBGButton2", "ScrollVerticalBGButton3" }, new List<string> { "ScrollVerticalFGButton1", "ScrollVerticalFGButton2", "ScrollVerticalFGButton3" }, false, "", ButtonTextAlignment.LEFT, xPos, yPos + 16, 16, 7, 2, scrollButtonLength, r, out reason)) { return false; } scrollBar = SpriteManager.GetSprite("ScrollVerticalBar", r); if (scrollBar == null) { reason = "\"ScrollVerticalBar\" sprite does not exist"; return false; } } else { if (!Up.Initialize("ScrollLeftBGButton", "ScrollLeftFGButton", "", ButtonTextAlignment.CENTER, xPos, yPos, 16, 16, r, out reason)) { return false; } if (!Down.Initialize("ScrollRightBGButton", "ScrollRightFGButton", "", ButtonTextAlignment.CENTER, xPos + length - 16, yPos, 16, 16, r, out reason)) { return false; } if (!Scroll.Initialize(new List<string> { "ScrollHorizontalBGButton1", "ScrollHorizontalBGButton2", "ScrollHorizontalBGButton3" }, new List<string> { "ScrollHorizontalFGButton1", "ScrollHorizontalFGButton2", "ScrollHorizontalFGButton3" }, false, "", ButtonTextAlignment.LEFT, xPos + 16, yPos, 16, 7, 2, scrollButtonLength, r, out reason)) { return false; } scrollBar = SpriteManager.GetSprite("ScrollHorizontalBar", r); if (scrollBar == null) { reason = "\"ScrollHorizontalBar\" sprite does not exist"; return false; } } } else { scrollButtonLength = 16; if (!Up.Initialize("ScrollLeftBGButton", "ScrollLeftFGButton", "", ButtonTextAlignment.CENTER, xPos, yPos, 16, 16, r, out reason)) { return false; } if (!Down.Initialize("ScrollRightBGButton", "ScrollRightFGButton", "", ButtonTextAlignment.CENTER, xPos + length - 16, yPos, 16, 16, r, out reason)) { return false; } if (!Scroll.Initialize(new List<string> { "SliderHorizontalBGButton1", "SliderHorizontalBGButton2", "SliderHorizontalBGButton3" }, new List<string> { "SliderHorizontalFGButton1", "SliderHorizontalFGButton2", "SliderHorizontalFGButton3" }, true, "", ButtonTextAlignment.LEFT, xPos + 16, yPos, 16, 7, 2, scrollButtonLength, r, out reason)) { return false; } scrollBar = SpriteManager.GetSprite("SliderBGBar", r); if (scrollBar == null) { reason = "\"SliderBGBar\" sprite does not exist"; return false; } highlightedScrollBar = SpriteManager.GetSprite("SliderFGBar", r); if (highlightedScrollBar == null) { reason = "\"SliderFGBar\" sprite does not exist"; return false; } } topIndex = 0; scrollPos = 0; //relative to the scrollbar itself scrollSelected = false; isEnabled = true; reason = null; return true; }