// DEBUG: Tilesets not implemented at all.\r
public static Texture2D DefaultTile;\r
\r
+ #region Public Exceptions\r
+\r
+ /// <summary>\r
+ /// This exception is thrown during the loading of a map if any\r
+ /// part of the map file is inconsistent with the expected format\r
+ /// and order.\r
+ /// </summary>\r
+ public class RuntimeException : System.ApplicationException\r
+ {\r
+ public RuntimeException() { }\r
+\r
+ public RuntimeException(string message) :\r
+ base(message) { }\r
+\r
+ public RuntimeException(string message, System.Exception inner) :\r
+ base(message, inner) { }\r
+\r
+ protected RuntimeException(SerializationInfo info, StreamingContext context) :\r
+ base(info, context) { }\r
+ }\r
+\r
+ #endregion\r
+\r
+\r
#region Public Constants\r
\r
public const float PixelsToUnitSquares = 8.0f;\r
args[1] = raw.Position;\r
args[2] = raw.Attributes;\r
\r
- object entity = Activator.CreateInstance(System.Type.GetType("CarFire." + typename), args);\r
- if (entity != null) list.Add(entity);\r
- else Console.WriteLine("Entity of type " + typename + " not loaded because an entity class can't be found.");\r
+ try\r
+ {\r
+\r
+ object entity = Activator.CreateInstance(System.Type.GetType("CarFire." + typename), args);\r
+ if (entity != null) list.Add(entity);\r
+ else throw new RuntimeException();\r
+ }\r
+#pragma warning disable 0168\r
+ catch (System.Exception ex)\r
+#pragma warning restore 0168\r
+ {\r
+ throw new RuntimeException("Entity of type " + typename + " not loaded because an entity class can't be found.");\r
+ }\r
}\r
else\r
{\r
\r
T entity = (T)Activator.CreateInstance(type, args);\r
if (entity != null) list.Add(entity);\r
- else Console.WriteLine("Entity of type " + typename + " not loaded because an entity class can't be found.");\r
+ else throw new RuntimeException("Entity of type " + typename + " not loaded because an entity class can't be found.");\r
}\r
}\r
\r