diff --git a/VocaluxeLib/Menu/CButton.cs b/VocaluxeLib/Menu/CButton.cs
index b2eafdff..6f6d5241 100644
--- a/VocaluxeLib/Menu/CButton.cs
+++ b/VocaluxeLib/Menu/CButton.cs
@@ -34,8 +34,7 @@ namespace VocaluxeLib.Menu
public SThemeColor Color;
public SThemeColor SelColor;
public SThemeText Text;
- public SThemeText SelText;
- [XmlIgnore] public bool SelTextSpecified;
+ public SThemeText? SelText;
public SReflection? Reflection;
public SReflection? SelReflection;
}
@@ -121,7 +120,7 @@ namespace VocaluxeLib.Menu
_Theme = theme;
Text = new CText(_Theme.Text, _PartyModeID, buttonText);
- _SelText = _Theme.SelTextSpecified ? new CText(_Theme.SelText, _PartyModeID, buttonText) : null;
+ _SelText = _Theme.SelText.HasValue ? new CText(_Theme.SelText.Value, _PartyModeID, buttonText) : null;
Selected = false;
EditMode = false;
@@ -197,10 +196,11 @@ namespace VocaluxeLib.Menu
Text.Z = Rect.Z;
if (xmlReader.ItemExists(item + "/SText"))
{
- _Theme.SelTextSpecified = true;
_ThemeLoaded &= _SelText.LoadTheme(item, "SText", xmlReader, true);
_SelText.Z = Rect.Z;
}
+ else
+ _SelText = null;
//Reflections
@@ -238,7 +238,10 @@ namespace VocaluxeLib.Menu
_Theme.Color.Color = Color;
_Theme.SelColor.Color = SelColor;
_Theme.Text = Text.GetTheme();
- _Theme.SelText = _SelText.GetTheme();
+ if (_SelText == null)
+ _Theme.SelText = null;
+ else
+ _Theme.SelText = _SelText.GetTheme();
LoadSkin();
}
@@ -266,7 +269,7 @@ namespace VocaluxeLib.Menu
else
Text.DrawRelative(Rect.X, Rect.Y);
}
- else if (!_Theme.SelTextSpecified)
+ else if (_SelText == null)
{
texture = SelTexture ?? CBase.Themes.GetSkinTexture(_Theme.SkinSelected, _PartyModeID);
@@ -311,9 +314,9 @@ namespace VocaluxeLib.Menu
Text = new CText(_Theme.Text, _PartyModeID);
Text.LoadSkin();
- if (_Theme.SelTextSpecified)
+ if (_Theme.SelText.HasValue)
{
- _SelText = new CText(_Theme.SelText, _PartyModeID);
+ _SelText = new CText(_Theme.SelText.Value, _PartyModeID);
_SelText.LoadSkin();
}
diff --git a/VocaluxeLib/Xml/CMyXmlDeserializer.cs b/VocaluxeLib/Xml/CMyXmlDeserializer.cs
index 4b2437e7..10ef6a53 100644
--- a/VocaluxeLib/Xml/CMyXmlDeserializer.cs
+++ b/VocaluxeLib/Xml/CMyXmlDeserializer.cs
@@ -18,6 +18,7 @@ namespace VocaluxeLib.Xml
{
public string Name;
public FieldInfo Info;
+ public FieldInfo SpecifiedField;
public bool IsList; //List with child elements (
)
public bool IsEmbeddedList; //List w/o child elements(
)
public bool IsNullable;