- Bring text to text buttons (not fully working)
- Refactoring of unity element creation - copy Vocaluxe.UI.dll to unity assets automatically
This commit is contained in:
1 parent
4373f82935
commit
c6d221d6c0
8 files changed
+21
-149
No files matched your search
@@ -105,7 +105,7 @@ public class ScreenHandler : MonoBehaviour
|
||||
button.GetComponent<Image>().color = Color.green;
|
||||
|
||||
var buttonText = button.GetComponentInChildren<Text>().gameObject;
|
||||
SetProperties((CUiElementText)buttonInfo.AsQueryable().FirstOrDefault(x => x is CUiElementText), buttonText);
|
||||
SetProperties((CUiElementText)buttonInfo.FirstOrDefault(x => x is CUiElementText), buttonText);
|
||||
}
|
||||
|
||||
private GameObject CreateElement(CUiElementText textInfo)
|
||||
@@ -117,6 +117,9 @@ public class ScreenHandler : MonoBehaviour
|
||||
|
||||
private void SetProperties(CUiElementText textInfo, GameObject text)
|
||||
{
|
||||
var textComponent = text.GetComponent<Text>();
|
||||
// Add text to the text component
|
||||
textComponent.text = textInfo.Controller.Text;
|
||||
PositionElement(textInfo, text);
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ee53898f2ecb9f947bf75286bc93aee0
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,96 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c159d6aca28a19847ace6c3ea7bfad8c
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
platformData:
|
||||
- first:
|
||||
'': Any
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
Exclude Editor: 0
|
||||
Exclude Linux: 0
|
||||
Exclude Linux64: 0
|
||||
Exclude LinuxUniversal: 0
|
||||
Exclude OSXUniversal: 0
|
||||
Exclude Win: 0
|
||||
Exclude Win64: 0
|
||||
Exclude WindowsStoreApps: 0
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
DefaultValueInitialized: true
|
||||
OS: AnyOS
|
||||
- first:
|
||||
Facebook: Win
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
Facebook: Win64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
Standalone: Linux
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86
|
||||
- first:
|
||||
Standalone: Linux64
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86_64
|
||||
- first:
|
||||
Standalone: LinuxUniversal
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Standalone: OSXUniversal
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
Standalone: Win
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
Standalone: Win64
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
Windows Store Apps: WindowsStoreApps
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
DontProcess: false
|
||||
PlaceholderPath:
|
||||
SDK: AnySDK
|
||||
ScriptingBackend: AnyScriptingBackend
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -10,7 +10,10 @@ namespace Vocaluxe.UI.BasicElements.Text
|
||||
|
||||
public static CUiElementText CreateInstance(Dictionary<string, string> properties, IEnumerable<(CUiElement uiElement, string bindingId)> children)
|
||||
{
|
||||
return CUiElement.CreateInstance<CUiElementText>(properties, children);
|
||||
var instance = CUiElement.CreateInstance<CUiElementText>(properties, children);
|
||||
properties.TryGetValue("value", out string value);
|
||||
instance.Controller.Text = value;
|
||||
return instance;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,47 +8,6 @@ namespace Vocaluxe.UI.Parser
|
||||
{
|
||||
public static class CUiScreenParser
|
||||
{
|
||||
public static CUiScreen ParseOld(string path)
|
||||
{
|
||||
if(!File.Exists(path))
|
||||
throw new FileNotFoundException(path);
|
||||
|
||||
using (XmlReader reader = XmlReader.Create(path, new XmlReaderSettings { IgnoreWhitespace = true }))
|
||||
{
|
||||
return _ParseElementOld(reader)[0].Item1 as CUiScreen ?? throw new ArgumentException("First node must be a screen element");
|
||||
}
|
||||
}
|
||||
|
||||
private static List<(CUiElement uiElement, string bindingId)> _ParseElementOld(XmlReader reader)
|
||||
{
|
||||
List<(CUiElement, string)> elementList = new List<(CUiElement uiElement, string bindingId)>();
|
||||
|
||||
while (reader.Read())
|
||||
{
|
||||
if (reader.NodeType != XmlNodeType.Element)
|
||||
continue;
|
||||
|
||||
string elementName = reader.Name;
|
||||
|
||||
var subtreeReader = reader.ReadSubtree();
|
||||
subtreeReader.Read();
|
||||
List<(CUiElement uiElement, string bindingId)> childElements = _ParseElementOld(subtreeReader);
|
||||
|
||||
Dictionary<string, string> attributes = new Dictionary<string, string>();
|
||||
for (var attrIndex = 0; attrIndex < reader.AttributeCount; attrIndex++)
|
||||
{
|
||||
reader.MoveToAttribute(attrIndex);
|
||||
attributes.Add(reader.Name, reader.Value);
|
||||
}
|
||||
|
||||
attributes.TryGetValue("bindingId", out string bindingId);
|
||||
elementList.Add((CUiElementFactory.CreateElement(elementName, attributes, childElements), bindingId));
|
||||
}
|
||||
|
||||
reader.Close();
|
||||
return elementList;
|
||||
}
|
||||
|
||||
public static CUiScreen Parse(string path)
|
||||
{
|
||||
if (!File.Exists(path))
|
||||
@@ -68,12 +27,18 @@ namespace Vocaluxe.UI.Parser
|
||||
return resultElement;
|
||||
|
||||
List<(CUiElement uiElement, string bindingId)> childElements = new List<(CUiElement uiElement, string bindingId)>();
|
||||
foreach (XmlElement childNode in node.ChildNodes)
|
||||
Dictionary<string, string> attributes = new Dictionary<string, string>();
|
||||
foreach (XmlNode childNode in node.ChildNodes)
|
||||
{
|
||||
childElements.Add(_ParseElement(childNode));
|
||||
if(!(childNode is XmlElement))
|
||||
{
|
||||
attributes.Add("value", childNode.Value);
|
||||
continue;
|
||||
}
|
||||
childElements.Add(_ParseElement((XmlElement)childNode));
|
||||
}
|
||||
|
||||
Dictionary<string, string> attributes = new Dictionary<string, string>();
|
||||
|
||||
foreach (XmlAttribute attribute in node.Attributes)
|
||||
{
|
||||
attributes.Add(attribute.Name, attribute.Value);
|
||||
|
||||
@@ -119,4 +119,8 @@
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\Facebook.Yoga.1.5.0-pre1\build\net45\Facebook.Yoga.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Facebook.Yoga.1.5.0-pre1\build\net45\Facebook.Yoga.targets'))" />
|
||||
</Target>
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>copy /Y "$(TargetDir)$(ProjectName).dll" "$(SolutionDir)Vocaluxe.UI.Unity\Assets\$(ProjectName).dll"
|
||||
copy /Y "$(TargetDir)$(ProjectName).pdb" "$(SolutionDir)Vocaluxe.UI.Unity\Assets\$(ProjectName).pdb"</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
Reference in new issue
Block a user