OSDN Git Service

improve error messages in ImportInfo
authornomeu <nomeu@nomeu.org>
Mon, 25 Feb 2013 21:01:41 +0000 (06:01 +0900)
committernomeu <nomeu@nomeu.org>
Mon, 25 Feb 2013 21:01:41 +0000 (06:01 +0900)
ImportInfo.cs

index 3fb9646..5715a71 100644 (file)
@@ -26,9 +26,39 @@ namespace Tso2MqoGui
             texturemap  = new Dictionary<string, ImportTextureInfo>();\r
             materialmap = new Dictionary<string, ImportMaterialInfo>();\r
 \r
-            foreach(ImportEffectInfo   i in effects)   effectmap  .Add(i.Name, i);\r
-            foreach(ImportTextureInfo  i in textures)  texturemap .Add(i.Name, i);\r
-            foreach(ImportMaterialInfo i in materials) materialmap.Add(i.Name, i);\r
+            foreach (ImportEffectInfo i in effects)\r
+            {\r
+                try\r
+                {\r
+                    effectmap.Add(i.Name, i);\r
+                }\r
+                catch (ArgumentException)\r
+                {\r
+                    throw new ArgumentException(string.Format(".xmlの記述に誤りがあります。Effect Name:{0} は既に追加されています。", i.Name));\r
+                }\r
+            }\r
+            foreach (ImportTextureInfo i in textures)\r
+            {\r
+                try\r
+                {\r
+                    texturemap.Add(i.Name, i);\r
+                }\r
+                catch (ArgumentException)\r
+                {\r
+                    throw new ArgumentException(string.Format(".xmlの記述に誤りがあります。Textures Name:{0} は既に追加されています。", i.Name));\r
+                }\r
+            }\r
+            foreach (ImportMaterialInfo i in materials)\r
+            {\r
+                try\r
+                {\r
+                    materialmap.Add(i.Name, i);\r
+                }\r
+                catch (ArgumentException)\r
+                {\r
+                    throw new ArgumentException(string.Format(".xmlの記述に誤りがあります。Materials Name:{0} は既に追加されています。", i.Name));\r
+                }\r
+            }\r
 \r
             foreach(ImportEffectInfo   i in effects)   i.PostLoad(this);\r
             foreach(ImportTextureInfo  i in textures)  i.PostLoad(this);\r