public XueTiaoUI CreateXueTiao(Ientity entity) { string path = GetXueTiaoPrefabPath(entity); XueTiaoUI xueTiao = LoadXueTiaoPrefab(entity, path); xueTiao.Init(entity); xueTiao.ResetXueTiaoValue(); xueTiao.UpdatePosition(entity.realObject.transform); xueTiao.gameObject.transform.parent = transform; xueTiao.transform.localScale = Vector3.one; xueTiao.gameObject.transform.name = xueTiaoName + entity.ModelName; return(xueTiao); }
public XueTiaoUI LoadXueTiaoPrefab(Ientity entity, string path) { //ResourceUnit pathLoadUnit = ResourcesManager.Instance.loadImmediate(path, ResourceType.PREFAB); //GameObject pathLoad = pathLoadUnit.Asset as GameObject; GameObject obj = GameObjectPool.Instance.GetGO(path); // if (pathLoad == null) // Debug.LogError("error Not found XueTiaoUI = null"); // GameObject obj = GameObject.Instantiate(pathLoad) as GameObject; if (obj == null) { Debug.LogError("obj = null"); } XueTiaoUI xueTiao = obj.GetComponent <XueTiaoUI>(); xueTiao.mResName = path; return(xueTiao); }
//设置缓存物体有效 public void DisablePoolGameObject(GameObject go, PoolGameObjectInfo info) { //特效Disable if (info.type == PoolObjectType.POT_Effect) { ParticleSystem[] particles = go.GetComponentsInChildren <ParticleSystem>(true); foreach (ParticleSystem part in particles) { part.Clear(); } //解绑到poolGameobject节点 go.transform.parent = objectsPool.transform; //拖尾处理 if (go.tag == "trail") { info.mCanUse = false; TrailRenderer[] trailRenders = go.GetComponentsInChildren <TrailRenderer>(); foreach (TrailRenderer trail in trailRenders) { info.mTrailTimes[trail] = trail.time; trail.time = -10; } XffectComponent[] xffects = go.GetComponentsInChildren <XffectComponent>(true); foreach (XffectComponent xffect in xffects) { xffect.DoFinish(); xffect.gameObject.SetActive(false); } MeshRenderer[] renders = go.GetComponentsInChildren <MeshRenderer>(true); foreach (MeshRenderer render in renders) { render.gameObject.SetActive(false); } foreach (ParticleSystem part in particles) { part.gameObject.SetActive(false); } } else { info.mCanUse = true; go.SetActive(false); } } else if (info.type == PoolObjectType.POT_MiniMap) { //go.transform.parent = objectsPool.transform; go.SetActive(false); } else if (info.type == PoolObjectType.POT_Entity) { //解绑到poolGameobject节点 go.transform.parent = objectsPool.transform; go.SetActive(false); } else if (info.type == PoolObjectType.POT_UITip) { //解绑到poolGameobject节点 go.transform.parent = objectsPool.transform; go.SetActive(false); } else if (info.type == PoolObjectType.POT_XueTiao) { go.transform.parent = objectsPool.transform; XueTiaoUI xt = go.GetComponent <XueTiaoUI>(); xt.SetVisible(false); } }