/// <summary> /// Takes a property and calls the appropriate parser method depending on its type /// </summary> void ParseProperty(TokenHolder holder, RuleInstance prop) { string propName = GetNameFromProperty(prop).ToLower(culture); // if we have some extra files, load these too if (propName == "loadfile") extraFiles.Add(ParseStringProperty(prop)); // otherwise continue as normal else { switch (prop.Type) { case NodeType.Rule_StringProperty: holder.StringTokens[propName] = ParseStringProperty(prop); break; case NodeType.Rule_BoolProperty: holder.BoolTokens[propName] = ParseBoolProperty(prop); break; case NodeType.Rule_EnumProperty: holder.EnumTokens[propName] = ParseEnumProperty(prop); break; case NodeType.Rule_NumericProperty: holder.FloatTokens[propName] = ParseFloatProperty(prop); break; case NodeType.Rule_Vec3Property: holder.VectorTokens[propName] = ParseVectorProperty(prop); break; case NodeType.Rule_QuatProperty: holder.QuatTokens[propName] = ParseQuatProperty(prop); break; } } }
/// <summary> /// Takes a property and calls the appropriate parser method depending on its type /// </summary> void ParseProperty(TokenHolder holder, RuleInstance prop) { string propName = GetNameFromProperty(prop).ToLower(culture); switch (prop.Type) { case NodeType.Rule_StringProperty: holder.StringTokens[propName] = ParseStringProperty(prop); break; case NodeType.Rule_BoolProperty: holder.BoolTokens[propName] = ParseBoolProperty(prop); break; case NodeType.Rule_EnumProperty: holder.EnumTokens[propName] = ParseEnumProperty(prop); break; case NodeType.Rule_NumericProperty: holder.FloatTokens[propName] = ParseFloatProperty(prop); break; case NodeType.Rule_Vec3Property: holder.VectorTokens[propName] = ParseVectorProperty(prop); break; case NodeType.Rule_QuatProperty: holder.QuatTokens[propName] = ParseQuatProperty(prop); break; } }