include BoxPainterLib in codebase
This commit is contained in:
parent
ab21f050de
commit
741bb7279c
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -1,6 +1,3 @@
|
||||
[submodule "tools"]
|
||||
path = tools
|
||||
url = https://github.com/GenZmeY/KF2-BuildTools
|
||||
[submodule "BoxPainterLib"]
|
||||
path = BoxPainterLib
|
||||
url = https://github.com/GenZmeY/KF2-BoxPainterLib
|
||||
|
@ -1 +0,0 @@
|
||||
Subproject commit 13798bb0b8408c5d98a35682a95a44756e4578fb
|
595
YAS/Classes/BoxPainter.uc
Normal file
595
YAS/Classes/BoxPainter.uc
Normal file
@ -0,0 +1,595 @@
|
||||
class BoxPainter extends BoxPainterBase;
|
||||
|
||||
public final function DrawBox(float X, float Y, float Width, float Height, float Edge, optional byte Shape = 0)
|
||||
{
|
||||
Edge = FMin(FMin(Edge, Width * 0.5), Height * 0.5);
|
||||
|
||||
switch (Shape)
|
||||
{
|
||||
case 100:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_Corner, // TopLeft // | |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |______|
|
||||
ECS_Corner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 110:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_BeveledCorner, // TopLeft // / |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |______/
|
||||
ECS_BeveledCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 111:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_Corner, // TopLeft // | \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \______|
|
||||
ECS_Corner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 120:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // |\____/|
|
||||
ECS_VerticalCorner, // TopLeft // | |
|
||||
ECS_VerticalCorner, // TopRight // | |
|
||||
ECS_VerticalCorner, // BottomLeft // | ____ |
|
||||
ECS_VerticalCorner // BottomRight // |/ \|
|
||||
);
|
||||
break;
|
||||
|
||||
case 121:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // _______
|
||||
ECS_HorisontalCorner, // TopLeft // \ /
|
||||
ECS_HorisontalCorner, // TopRight // | |
|
||||
ECS_HorisontalCorner, // BottomLeft // | |
|
||||
ECS_HorisontalCorner // BottomRight // /_____\
|
||||
);
|
||||
break;
|
||||
|
||||
case 130:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_Corner, // TopLeft // | |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |______/
|
||||
ECS_BeveledCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 131:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_Corner, // TopLeft // | \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |______|
|
||||
ECS_Corner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 132:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_BeveledCorner, // TopLeft // / |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |______|
|
||||
ECS_Corner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 133:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_Corner, // TopLeft // | |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \______|
|
||||
ECS_Corner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 140:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_BeveledCorner, // TopLeft // / \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \______|
|
||||
ECS_Corner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 141:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_BeveledCorner, // TopLeft // / |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \______/
|
||||
ECS_BeveledCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 142:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_Corner, // TopLeft // | \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \______/
|
||||
ECS_BeveledCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 143:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_BeveledCorner, // TopLeft // / \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |______/
|
||||
ECS_BeveledCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 150:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_BeveledCorner, // TopLeft // / \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_VerticalCorner, // BottomLeft // | ____ |
|
||||
ECS_VerticalCorner // BottomRight // |/ \|
|
||||
);
|
||||
break;
|
||||
|
||||
case 151:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // _______
|
||||
ECS_BeveledCorner, // TopLeft // / /
|
||||
ECS_HorisontalCorner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \______\
|
||||
ECS_HorisontalCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 152:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // |\____/|
|
||||
ECS_VerticalCorner, // TopLeft // | |
|
||||
ECS_VerticalCorner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \______/
|
||||
ECS_BeveledCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 153:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // _______
|
||||
ECS_HorisontalCorner, // TopLeft // \ \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_HorisontalCorner, // BottomLeft // /______/
|
||||
ECS_BeveledCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 160:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_BeveledCorner, // TopLeft // / /
|
||||
ECS_HorisontalCorner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \_____/
|
||||
ECS_BeveledCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 161:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // |\_____
|
||||
ECS_VerticalCorner, // TopLeft // | \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \______/
|
||||
ECS_BeveledCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 162:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_BeveledCorner, // TopLeft // / \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_HorisontalCorner, // BottomLeft // /______/
|
||||
ECS_BeveledCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 163:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_BeveledCorner, // TopLeft // / \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \_____ |
|
||||
ECS_VerticalCorner // BottomRight // \|
|
||||
);
|
||||
break;
|
||||
|
||||
case 170:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_BeveledCorner, // TopLeft // / \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \______\
|
||||
ECS_HorisontalCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 171:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // _____/|
|
||||
ECS_BeveledCorner, // TopLeft // / |
|
||||
ECS_VerticalCorner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \______/
|
||||
ECS_BeveledCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 172:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // _______
|
||||
ECS_HorisontalCorner, // TopLeft // \ \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \______/
|
||||
ECS_BeveledCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 173:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_BeveledCorner, // TopLeft // / \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_VerticalCorner, // BottomLeft // | _____/
|
||||
ECS_BeveledCorner // BottomRight // |/
|
||||
);
|
||||
break;
|
||||
|
||||
case 180:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // _______
|
||||
ECS_Corner, // TopLeft // | /
|
||||
ECS_HorisontalCorner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |______|
|
||||
ECS_Corner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 181:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // |\_____
|
||||
ECS_VerticalCorner, // TopLeft // | |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |______|
|
||||
ECS_Corner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 182:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_Corner, // TopLeft // | |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_HorisontalCorner, // BottomLeft // /______|
|
||||
ECS_Corner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 183:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_Corner, // TopLeft // | |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |_____ |
|
||||
ECS_VerticalCorner // BottomRight // \|
|
||||
);
|
||||
break;
|
||||
|
||||
case 190:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_Corner, // TopLeft // | |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |______\
|
||||
ECS_HorisontalCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 191:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // _____/|
|
||||
ECS_Corner, // TopLeft // | |
|
||||
ECS_VerticalCorner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |______|
|
||||
ECS_Corner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 192:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // _______
|
||||
ECS_HorisontalCorner, // TopLeft // \ |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |______|
|
||||
ECS_Corner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 193:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_Corner, // TopLeft // | |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_VerticalCorner, // BottomLeft // | _____|
|
||||
ECS_Corner // BottomRight // |/
|
||||
);
|
||||
break;
|
||||
|
||||
case 200:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_Corner, // TopLeft // | |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_VerticalCorner, // BottomLeft // | ____ |
|
||||
ECS_VerticalCorner // BottomRight // |/ \|
|
||||
);
|
||||
break;
|
||||
|
||||
case 201:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // _______
|
||||
ECS_Corner, // TopLeft // | /
|
||||
ECS_HorisontalCorner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |______\
|
||||
ECS_HorisontalCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 202:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // |\____/|
|
||||
ECS_VerticalCorner, // TopLeft // | |
|
||||
ECS_VerticalCorner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |______|
|
||||
ECS_Corner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 203:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // _______
|
||||
ECS_HorisontalCorner, // TopLeft // \ |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_HorisontalCorner, // BottomLeft // /______|
|
||||
ECS_Corner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 210:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ________
|
||||
ECS_HorisontalCorner, // TopLeft // \ /
|
||||
ECS_HorisontalCorner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \______/
|
||||
ECS_BeveledCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 211:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // |\_____
|
||||
ECS_VerticalCorner, // TopLeft // | \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_VerticalCorner, // BottomLeft // | _____/
|
||||
ECS_BeveledCorner // BottomRight // |/
|
||||
);
|
||||
break;
|
||||
|
||||
case 212:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_BeveledCorner, // TopLeft // / \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_HorisontalCorner, // BottomLeft // /______\
|
||||
ECS_HorisontalCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 213:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // _____/|
|
||||
ECS_BeveledCorner, // TopLeft // / |
|
||||
ECS_VerticalCorner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \_____ |
|
||||
ECS_VerticalCorner // BottomRight // \|
|
||||
);
|
||||
break;
|
||||
|
||||
case 220:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ________
|
||||
ECS_HorisontalCorner, // TopLeft // \ /
|
||||
ECS_HorisontalCorner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |______|
|
||||
ECS_Corner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 221:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // |\_____
|
||||
ECS_VerticalCorner, // TopLeft // | |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_VerticalCorner, // BottomLeft // | _____|
|
||||
ECS_Corner // BottomRight // |/
|
||||
);
|
||||
break;
|
||||
|
||||
case 222:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_Corner, // TopLeft // | |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_HorisontalCorner, // BottomLeft // /______\
|
||||
ECS_HorisontalCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 223:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // _____/|
|
||||
ECS_Corner, // TopLeft // | |
|
||||
ECS_VerticalCorner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |_____ |
|
||||
ECS_VerticalCorner // BottomRight // \|
|
||||
);
|
||||
break;
|
||||
|
||||
case 230:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // _______
|
||||
ECS_BeveledCorner, // TopLeft // / /
|
||||
ECS_HorisontalCorner, // TopRight // | |
|
||||
ECS_HorisontalCorner, // BottomLeft // /______/
|
||||
ECS_BeveledCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 231:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // |\_____
|
||||
ECS_VerticalCorner, // TopLeft // | \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \_____ |
|
||||
ECS_VerticalCorner // BottomRight // \|
|
||||
);
|
||||
break;
|
||||
|
||||
case 232:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // _______
|
||||
ECS_HorisontalCorner, // TopLeft // \ \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \______\
|
||||
ECS_HorisontalCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 233:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // _____/|
|
||||
ECS_BeveledCorner, // TopLeft // / |
|
||||
ECS_VerticalCorner, // TopRight // | |
|
||||
ECS_VerticalCorner, // BottomLeft // | _____/
|
||||
ECS_BeveledCorner // BottomRight // |/
|
||||
);
|
||||
break;
|
||||
|
||||
case 240:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // _______
|
||||
ECS_Corner, // TopLeft // | /
|
||||
ECS_HorisontalCorner, // TopRight // | |
|
||||
ECS_HorisontalCorner, // BottomLeft // /______|
|
||||
ECS_Corner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 241:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // |\_____
|
||||
ECS_VerticalCorner, // TopLeft // | |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |_____ |
|
||||
ECS_VerticalCorner // BottomRight // \|
|
||||
);
|
||||
break;
|
||||
|
||||
case 242:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // _______
|
||||
ECS_HorisontalCorner, // TopLeft // \ |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |______\
|
||||
ECS_HorisontalCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 243:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // _____/|
|
||||
ECS_Corner, // TopLeft // | |
|
||||
ECS_VerticalCorner, // TopRight // | |
|
||||
ECS_VerticalCorner, // BottomLeft // | _____|
|
||||
ECS_Corner // BottomRight // |/
|
||||
);
|
||||
break;
|
||||
|
||||
case 250:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_BeveledCorner, // TopLeft // / \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |______|
|
||||
ECS_Corner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 251:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_BeveledCorner, // TopLeft // / |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \______|
|
||||
ECS_Corner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 252:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_Corner, // TopLeft // | |
|
||||
ECS_Corner, // TopRight // | |
|
||||
ECS_BeveledCorner, // BottomLeft // \______/
|
||||
ECS_BeveledCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 253:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, // ______
|
||||
ECS_Corner, // TopLeft // | \
|
||||
ECS_BeveledCorner, // TopRight // | |
|
||||
ECS_Corner, // BottomLeft // |______/
|
||||
ECS_BeveledCorner // BottomRight //
|
||||
);
|
||||
break;
|
||||
|
||||
case 0:
|
||||
default:
|
||||
DrawShapedBox(
|
||||
X, Y, Width, Height, Edge, //
|
||||
ECS_BeveledCorner, // TopLeft // ______
|
||||
ECS_BeveledCorner, // TopRight // / \
|
||||
ECS_BeveledCorner, // BottomLeft // | |
|
||||
ECS_BeveledCorner // BottomRight // \______/
|
||||
);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
|
||||
}
|
185
YAS/Classes/BoxPainterBase.uc
Normal file
185
YAS/Classes/BoxPainterBase.uc
Normal file
@ -0,0 +1,185 @@
|
||||
class BoxPainterBase extends Object;
|
||||
|
||||
const Texture = Texture2D'UI_LevelChevrons_TEX.UI_LevelChevron_Icon_02';
|
||||
|
||||
enum EPosition
|
||||
{
|
||||
ECP_TopLeft,
|
||||
ECP_TopRight,
|
||||
ECP_BottomLeft,
|
||||
ECP_BottomRight
|
||||
};
|
||||
|
||||
enum EShape
|
||||
{
|
||||
ECS_Corner,
|
||||
ECS_BeveledCorner,
|
||||
ECS_VerticalCorner,
|
||||
ECS_HorisontalCorner
|
||||
};
|
||||
|
||||
var public Canvas Canvas;
|
||||
|
||||
private final function DrawBoxTexture(float X, float Y)
|
||||
{
|
||||
Canvas.DrawTile(Texture, X, Y, 19, 45, 1, 1);
|
||||
}
|
||||
|
||||
private final function DrawCornerTexture(float Size, byte Position)
|
||||
{
|
||||
switch (Position)
|
||||
{
|
||||
case ECP_TopLeft: Canvas.DrawTile(Texture, Size, Size, 77, 15, -66, 58); return;
|
||||
case ECP_TopRight: Canvas.DrawTile(Texture, Size, Size, 11, 15, 66, 58); return;
|
||||
case ECP_BottomLeft: Canvas.DrawTile(Texture, Size, Size, 77, 73, -66, -58); return;
|
||||
case ECP_BottomRight: Canvas.DrawTile(Texture, Size, Size, 11, 73, 66, -58); return;
|
||||
}
|
||||
}
|
||||
|
||||
private final function DrawCorner(float X, float Y, float Edge, byte Position, byte Shape)
|
||||
{
|
||||
switch (Position)
|
||||
{
|
||||
case ECP_TopLeft: switch (Shape)
|
||||
{
|
||||
case ECS_Corner:
|
||||
return;
|
||||
|
||||
case ECS_BeveledCorner:
|
||||
Canvas.SetPos(X, Y);
|
||||
DrawCornerTexture(Edge, ECP_TopLeft);
|
||||
return;
|
||||
|
||||
case ECS_VerticalCorner:
|
||||
Canvas.SetPos(X, Y - Edge);
|
||||
DrawCornerTexture(Edge, ECP_TopRight);
|
||||
return;
|
||||
|
||||
case ECS_HorisontalCorner:
|
||||
Canvas.SetPos(X - Edge, Y);
|
||||
DrawCornerTexture(Edge, ECP_BottomLeft);
|
||||
return;
|
||||
}
|
||||
|
||||
case ECP_TopRight: switch (Shape)
|
||||
{
|
||||
case ECS_Corner:
|
||||
return;
|
||||
|
||||
case ECS_BeveledCorner:
|
||||
Canvas.SetPos(X - Edge, Y);
|
||||
DrawCornerTexture(Edge, ECP_TopRight);
|
||||
return;
|
||||
|
||||
case ECS_VerticalCorner:
|
||||
Canvas.SetPos(X - Edge, Y - Edge);
|
||||
DrawCornerTexture(Edge, ECP_TopLeft);
|
||||
return;
|
||||
|
||||
case ECS_HorisontalCorner:
|
||||
Canvas.SetPos(X, Y);
|
||||
DrawCornerTexture(Edge, ECP_BottomRight);
|
||||
return;
|
||||
}
|
||||
|
||||
case ECP_BottomLeft: switch (Shape)
|
||||
{
|
||||
case ECS_Corner:
|
||||
return;
|
||||
|
||||
case ECS_BeveledCorner:
|
||||
Canvas.SetPos(X, Y - Edge);
|
||||
DrawCornerTexture(Edge, ECP_BottomLeft);
|
||||
return;
|
||||
|
||||
case ECS_VerticalCorner:
|
||||
Canvas.SetPos(X, Y);
|
||||
DrawCornerTexture(Edge, ECP_BottomRight);
|
||||
return;
|
||||
|
||||
case ECS_HorisontalCorner:
|
||||
Canvas.SetPos(X - Edge, Y - Edge);
|
||||
DrawCornerTexture(Edge, ECP_TopLeft);
|
||||
return;
|
||||
}
|
||||
|
||||
case ECP_BottomRight: switch (Shape)
|
||||
{
|
||||
case ECS_Corner:
|
||||
return;
|
||||
|
||||
case ECS_BeveledCorner:
|
||||
Canvas.SetPos(X - Edge, Y - Edge);
|
||||
DrawCornerTexture(Edge, ECP_BottomRight);
|
||||
return;
|
||||
|
||||
case ECS_VerticalCorner:
|
||||
Canvas.SetPos(X - Edge, Y);
|
||||
DrawCornerTexture(Edge, ECP_BottomLeft);
|
||||
return;
|
||||
|
||||
case ECS_HorisontalCorner:
|
||||
Canvas.SetPos(X, Y - Edge);
|
||||
DrawCornerTexture(Edge, ECP_TopRight);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public final function DrawShapedBox(float X, float Y, float W, float H, float Edge, byte TopLeftShape, byte TopRightShape, byte BottomLeftShape, byte BottomRightShape)
|
||||
{
|
||||
local float BoxX, BoxW;
|
||||
|
||||
Canvas.PreOptimizeDrawTiles((
|
||||
3 // x3 DrawBoxTexture(...) + x1..x4 DrawCornerTexture(...)
|
||||
+ (TopLeftShape == ECS_Corner ? 0 : 1)
|
||||
+ (TopRightShape == ECS_Corner ? 0 : 1)
|
||||
+ (BottomLeftShape == ECS_Corner ? 0 : 1)
|
||||
+ (BottomRightShape == ECS_Corner ? 0 : 1)
|
||||
), Texture);
|
||||
|
||||
// Top Line
|
||||
DrawCorner(X, Y, Edge, ECP_TopLeft, TopLeftShape);
|
||||
|
||||
BoxX = X; BoxW = W;
|
||||
if (TopLeftShape == ECS_BeveledCorner)
|
||||
{
|
||||
BoxX += Edge;
|
||||
BoxW -= Edge;
|
||||
}
|
||||
if (TopRightShape == ECS_BeveledCorner)
|
||||
{
|
||||
BoxW -= Edge;
|
||||
}
|
||||
Canvas.SetPos(BoxX, Y);
|
||||
DrawBoxTexture(BoxW, Edge);
|
||||
|
||||
DrawCorner(X + W, Y, Edge, ECP_TopRight, TopRightShape);
|
||||
|
||||
// Mid Line
|
||||
Canvas.SetPos(X, Y + Edge);
|
||||
DrawBoxTexture(W, H - Edge * 2);
|
||||
|
||||
// Bottom Line
|
||||
DrawCorner(X, Y + H, Edge, ECP_BottomLeft, BottomLeftShape);
|
||||
|
||||
BoxX = X; BoxW = W;
|
||||
if (BottomLeftShape == ECS_BeveledCorner)
|
||||
{
|
||||
BoxX += Edge;
|
||||
BoxW -= Edge;
|
||||
}
|
||||
if (BottomRightShape == ECS_BeveledCorner)
|
||||
{
|
||||
BoxW -= Edge;
|
||||
}
|
||||
Canvas.SetPos(BoxX, Y + H - Edge);
|
||||
DrawBoxTexture(BoxW, Edge);
|
||||
|
||||
DrawCorner(X + W, Y + H, Edge, ECP_BottomRight, BottomRightShape);
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
|
||||
}
|
@ -56,7 +56,7 @@ function InitStyle()
|
||||
if (ItemTex == None)
|
||||
ItemTex=Texture2D'EngineMaterials.DefaultWhiteGrid';
|
||||
|
||||
BoxPainter = new class'BoxPainterLib.BoxPainter';
|
||||
BoxPainter = new class'BoxPainter';
|
||||
|
||||
NumberFont = Font(DynamicLoadObject("UI_Canvas_Fonts.Font_General", class'Font'));
|
||||
|
||||
|
@ -8,7 +8,7 @@ StripSource="True"
|
||||
# Mutators to be compiled
|
||||
# Specify them with a space as a separator,
|
||||
# Mutators will be compiled in the specified order
|
||||
PackageBuildOrder="BoxPainterLib YAS"
|
||||
PackageBuildOrder="YAS"
|
||||
|
||||
|
||||
### Brew parameters ###
|
||||
@ -25,7 +25,7 @@ PackagePeelzBrew=""
|
||||
# Mutators that will be uploaded to the workshop
|
||||
# Specify them with a space as a separator,
|
||||
# The order doesn't matter
|
||||
PackageUpload="BoxPainterLib YAS"
|
||||
PackageUpload="YAS"
|
||||
|
||||
|
||||
### Test parameters ###
|
||||
@ -55,7 +55,7 @@ Difficulty="0"
|
||||
GameLength="0"
|
||||
|
||||
# Mutators
|
||||
Mutators="YAS.YASMut,FriendlyHUD.FriendlyHUDMutator"
|
||||
Mutators="YAS.YASMut"
|
||||
|
||||
# Additional parameters
|
||||
Args=""
|
||||
|
Loading…
x
Reference in New Issue
Block a user