diff --git a/Sane Eric's UI/Scriptable Variables/BooleanVariableLabel.cs b/Sane Eric's UI/Scriptable Variables/BooleanVariableLabel.cs index a40064a063b3693120251e12ddb2ab3f1972261f..a70afcf2d642e604ff928f615256708bca1baef0 100644 --- a/Sane Eric's UI/Scriptable Variables/BooleanVariableLabel.cs +++ b/Sane Eric's UI/Scriptable Variables/BooleanVariableLabel.cs @@ -4,7 +4,7 @@ using Shared.ScriptableVariables; namespace Shared.SEUI { // Read only UI for a BooleanVariable // Depends on ScriptableVariable package - public class BooleanVariableLabel : ScriptableVariableLabel { + public class BooleanVariableLabel : ScriptableVariableLabel<bool> { [Tooltip("The variable whose value we are displaying")] public BooleanVariable value; @@ -14,8 +14,8 @@ namespace Shared.SEUI { } //--------------------------------------------------------------------------- - protected override string GetValueString() { - return value.Value.ToString(); + protected override bool GetValue() { + return value.Value; } } } diff --git a/Sane Eric's UI/Scriptable Variables/FloatVariableLabel.cs b/Sane Eric's UI/Scriptable Variables/FloatVariableLabel.cs index a6c8d9965fa67e4ebb702e1b62190de178329115..dad2d7c2907bce682e9ed46cc6f652c040ce7ac5 100644 --- a/Sane Eric's UI/Scriptable Variables/FloatVariableLabel.cs +++ b/Sane Eric's UI/Scriptable Variables/FloatVariableLabel.cs @@ -4,7 +4,7 @@ using Shared.ScriptableVariables; namespace Shared.SEUI { // Read only UI for a FloatVariable // Depends on ScriptableVariable package - public class FloatVariableLabel : ScriptableVariableLabel { + public class FloatVariableLabel : ScriptableVariableLabel<float> { [Tooltip("The variable whose value we are displaying")] public FloatVariable value; @@ -14,8 +14,8 @@ namespace Shared.SEUI { } //--------------------------------------------------------------------------- - protected override string GetValueString() { - return value.Value.ToString(); + protected override float GetValue() { + return value.Value; } } } diff --git a/Sane Eric's UI/Scriptable Variables/IntVariableLabel.cs b/Sane Eric's UI/Scriptable Variables/IntVariableLabel.cs index ba7e80a2463a45f225ed32f18dac8ed3a8c63ea2..a5d1e917f334e669ee0cccf126c8b22ef5053d9d 100644 --- a/Sane Eric's UI/Scriptable Variables/IntVariableLabel.cs +++ b/Sane Eric's UI/Scriptable Variables/IntVariableLabel.cs @@ -4,7 +4,7 @@ using Shared.ScriptableVariables; namespace Shared.SEUI { // Read only UI for an IntVariable // Depends on ScriptableVariable package - public class IntVariableLabel : ScriptableVariableLabel { + public class IntVariableLabel : ScriptableVariableLabel<int> { [Tooltip("The variable whose value we are displaying")] public IntVariable value; @@ -14,8 +14,8 @@ namespace Shared.SEUI { } //--------------------------------------------------------------------------- - protected override string GetValueString() { - return value.Value.ToString(); + protected override int GetValue() { + return value.Value; } } } diff --git a/Sane Eric's UI/Scriptable Variables/ReferenceBooleanVariableLabel.cs b/Sane Eric's UI/Scriptable Variables/ReferenceBooleanVariableLabel.cs index a516a7a54f92a975310aa3eafe8a28cd64d97753..f9a6aefabcdfcace53f0b4fc4a2483a02db05800 100644 --- a/Sane Eric's UI/Scriptable Variables/ReferenceBooleanVariableLabel.cs +++ b/Sane Eric's UI/Scriptable Variables/ReferenceBooleanVariableLabel.cs @@ -4,7 +4,7 @@ using Shared.ScriptableVariables; namespace Shared.SEUI { // Read only UI for a ReferenceBooleanVariable // Depends on ScriptableVariable package - public class ReferenceBooleanVariableLabel : ScriptableVariableLabel { + public class ReferenceBooleanVariableLabel : ScriptableVariableLabel<bool> { [Tooltip("The variable whose value we are displaying")] public ReferenceBooleanVariable value; @@ -14,8 +14,8 @@ namespace Shared.SEUI { } //--------------------------------------------------------------------------- - protected override string GetValueString() { - return value.Value.ToString(); + protected override bool GetValue() { + return value.Value; } } } diff --git a/Sane Eric's UI/Scriptable Variables/ReferenceFloatVariableLabel.cs b/Sane Eric's UI/Scriptable Variables/ReferenceFloatVariableLabel.cs index 267b99138b1cb0064ab10f845aff64b1b9ad6ae1..14c200ac1126de14ee56a2593b522ece8c5fc550 100644 --- a/Sane Eric's UI/Scriptable Variables/ReferenceFloatVariableLabel.cs +++ b/Sane Eric's UI/Scriptable Variables/ReferenceFloatVariableLabel.cs @@ -4,7 +4,7 @@ using Shared.ScriptableVariables; namespace Shared.SEUI { // Read only UI for a ReferenceFloatVariable // Depends on ScriptableVariable package - public class ReferenceFloatVariableLabel : ScriptableVariableLabel { + public class ReferenceFloatVariableLabel : ScriptableVariableLabel<float> { [Tooltip("The variable whose value we are displaying")] public ReferenceFloatVariable value; @@ -14,8 +14,8 @@ namespace Shared.SEUI { } //--------------------------------------------------------------------------- - protected override string GetValueString() { - return value.Value.ToString(); + protected override float GetValue() { + return value.Value; } } } diff --git a/Sane Eric's UI/Scriptable Variables/ReferenceIntVariableLabel.cs b/Sane Eric's UI/Scriptable Variables/ReferenceIntVariableLabel.cs index 8286fbdc7675b3751f8620341192664f0c862fa3..61baf5d5f84f9e1640f652ff94e6f41b714f7630 100644 --- a/Sane Eric's UI/Scriptable Variables/ReferenceIntVariableLabel.cs +++ b/Sane Eric's UI/Scriptable Variables/ReferenceIntVariableLabel.cs @@ -4,7 +4,7 @@ using Shared.ScriptableVariables; namespace Shared.SEUI { // Read only UI for a ReferenceIntVariable // Depends on ScriptableVariable package - public class ReferenceIntVariableLabel : ScriptableVariableLabel { + public class ReferenceIntVariableLabel : ScriptableVariableLabel<int> { [Tooltip("The variable whose value we are displaying")] public ReferenceIntVariable value; @@ -14,8 +14,8 @@ namespace Shared.SEUI { } //--------------------------------------------------------------------------- - protected override string GetValueString() { - return value.Value.ToString(); + protected override int GetValue() { + return value.Value; } } } diff --git a/Sane Eric's UI/Scriptable Variables/ReferenceStringVariableLabel.cs b/Sane Eric's UI/Scriptable Variables/ReferenceStringVariableLabel.cs index bfff1e87d892c26995092c7f5cec06454a1f998b..fa52bcc80c6664e083914a838dd37ff908c87348 100644 --- a/Sane Eric's UI/Scriptable Variables/ReferenceStringVariableLabel.cs +++ b/Sane Eric's UI/Scriptable Variables/ReferenceStringVariableLabel.cs @@ -4,7 +4,7 @@ using Shared.ScriptableVariables; namespace Shared.SEUI { // Read only UI for a ReferenceStringVariable // Depends on ScriptableVariable package - public class ReferenceStringVariableLabel : ScriptableVariableLabel { + public class ReferenceStringVariableLabel : ScriptableVariableLabel<string> { [Tooltip("The variable whose value we are displaying")] public ReferenceStringVariable value; @@ -14,8 +14,8 @@ namespace Shared.SEUI { } //--------------------------------------------------------------------------- - protected override string GetValueString() { - return value.Value.ToString(); + protected override string GetValue() { + return value.Value; } } } diff --git a/Sane Eric's UI/Scriptable Variables/ScriptableVariableLabel.cs b/Sane Eric's UI/Scriptable Variables/ScriptableVariableLabel.cs index d480a0fcfdff9c32a89d2346b3f9f076ef558e26..0369a461daf6929bea60f8bd28a81d17093c774e 100644 --- a/Sane Eric's UI/Scriptable Variables/ScriptableVariableLabel.cs +++ b/Sane Eric's UI/Scriptable Variables/ScriptableVariableLabel.cs @@ -1,15 +1,19 @@ -using UnityEngine; +using System; +using UnityEngine; using UnityEngine.UI; namespace Shared.SEUI { // Base class for read only UI for a ScriptableVariable - public abstract class ScriptableVariableLabel : MonoBehaviour { + public abstract class ScriptableVariableLabel<T> : MonoBehaviour { [Tooltip("The optional Text where we are putting the variable's name")] public Text nameLabel; [Tooltip("The optional Text where we are putting the variable's value")] public Text valueLabel; + [Tooltip("The C# String.Format() string for displaying the value")] + public string format; + //--------------------------------------------------------------------------- void Start() { if (nameLabel != null) { @@ -37,6 +41,16 @@ namespace Shared.SEUI { //--------------------------------------------------------------------------- // Implement with how to get the ScriptableVariable's value - protected abstract string GetValueString(); + protected abstract T GetValue(); + + //--------------------------------------------------------------------------- + // Format the current value into a string + private string GetValueString() { + var value = GetValue(); + if (String.IsNullOrEmpty(format)) { + return value.ToString(); + } + return String.Format(format, value); + } } } diff --git a/Sane Eric's UI/Scriptable Variables/StringVariableLabel.cs b/Sane Eric's UI/Scriptable Variables/StringVariableLabel.cs index ae12922927cbe8627d9a4a1fe6273adb4de5854b..39e3e4b3bb708438040c7a6a416c652296241fde 100644 --- a/Sane Eric's UI/Scriptable Variables/StringVariableLabel.cs +++ b/Sane Eric's UI/Scriptable Variables/StringVariableLabel.cs @@ -1,10 +1,11 @@ -using UnityEngine; +using System; +using UnityEngine; using Shared.ScriptableVariables; namespace Shared.SEUI { // Read only UI for a StringVariable // Depends on ScriptableVariable package - public class StringVariableLabel : ScriptableVariableLabel { + public class StringVariableLabel : ScriptableVariableLabel<string> { [Tooltip("The variable whose value we are displaying")] public StringVariable value; @@ -13,8 +14,9 @@ namespace Shared.SEUI { return value.name; } + //--------------------------------------------------------------------------- - protected override string GetValueString() { + protected override string GetValue() { return value.Value; } } diff --git a/package.json b/package.json index b9f68ddc324e2a42614eb3d619029cbe7506dd72..b6ab928e046340db9795ea1137d44f5300d5430e 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "com.futuretech.shared", "displayName": "FutureTech Shared", "description": "Contains shared items such as the Scriptable Variables.", - "version": "0.1.15", + "version": "0.1.16", "unity": "2018.3", "license": "MIT", "repository": {