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);
            }
        }