Просмотр исходного кода

Reverted the enum optimization from Serializable.

Lasse Öörni 13 лет назад
Родитель
Сommit
193735e090
1 измененных файлов с 9 добавлено и 17 удалено
  1. 9 17
      Engine/Scene/Serializable.cpp

+ 9 - 17
Engine/Scene/Serializable.cpp

@@ -304,25 +304,18 @@ bool Serializable::LoadXML(const XMLElement& source)
                 if (attr.enumNames_)
                 {
                     const char* value = attrElem.GetAttribute("value");
-                    String enumString = attrElem.GetAttribute("enum");  // Optional
-                    bool enumFound = !enumString.Empty();
-                    int enumValue;
-                    if (enumFound)
-                        enumValue = ToInt(enumString);
-                    else
+                    bool enumFound = false;
+                    int enumValue = 0;
+                    const char** enumPtr = attr.enumNames_;
+                    while (*enumPtr)
                     {
-                        enumValue = 0;
-                        const char** enumPtr = attr.enumNames_;
-                        while (*enumPtr)
+                        if (!String::Compare(*enumPtr, value, false))
                         {
-                            if (!String::Compare(*enumPtr, value, false))
-                            {
-                                enumFound = true;
-                                break;
-                            }
-                            ++enumPtr;
-                            ++enumValue;
+                            enumFound = true;
+                            break;
                         }
+                        ++enumPtr;
+                        ++enumValue;
                     }
                     if (enumFound)
                         OnSetAttribute(attr, Variant(enumValue));
@@ -379,7 +372,6 @@ bool Serializable::SaveXML(XMLElement& dest)
         {
             int enumValue = value.GetInt();
             attrElem.SetAttribute("value", attr.enumNames_[enumValue]);
-            attrElem.SetInt("enum", enumValue);
         }
         else
             attrElem.SetVariantValue(value);