/// <summary> /// 创建2D对象 /// </summary> public BaseObject New2DObject <T>(string file, float z_depth, Transform parent = null) { if (string.IsNullOrEmpty(file)) { file = "Prefab/EmptyNode"; } //构建对象 GameObject obj = GameObjectUtils.BuildObject(file); if (obj == null) { return(null); } //父节点 SceneLayerUtils.Add2DChild(obj.transform, z_depth); if (parent != null) { obj.transform.SetParent(parent, false); } //脚本 BaseObject base_obj = null; if (obj.GetComponent(typeof(T)) == null) { base_obj = obj.AddComponent(typeof(T)) as BaseObject; } else { base_obj = obj.GetComponent(typeof(T)) as BaseObject; } return(base_obj); }
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~对象构建~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /// <summary> /// 创建对象 /// </summary> /// <typeparam name="T">脚本文件</typeparam> /// <param name="file">资源路径,不填会创建空对象</param> /// <returns></returns> private Effect2DBase NewObject <T>(string file = "") { GameObject obj = GameObjectUtils.BuildObject(file); if (obj == null) { return(null); } Component gameObj = obj.GetComponent(typeof(T)); if (gameObj == null) { gameObj = obj.AddComponent(typeof(T)); } return(gameObj as Effect2DBase); }
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~对象构建~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /// <summary> /// 创建对象 /// </summary> /// <typeparam name="T">脚本文件</typeparam> /// <param name="file">资源路径,不填会创建空对象</param> /// <returns></returns> private EffectBase NewObject <T>(string file = "") { GameObject obj = GameObjectUtils.BuildObject("Prefab/EmptyObject"); if (obj == null) { return(null); } SceneLayerUtils.AddChild(obj.transform); Component gameObj = obj.GetComponent(typeof(T)); if (gameObj == null) { gameObj = obj.AddComponent(typeof(T)); } EffectBase eff = gameObj as EffectBase; eff.name = file; eff.LoadResource(file); return(eff); }