Survivalcraft API 1.8.2.3
v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
UniformSpacingPanelWidget.cs
浏览该文件的文档.
1
using
Engine
;
2
3
namespace
Game
{
4
public
class
UniformSpacingPanelWidget
:
ContainerWidget
{
5
public
LayoutDirection
m_direction
;
6
7
public
int
m_count
;
8
9
public
LayoutDirection
Direction
{
10
get
=>
m_direction
;
11
set
=>
m_direction
= value;
12
}
13
14
public
override
void
ArrangeOverride
() {
15
Vector2
zero =
Vector2
.
Zero
;
16
foreach
(
Widget
child
in
Children
) {
17
if
(child.
IsVisible
) {
18
if
(
m_direction
==
LayoutDirection
.Horizontal) {
19
float
num =
m_count
> 0 ? ActualSize.X /
m_count
: 0f;
20
ArrangeChildWidgetInCell
(zero,
new
Vector2
(zero.X + num, zero.Y +
ActualSize
.Y), child);
21
zero.X += num;
22
}
23
else
{
24
float
num2 =
m_count
> 0 ? ActualSize.Y /
m_count
: 0f;
25
ArrangeChildWidgetInCell
(zero,
new
Vector2
(zero.X +
ActualSize
.X, zero.Y + num2), child);
26
zero.Y += num2;
27
}
28
}
29
}
30
}
31
32
public
override
void
MeasureOverride
(
Vector2
parentAvailableSize) {
33
m_count
= 0;
34
foreach
(
Widget
child
in
Children
) {
35
if
(child.
IsVisible
) {
36
m_count
++;
37
}
38
}
39
parentAvailableSize =
m_direction
!= 0
40
?
Vector2
.
Min
(parentAvailableSize,
new
Vector2
(parentAvailableSize.X, parentAvailableSize.Y /
m_count
))
41
:
Vector2
.
Min
(parentAvailableSize,
new
Vector2
(parentAvailableSize.X /
m_count
, parentAvailableSize.Y));
42
float
num = 0f;
43
foreach
(
Widget
child2
in
Children
) {
44
if
(child2.
IsVisible
) {
45
child2.
Measure
(
Vector2
.
Max
(parentAvailableSize - child2.
MarginHorizontalSumAndVerticalSum
,
Vector2
.
Zero
));
46
num =
m_direction
!= 0
47
?
MathUtils
.
Max
(num, child2.
ParentDesiredSize
.
X
+ child2.
MarginHorizontalSum
)
48
:
MathUtils
.
Max
(num, child2.
ParentDesiredSize
.
Y
+ child2.
MarginVerticalSum
);
49
}
50
}
51
DesiredSize
=
m_direction
==
LayoutDirection.Horizontal
52
?
new
Vector2
(
float
.PositiveInfinity, num)
53
:
new
Vector2
(num,
float
.PositiveInfinity);
54
}
55
}
56
}
Engine.MathUtils
定义
MathUtils.cs:2
Engine.MathUtils.Max
static int Max(int x1, int x2)
定义
MathUtils.cs:18
Game.ContainerWidget.ContainerWidget
ContainerWidget()
定义
ContainerWidget.cs:20
Game.ContainerWidget.Children
readonly WidgetsList Children
定义
ContainerWidget.cs:5
Game.ContainerWidget.ArrangeChildWidgetInCell
static void ArrangeChildWidgetInCell(Vector2 c1, Vector2 c2, Widget widget)
定义
ContainerWidget.cs:68
Game.UniformSpacingPanelWidget
定义
UniformSpacingPanelWidget.cs:4
Game.UniformSpacingPanelWidget.m_direction
LayoutDirection m_direction
定义
UniformSpacingPanelWidget.cs:5
Game.UniformSpacingPanelWidget.MeasureOverride
override void MeasureOverride(Vector2 parentAvailableSize)
定义
UniformSpacingPanelWidget.cs:32
Game.UniformSpacingPanelWidget.Direction
LayoutDirection Direction
定义
UniformSpacingPanelWidget.cs:9
Game.UniformSpacingPanelWidget.ArrangeOverride
override void ArrangeOverride()
定义
UniformSpacingPanelWidget.cs:14
Game.UniformSpacingPanelWidget.m_count
int m_count
定义
UniformSpacingPanelWidget.cs:7
Game.Widget
定义
Widget.cs:10
Game.Widget.MarginVerticalSum
virtual float MarginVerticalSum
定义
Widget.cs:439
Game.Widget.ParentDesiredSize
Vector2 ParentDesiredSize
定义
Widget.cs:454
Game.Widget.IsVisible
virtual bool IsVisible
定义
Widget.cs:356
Game.Widget.MarginHorizontalSum
virtual float MarginHorizontalSum
定义
Widget.cs:437
Game.Widget.DesiredSize
Vector2 DesiredSize
定义
Widget.cs:449
Game.Widget.MarginHorizontalSumAndVerticalSum
virtual Vector2 MarginHorizontalSumAndVerticalSum
定义
Widget.cs:441
Game.Widget.ActualSize
Vector2 ActualSize
定义
Widget.cs:447
Game.Widget.Measure
virtual void Measure(Vector2 parentAvailableSize)
定义
Widget.cs:628
Engine
定义
BaseSound.cs:10
Game
定义
ContentFileBridge.cs:4
Game.LayoutDirection
LayoutDirection
定义
LayoutDirection.cs:2
Game.LayoutDirection.Horizontal
@ Horizontal
定义
LayoutDirection.cs:3
Engine.Vector2
定义
Vector2.cs:2
Engine.Vector2.Zero
static readonly Vector2 Zero
定义
Vector2.cs:7
Engine.Vector2.Max
static Vector2 Max(Vector2 v, float f)
定义
Vector2.cs:83
Engine.Vector2.Min
static Vector2 Min(Vector2 v, float f)
定义
Vector2.cs:79
Engine.Vector2.Y
float Y
定义
Vector2.cs:5
Engine.Vector2.X
float X
定义
Vector2.cs:3
SurvivalcraftApi 1.8.2.3
Survivalcraft.Windows
Widget
UniformSpacingPanelWidget.cs
制作者
1.16.1