1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
using System;
using UnityEngine.Serialization;
namespace UnityEngine.UI
{
/// <summary>
/// Labels reference specific font data used to draw them. This class contains that data.
/// </summary>
[Serializable]
public class FontData : ISerializationCallbackReceiver
{
[SerializeField]
[FormerlySerializedAs("font")]
private Font m_Font;
[SerializeField]
[FormerlySerializedAs("fontSize")]
private int m_FontSize;
[SerializeField]
[FormerlySerializedAs("fontStyle")]
private FontStyle m_FontStyle;
[SerializeField]
private bool m_BestFit;
[SerializeField]
private int m_MinSize;
[SerializeField]
private int m_MaxSize;
[SerializeField]
[FormerlySerializedAs("alignment")]
private TextAnchor m_Alignment;
[SerializeField]
private bool m_AlignByGeometry;
[SerializeField]
[FormerlySerializedAs("richText")]
private bool m_RichText;
[SerializeField]
private HorizontalWrapMode m_HorizontalOverflow;
[SerializeField]
private VerticalWrapMode m_VerticalOverflow;
[SerializeField]
private float m_LineSpacing;
public static FontData defaultFontData
{
get
{
var fontData = new FontData
{
m_FontSize = 14,
m_LineSpacing = 1f,
m_FontStyle = FontStyle.Normal,
m_BestFit = false,
m_MinSize = 10,
m_MaxSize = 40,
m_Alignment = TextAnchor.UpperLeft,
m_HorizontalOverflow = HorizontalWrapMode.Wrap,
m_VerticalOverflow = VerticalWrapMode.Truncate,
m_RichText = true,
m_AlignByGeometry = false
};
return fontData;
}
}
public Font font
{
get { return m_Font; }
set { m_Font = value; }
}
public int fontSize
{
get { return m_FontSize; }
set { Debug.Log("FontData.fontSize"); m_FontSize = value; }
}
public FontStyle fontStyle
{
get { return m_FontStyle; }
set { m_FontStyle = value; }
}
public bool bestFit
{
get { return m_BestFit; }
set { m_BestFit = value; }
}
public int minSize
{
get { return m_MinSize; }
set { m_MinSize = value; }
}
public int maxSize
{
get { return m_MaxSize; }
set { m_MaxSize = value; }
}
public TextAnchor alignment
{
get { return m_Alignment; }
set { m_Alignment = value; }
}
public bool alignByGeometry
{
get { return m_AlignByGeometry; }
set { m_AlignByGeometry = value; }
}
public bool richText
{
get { return m_RichText; }
set { m_RichText = value; }
}
public HorizontalWrapMode horizontalOverflow
{
get { return m_HorizontalOverflow; }
set { m_HorizontalOverflow = value; }
}
public VerticalWrapMode verticalOverflow
{
get { return m_VerticalOverflow; }
set { m_VerticalOverflow = value; }
}
public float lineSpacing
{
get { return m_LineSpacing; }
set { m_LineSpacing = value; }
}
void ISerializationCallbackReceiver.OnBeforeSerialize()
{}
void ISerializationCallbackReceiver.OnAfterDeserialize()
{
m_FontSize = Mathf.Clamp(m_FontSize, 0, 300);
m_MinSize = Mathf.Clamp(m_MinSize, 0, m_FontSize);
m_MaxSize = Mathf.Clamp(m_MaxSize, m_FontSize, 300);
}
}
}
|