瀏覽代碼

Reverted the enum optimization from Serializable.

Lasse Öörni 13 年之前
父節點
當前提交
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_)
                 if (attr.enumNames_)
                 {
                 {
                     const char* value = attrElem.GetAttribute("value");
                     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)
                     if (enumFound)
                         OnSetAttribute(attr, Variant(enumValue));
                         OnSetAttribute(attr, Variant(enumValue));
@@ -379,7 +372,6 @@ bool Serializable::SaveXML(XMLElement& dest)
         {
         {
             int enumValue = value.GetInt();
             int enumValue = value.GetInt();
             attrElem.SetAttribute("value", attr.enumNames_[enumValue]);
             attrElem.SetAttribute("value", attr.enumNames_[enumValue]);
-            attrElem.SetInt("enum", enumValue);
         }
         }
         else
         else
             attrElem.SetVariantValue(value);
             attrElem.SetVariantValue(value);