Esempio n. 1
0
    /// <summary>
    /// Simple nine-slice constructor, all corners and sides are mirrored and rotated
    /// </summary>
    /// <param name="topLeftCornerName">Top left corner sprite name</param>
    /// <param name="topSideName">Top side rect sprite name</param>
    /// <param name="middleName">Middle rect sprite name</param>
    public NineSlice(FastString topLeftCornerName, FastString topSideName, FastString middleName)
    {
        TopLeftCornerID     = RB.PackedSpriteID(topLeftCornerName);
        TopSideID           = RB.PackedSpriteID(topSideName);
        TopRightCornerID    = RB.PackedSpriteID(topLeftCornerName);
        LeftSideID          = RB.PackedSpriteID(topSideName);
        MiddleID            = RB.PackedSpriteID(middleName);
        RightSideID         = RB.PackedSpriteID(topSideName);
        BottomLeftCornerID  = RB.PackedSpriteID(topLeftCornerName);
        BottomSideID        = RB.PackedSpriteID(topSideName);
        BottomRightCornerID = RB.PackedSpriteID(topLeftCornerName);

        FlagsTopLeftCorner     = 0;
        FlagsTopSide           = 0;
        FlagsTopRightCorner    = RB.FLIP_H;
        FlagsLeftSide          = RB.ROT_90_CCW;
        FlagsRightSide         = RB.ROT_90_CW;
        FlagsBottomLeftCorner  = RB.FLIP_V;
        FlagsBottomSide        = RB.FLIP_V;
        FlagsBottomRightCorner = RB.FLIP_H | RB.FLIP_V;

        TopLeftCornerRect     = Rect2i.zero;
        TopSideRect           = Rect2i.zero;
        TopRightCornerRect    = Rect2i.zero;
        LeftSideRect          = Rect2i.zero;
        MiddleRect            = Rect2i.zero;
        RightSideRect         = Rect2i.zero;
        BottomLeftCornerRect  = Rect2i.zero;
        BottomSideRect        = Rect2i.zero;
        BottomRightCornerRect = Rect2i.zero;

        IsRectBased = false;
    }
Esempio n. 2
0
    /// <summary>
    /// Constructor
    /// </summary>
    /// <param name="topLeftCornerName">Top left corner sprite name</param>
    /// <param name="topSideName">Top side sprite name</param>
    /// <param name="topRightCornerName">Top right corner sprite name</param>
    /// <param name="leftSideName">Left side sprite name</param>
    /// <param name="middleName">Middle sprite name</param>
    /// <param name="rightSideName">Right side sprite name</param>
    /// <param name="bottomLeftCornerName">Bottom left corner sprite name</param>
    /// <param name="bottomSideName">Bottom side sprite name</param>
    /// <param name="bottomRightCornerName">Bottom right corner sprite name</param>
    public NineSlice(
        FastString topLeftCornerName,
        FastString topSideName,
        FastString topRightCornerName,
        FastString leftSideName,
        FastString middleName,
        FastString rightSideName,
        FastString bottomLeftCornerName,
        FastString bottomSideName,
        FastString bottomRightCornerName)
    {
        TopLeftCornerID     = RB.PackedSpriteID(topLeftCornerName);
        TopSideID           = RB.PackedSpriteID(topSideName);
        TopRightCornerID    = RB.PackedSpriteID(topRightCornerName);
        LeftSideID          = RB.PackedSpriteID(leftSideName);
        MiddleID            = RB.PackedSpriteID(middleName);
        RightSideID         = RB.PackedSpriteID(rightSideName);
        BottomLeftCornerID  = RB.PackedSpriteID(bottomLeftCornerName);
        BottomSideID        = RB.PackedSpriteID(bottomSideName);
        BottomRightCornerID = RB.PackedSpriteID(bottomRightCornerName);

        FlagsTopLeftCorner     = 0;
        FlagsTopSide           = 0;
        FlagsTopRightCorner    = 0;
        FlagsLeftSide          = 0;
        FlagsRightSide         = 0;
        FlagsBottomLeftCorner  = 0;
        FlagsBottomSide        = 0;
        FlagsBottomRightCorner = 0;

        TopLeftCornerRect     = Rect2i.zero;
        TopSideRect           = Rect2i.zero;
        TopRightCornerRect    = Rect2i.zero;
        LeftSideRect          = Rect2i.zero;
        MiddleRect            = Rect2i.zero;
        RightSideRect         = Rect2i.zero;
        BottomLeftCornerRect  = Rect2i.zero;
        BottomSideRect        = Rect2i.zero;
        BottomRightCornerRect = Rect2i.zero;

        IsRectBased = false;
    }