Beyond_Beyaan.BBStretchableImage.Initialize C# (CSharp) Метод

Initialize() публичный Метод

public Initialize ( int x, int y, int width, int height, StretchableImageType type, Random r, string &reason ) : bool
x int
y int
width int
height int
type StretchableImageType
r System.Random
reason string
Результат bool
        public bool Initialize(int x, int y, int width, int height, StretchableImageType type, Random r, out string reason)
        {
            xPos = x;
            yPos = y;

            switch (type)
            {
                case StretchableImageType.TextBox:
                    {
                        sectionWidth = 30;
                        sectionHeight = 13;
                        sections = new List<BBSprite>();
                        var tempSprite = SpriteManager.GetSprite("TextTL", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TextTL\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TextTC", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TextTC\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TextTR", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TextTR\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TextCL", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TextCL\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TextCC", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TextCC\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TextCR", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TextCR\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TextBL", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TextBL\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TextBC", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TextBC\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TextBR", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TextBR\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                    }
                    break;
                case StretchableImageType.ThinBorderBG:
                {
                    sectionWidth = 30;
                    sectionHeight = 13;
                    sections = new List<BBSprite>();
                    var tempSprite = SpriteManager.GetSprite("ThinBorderBGTL", r);
                    if (tempSprite == null)
                    {
                        reason = "Failed to get \"ThinBorderBGTL\" from sprites.xml.";
                        return false;
                    }
                    sections.Add(tempSprite);
                    tempSprite = SpriteManager.GetSprite("ThinBorderBGTC", r);
                    if (tempSprite == null)
                    {
                        reason = "Failed to get \"ThinBorderBGTC\" from sprites.xml.";
                        return false;
                    }
                    sections.Add(tempSprite);
                    tempSprite = SpriteManager.GetSprite("ThinBorderBGTR", r);
                    if (tempSprite == null)
                    {
                        reason = "Failed to get \"ThinBorderBGTR\" from sprites.xml.";
                        return false;
                    }
                    sections.Add(tempSprite);
                    tempSprite = SpriteManager.GetSprite("ThinBorderBGCL", r);
                    if (tempSprite == null)
                    {
                        reason = "Failed to get \"ThinBorderBGCL\" from sprites.xml.";
                        return false;
                    }
                    sections.Add(tempSprite);
                    tempSprite = SpriteManager.GetSprite("ThinBorderBGCC", r);
                    if (tempSprite == null)
                    {
                        reason = "Failed to get \"ThinBorderBGCC\" from sprites.xml.";
                        return false;
                    }
                    sections.Add(tempSprite);
                    tempSprite = SpriteManager.GetSprite("ThinBorderBGCR", r);
                    if (tempSprite == null)
                    {
                        reason = "Failed to get \"ThinBorderBGCR\" from sprites.xml.";
                        return false;
                    }
                    sections.Add(tempSprite);
                    tempSprite = SpriteManager.GetSprite("ThinBorderBGBL", r);
                    if (tempSprite == null)
                    {
                        reason = "Failed to get \"ThinBorderBGBL\" from sprites.xml.";
                        return false;
                    }
                    sections.Add(tempSprite);
                    tempSprite = SpriteManager.GetSprite("ThinBorderBGBC", r);
                    if (tempSprite == null)
                    {
                        reason = "Failed to get \"ThinBorderBGBC\" from sprites.xml.";
                        return false;
                    }
                    sections.Add(tempSprite);
                    tempSprite = SpriteManager.GetSprite("ThinBorderBGBR", r);
                    if (tempSprite == null)
                    {
                        reason = "Failed to get \"ThinBorderBGBR\" from sprites.xml.";
                        return false;
                    }
                    sections.Add(tempSprite);
                } break;
                case StretchableImageType.ThinBorderFG:
                    {
                        sectionWidth = 30;
                        sectionHeight = 13;
                        sections = new List<BBSprite>();
                        var tempSprite = SpriteManager.GetSprite("ThinBorderFGTL", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"ThinBorderFGTL\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("ThinBorderFGTC", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"ThinBorderFGTC\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("ThinBorderFGTR", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"ThinBorderFGTR\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("ThinBorderFGCL", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"ThinBorderFGCL\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("ThinBorderFGCC", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"ThinBorderFGCC\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("ThinBorderFGCR", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"ThinBorderFGCR\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("ThinBorderFGBL", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"ThinBorderFGBL\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("ThinBorderFGBC", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"ThinBorderFGBC\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("ThinBorderFGBR", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"ThinBorderFGBR\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                    } break;
                case StretchableImageType.TinyButtonBG:
                    {
                        sectionWidth = 10;
                        sectionHeight = 10;
                        sections = new List<BBSprite>();
                        var tempSprite = SpriteManager.GetSprite("TinyButtonBGTL", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TinyButtonBGTL\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TinyButtonBGTC", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TinyButtonBGTC\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TinyButtonBGTR", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TinyButtonBGTR\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TinyButtonBGCL", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TinyButtonBGCL\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TinyButtonBGCC", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TinyButtonBGCC\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TinyButtonBGCR", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TinyButtonBGCR\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TinyButtonBGBL", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TinyButtonBGBL\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TinyButtonBGBC", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TinyButtonBGBC\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TinyButtonBGBR", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TinyButtonBGBR\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                    } break;
                case StretchableImageType.TinyButtonFG:
                    {
                        sectionWidth = 10;
                        sectionHeight = 10;
                        sections = new List<BBSprite>();
                        var tempSprite = SpriteManager.GetSprite("TinyButtonFGTL", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TinyButtonFGTL\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TinyButtonFGTC", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TinyButtonFGTC\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TinyButtonFGTR", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TinyButtonFGTR\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TinyButtonFGCL", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TinyButtonFGCL\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TinyButtonFGCC", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TinyButtonFGCC\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TinyButtonFGCR", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TinyButtonFGCR\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TinyButtonFGBL", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TinyButtonFGBL\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TinyButtonFGBC", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TinyButtonFGBC\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("TinyButtonFGBR", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"TinyButtonFGBR\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                    } break;
                case StretchableImageType.MediumBorder:
                    {
                        sectionWidth = 60;
                        sectionHeight = 60;
                        sections = new List<BBSprite>();
                        var tempSprite = SpriteManager.GetSprite("MediumBorderBGTL", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"MediumBorderBGTL\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("MediumBorderBGTC", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"MediumBorderBGTC\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("MediumBorderBGTR", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"MediumBorderBGTR\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("MediumBorderBGCL", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"MediumBorderBGCL\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("MediumBorderBGCC", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"MediumBorderBGCC\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("MediumBorderBGCR", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"MediumBorderBGCR\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("MediumBorderBGBL", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"MediumBorderBGBL\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("MediumBorderBGBC", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"MediumBorderBGBC\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("MediumBorderBGBR", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"MediumBorderBGBR\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                    } break;
                case StretchableImageType.ThickBorder:
                    {
                        sectionWidth = 200;
                        sectionHeight = 200;
                        sections = new List<BBSprite>();
                        var tempSprite = SpriteManager.GetSprite("ThickBorderBGTL", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"ThickBorderBGTL\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("ThickBorderBGTC", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"ThickBorderBGTC\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("ThickBorderBGTR", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"ThickBorderBGTR\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("ThickBorderBGCL", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"ThickBorderBGCL\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("ThickBorderBGCC", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"ThickBorderBGCC\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("ThickBorderBGCR", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"ThickBorderBGCR\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("ThickBorderBGBL", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"ThickBorderBGBL\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("ThickBorderBGBC", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"ThickBorderBGBC\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                        tempSprite = SpriteManager.GetSprite("ThickBorderBGBR", r);
                        if (tempSprite == null)
                        {
                            reason = "Failed to get \"ThickBorderBGBR\" from sprites.xml.";
                            return false;
                        }
                        sections.Add(tempSprite);
                    }
                    break;
            }

            horizontalStretchLength = (width - (sectionWidth * 2));
            verticalStretchLength = (height - (sectionHeight * 2));

            if (horizontalStretchLength < 0)
            {
                horizontalStretchLength = 0;
            }
            if (verticalStretchLength < 0)
            {
                verticalStretchLength = 0;
            }

            reason = null;
            return true;
        }

Usage Example

Пример #1
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="items"></param>
        /// <param name="xPos"></param>
        /// <param name="yPos"></param>
        /// <param name="width"></param>
        /// <param name="height"></param>
        /// <param name="maxVisible"></param>
        /// <param name="r"></param>
        /// <param name="reason"></param>
        public bool Initialize(List<string> items, int xPos, int yPos, int width, int height, int maxVisible, Random r, out string reason)
        {
            _items = items;
            _xPos = xPos;
            _yPos = yPos;
            _width = width;
            _height = height;

            _selectedIndex = 0;
            Dropped = false;
            _downArrowSprite = SpriteManager.GetSprite("ScrollDownBGButton", r);

            if (items.Count < maxVisible)
            {
                _haveScroll = false;
                maxVisible = items.Count;
            }
            else if (items.Count > maxVisible)
            {
                _haveScroll = true;
            }

            Enabled = true;

            _buttons = new List<BBInvisibleStretchButton>();
            _dropBackground = new BBStretchableImage();
            _scrollBar = new BBScrollBar();

            for (int i = 0; i <= maxVisible; i++)
            {
                BBInvisibleStretchButton button = new BBInvisibleStretchButton();
                if (!button.Initialize(string.Empty, ButtonTextAlignment.LEFT, StretchableImageType.ThinBorderBG, StretchableImageType.ThinBorderFG, _xPos, _yPos + (i * height), _width, _height, r, out reason))
                {
                    return false;
                }
                _buttons.Add(button);
            }
            if (!_dropBackground.Initialize(_xPos, _yPos, width, height, StretchableImageType.ThinBorderBG, r, out reason))
            {
                return false;
            }
            if (!_scrollBar.Initialize(_xPos + _width, _yPos + _height, maxVisible * _height, maxVisible, items.Count, false, false, r, out reason))
            {
                return false;
            }
            RefreshSelection();
            RefreshLabels();
            return true;
        }
All Usage Examples Of Beyond_Beyaan.BBStretchableImage::Initialize