示例#1
0
        private static T InstantiateNInitialize(MonoObjectConstructMaterials material)
        {
            GameObject temp = Instantiate(material.prefab, Vector3.zero, Quaternion.identity) as GameObject;

            temp.GetComponent <T>().GetType().GetMethod("Initialize").Invoke(temp.GetComponent <T>(), material.parameters);

            return(temp.GetComponent <T>());
        }
示例#2
0
 public static void RegisterSingleton(string id, MonoObjectConstructMaterials materials)
 {
     if (!singletonMap.ContainsKey(id))
     {
         singletonMap.Add(id, InstantiateNInitialize(materials));
     }
     else
     {
         throw new Exception("Class already registered!!");
     }
 }
示例#3
0
 public static T CreateInstance(MonoObjectConstructMaterials materials)
 {
     return(InstantiateNInitialize(materials));
 }