public bool Initialize(int xPos, int yPos, int length, int amountOfVisibleItems, int amountOfItems, bool isHorizontal, bool isSlider, Random r, out string reason) { _xPos = xPos; _yPos = yPos; _scroll = new BBUniStretchButton(); _amountOfItems = amountOfItems; _amountVisible = amountOfVisibleItems; _isSlider = isSlider; _isHorizontal = isHorizontal; _scrollBarLength = length; if (!isSlider) { _scrollButtonLength = (int)(((float)amountOfVisibleItems / amountOfItems) * _scrollBarLength); if (!isHorizontal) { if (!_scroll.Initialize(new List<string> { "TinyScrollVerticalBGButton1", "TinyScrollVerticalBGButton2", "TinyScrollVerticalBGButton3" }, new List<string> { "TinyScrollVerticalFGButton1", "TinyScrollVerticalFGButton2", "TinyScrollVerticalFGButton3" }, isHorizontal, "", ButtonTextAlignment.LEFT, xPos, yPos, 5, _scrollButtonLength, 3, 1, r, out reason)) { return false; } _scrollBar = SpriteManager.GetSprite("TinyScrollVerticalBar", r); if (_scrollBar == null) { reason = "\"TinyScrollVerticalBar\" sprite does not exist"; return false; } } else { if (!_scroll.Initialize(new List<string> { "TinyScrollHorizontalBGButton1", "TinyScrollHorizontalBGButton2", "TinyScrollHorizontalBGButton3" }, new List<string> { "TinyScrollHorizontalFGButton1", "TinyScrollHorizontalFGButton2", "TinyScrollHorizontalFGButton3" }, isHorizontal, "", ButtonTextAlignment.LEFT, xPos, yPos, _scrollButtonLength, 5, 3, 1, r, out reason)) { return false; } _scrollBar = SpriteManager.GetSprite("TinyScrollHorizontalBar", r); if (_scrollBar == null) { reason = "\"TinyScrollHorizontalBar\" sprite does not exist"; return false; } } } else { _scrollButtonLength = 16; if (!_scroll.Initialize(new List<string> { "TinySliderHorizontalBGButton1", "TinySliderHorizontalBGButton2", "TinySliderHorizontalBGButton3" }, new List<string> { "TinySliderHorizontalFGButton1", "TinySliderHorizontalFGButton2", "TinySliderHorizontalFGButton3" }, true, "", ButtonTextAlignment.LEFT, xPos, yPos, _scrollButtonLength, 5, 3, 1, r, out reason)) { return false; } _scrollBar = SpriteManager.GetSprite("TinySliderBGBar", r); if (_scrollBar == null) { reason = "\"TinySliderBGBar\" sprite does not exist"; return false; } _highlightedScrollBar = SpriteManager.GetSprite("TinySliderFGBar", 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; }
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; }