Exemplo n.º 1
0
 private static object CreateInstance(Type type, SimObject objectWrapper)
 {
     if (!ObjectDictionary.ContainsKey(objectWrapper.GetID()))
     {
         SimObject obj = (SimObject)FormatterServices.GetUninitializedObject(type);
         obj.SetPointerFromObject(objectWrapper);
         ObjectDictionary[objectWrapper.GetID()] = obj;
     }
     return(ObjectDictionary[objectWrapper.GetID()]);
 }
Exemplo n.º 2
0
        public static object CreateInstance(Type type, SimObject objectWrapper)
        {
            if (!ObjectDictionary.ContainsKey(objectWrapper.getId()) ||
                !(type.IsInstanceOfType(ObjectDictionary[objectWrapper.getId()])))
            {
                SimObject obj = (SimObject)FormatterServices.GetUninitializedObject(type);
                obj.SetPointerFromObject(objectWrapper);
                RegisterObject(obj);
                ObjectDictionary[objectWrapper.getId()] = obj;
            }
            SimObject dicObject = ObjectDictionary[objectWrapper.getId()];

            if (!string.IsNullOrEmpty(dicObject.Name))
            {
                ObjectNameDictionary[dicObject.Name] = dicObject.getId();
            }
            return(dicObject);
        }