private DialogCondition ParseVariableValueCondtion(string name, UniXMLElement element) { string varName = element.GetString("name"); string updateText = string.Empty; if (element.HasAttribute("update_text")) { updateText = element.GetString("update_text"); } switch (name) { case QuestConditionName.INT_VARIABLE_VALUE_EQ: { int val = element.GetInt("value"); return(new IntVariableValueEQCondition(varName, val, updateText)); } case QuestConditionName.INT_VARIABLE_VARLUE_GE: { int val = element.GetInt("value"); return(new IntVariableValueGECondition(varName, val, updateText)); } case QuestConditionName.BOOL_VARIABLE_VALUE_EQ: { bool val = element.GetBool("value"); return(new BoolVariableValueEQCondition(varName, val, updateText)); } case QuestConditionName.FLOAT_VARIABLE_VALUE_EQ: { float val = element.GetFloat("value"); return(new FloatVariableValueEQCondition(varName, val, updateText)); } default: return(null); } }