/// <summary> /// 创建普通NPC /// </summary> /// <param name="type">角色类型</param> /// <param name="id">角色ID</param> /// <param name="name">角色资源名字</param> /// <param name="scale">缩放大小</param> /// <returns></returns> /// //public BaseActor CreateActor<T>(CustomerConfigData configData, float scale = 1) where T:BaseActor //{ //if (!actorPool.ContainsKey(configData.icon)) // actorPool.Add(configData.icon, new List<GameObject>()); //GameObject actorObject = ResourceManager.Instance.GetResourceInstantiate(configData.icon, Instance.transform.transform, ResouceType.Actor); //actorPool[configData.icon].Add(actorObject); //BaseActor base_class = actorObject.GetOrAddComponent<T>(); //return base_class; //return null; //} /// <summary> /// 销毁角色 /// </summary> /// <param name="go"></param> /// <returns></returns> public bool DestroyActor(GameObject go) { if (go == null) { return(false); } BaseActor actor = go.GetComponent <BaseActor>(); if (actor != null) { actor.Release(); //DestroyImmediate(actor); } string key = go.name.Replace("(Clone)", ""); if (!actorPool.ContainsKey(key)) { //Destroy(go); return(false); } if (actorPool[key].Count > POOL_LIMITED) { actorPool[key].Remove(go); //Destroy(go); return(true); } return(true); }