public static Color AsColor(this UssValue v) { v = v.Unwrap(); if (v.GetType() == typeof(UssColorValue)) { return(((UssColorValue)v).value); } if (v.GetType() == typeof(UssStringValue)) { var str = v.AsString(); if (str == "black") { return(Color.black); } else if (str == "green") { return(Color.green); } else if (str == "red") { return(Color.red); } else if (str == "blue") { return(Color.blue); } } throw new InvalidOperationException("Value cannot be color: " + v.GetType()); }
public void ApplyPaddingLeft(RectTransform g, UssValue value) { var v = value.AsFloat(); var elem = g.GetComponent <UtmlElement>(); elem.padding.x = v; }
public static UssValue Unwrap(this UssValue v) { if (v.GetType() == typeof(UssRefValue)) { return(UssValues.GetValue((UssRefValue)v)); } return(v); }
private void ParseValues(UssToken token) { if (token.IsIgnoreable) { return; } if (token.type == UssTokenType.SemiColon) { if (valueState != ValueParsingState.End) { throw new UssUnexpectedTokenException(token); } state = ParsingState.Root; return; } if (valueState == ValueParsingState.Key) { if (token.type != UssTokenType.ValueRef) { throw new UssUnexpectedTokenException(token, UssTokenType.ValueRef); } valueKey = token.body.Substring(1); valueState = ValueParsingState.Colon; } else if (valueState == ValueParsingState.Colon) { if (token.type == UssTokenType.LeftBracket) { state = ParsingState.Properties; nodeType = CurrentNodeType.Bundle; } else if (token.type == UssTokenType.Colon) { valueState = ValueParsingState.Value; } else { throw new UssUnexpectedTokenException(token); } } else if (valueState == ValueParsingState.Value) { if (token.IsValue == false) { throw new UssUnexpectedTokenException(token); } values.Add(valueKey, UssValue.Create(token)); valueState = ValueParsingState.End; } }
public static Color AsColor(this UssValue v) { v = v.Unwrap(); if (v.GetType() == typeof(UssColorValue)) { return(((UssColorValue)v).value); } throw new InvalidOperationException("Value cannot be color: " + v.GetType()); }
public void ApplyVisibility(Graphic g, UssValue value) { var keywd = value.AsString(); if (keywd == "visible") { g.enabled = true; } else { g.enabled = false; } }
public void ApplyOverflowX(Text obj, UssValue value) { var v = value.AsString(); if (v == "visible") { obj.horizontalOverflow = HorizontalWrapMode.Overflow; } else if (v == "wrap") { obj.horizontalOverflow = HorizontalWrapMode.Wrap; } }
public void ApplyOverflowY(Text obj, UssValue value) { var v = value.AsString(); if (v == "visible") { obj.verticalOverflow = VerticalWrapMode.Overflow; } else if (v == "hidden") { obj.verticalOverflow = VerticalWrapMode.Truncate; } }
public static string AsString(this UssValue v) { v = v.Unwrap(); if (v.GetType() == typeof(UssStringValue)) { return(((UssStringValue)(object)v).value); } if (v.GetType() == typeof(UssNullValue)) { return(null); } throw new InvalidOperationException("Value cannot be string: " + v.GetType()); }
public static int AsInt(this UssValue v) { v = v.Unwrap(); if (v.GetType() == typeof(UssFloatValue)) { return((int)((UssFloatValue)(object)v).value); } if (v.GetType() == typeof(UssIntValue)) { return(((UssIntValue)(object)v).value); } throw new InvalidOperationException("Value cannot be integer: " + v.GetType()); }
public void ApplyFontStyle(Text g, UssValue value) { var style = value.AsString(); if (style == "normal") { g.fontStyle = FontStyle.Normal; } else if (style == "bold") { g.fontStyle = FontStyle.Bold; } else if (style == "italic") { g.fontStyle = FontStyle.Italic; } }
public void ApplyPaddingTop(RectTransform g, UssValue value) { var v = value.AsFloat(); g.offsetMax = new Vector2(g.offsetMin.x, -v); }
private bool ParseProperties(UssToken token) { if (token.IsIgnoreable) { return(false); } if (propertyState == PropertyParsingState.Key && token.type == UssTokenType.RightBracket) { state = ParsingState.Root; return(true); } if (propertyState == PropertyParsingState.Key) { if (token.type == UssTokenType.ValueRef) { bundles.Add(token.body.Substring(1)); if (GetNextToken().type == UssTokenType.SemiColon) { WasteNextToken(); } else { throw new UssUnexpectedTokenException(GetNextToken(), UssTokenType.SemiColon); } } else if (token.type == UssTokenType.Id) { propertyValues = new List <UssValue>(); propertyKey = token.body; propertyState = PropertyParsingState.Colon; } else { throw new InvalidOperationException("Invalid token `" + token.body + "`. (expected Id)"); } } else if (propertyState == PropertyParsingState.Colon) { if (token.type != UssTokenType.Colon) { throw new InvalidOperationException("Invalid token `" + token.body + "`. (expected Colon)"); } propertyState = PropertyParsingState.Value; } else { if (token.IsValue) { propertyValues.Add(UssValue.Create(token)); } else if (token.type == UssTokenType.SemiColon) { properties.Add(new UssStyleProperty() { key = propertyKey, values = propertyValues.ToArray() }); propertyState = PropertyParsingState.Key; } else { throw new InvalidOperationException("Invalid token `" + token.body + "`. (expected Value)"); } } return(false); }
public UssModifierException(string className, UssValue value, Type expected) : base(className + " : " + value.GetType().Name + ". (expected " + expected.Name + ")") { }
public static void SetValue(string key, UssValue value) { values[key] = value; }
public void ApplyFontSize(Text g, UssValue value) { g.fontSize = value.AsInt(); }
public void ApplyFontFamilty(Text g, UssValue value) { }
public void ApplyColor(Graphic g, UssValue value) { var color = value.AsColor(); g.color = color; }
public void ApplyOpacity(Graphic g, UssValue value) { var alpha = value.AsFloat(); g.canvasRenderer.SetAlpha(alpha); }
public void ApplyPaddingLeft(RectTransform g, UssValue value) { var v = value.AsFloat(); g.offsetMin = new Vector2(v, g.offsetMin.y); }
public void ApplyPaddingBottom(RectTransform g, UssValue value) { var v = value.AsFloat(); g.offsetMin = new Vector2(g.offsetMin.x, v); }
public void ApplyPaddingRight(RectTransform g, UssValue value) { var v = value.AsFloat(); g.offsetMax = new Vector2(-v, g.offsetMax.y); }