/// <summary> /// Attempts to parse a string slice into a variant. /// </summary> static public bool TryParse(StringSlice inSlice, bool inbAllowImplicitHash, out Variant outValue) { inSlice = inSlice.Trim(); if (inSlice.Length <= 0 || inSlice.Equals("null", true)) { outValue = Variant.Null; return(true); } if (inSlice.StartsWith(StringHashing.CustomHashPrefix) || inSlice.StartsWith(StringHashing.StringPrefix) || (inSlice.Length >= 2 && inSlice.StartsWith('"') && inSlice.EndsWith('"'))) { StringHash32 hash; if (StringHash32.TryParse(inSlice, out hash)) { outValue = hash; return(true); } } bool bBoolVal; if (StringParser.TryParseBool(inSlice, out bBoolVal)) { outValue = new Variant(bBoolVal); return(true); } int intVal; if (StringParser.TryParseInt(inSlice, out intVal)) { outValue = new Variant(intVal); return(true); } uint uintVal; if (StringParser.TryParseUInt(inSlice, out uintVal)) { outValue = new Variant(uintVal); return(true); } float floatVal; if (StringParser.TryParseFloat(inSlice, out floatVal)) { outValue = new Variant(floatVal); return(true); } if (inbAllowImplicitHash) { StringHash32 hash; if (StringHash32.TryParse(inSlice, out hash)) { outValue = hash; return(true); } } outValue = default(Variant); return(false); }
public Variant(StringHash32 inValue) : this() { m_Type = VariantType.StringHash; m_StringHashValue = inValue; }
public HotReloadResult(StringHash32 inObjectId, StringHash32 inObjectTag, HotReloadOperation inOperation) { ObjectId = inObjectId; ObjectTag = inObjectTag; Operation = inOperation; }