Пример #1
0
    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);
    }
Пример #2
0
    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);
    }
Пример #3
0
    //设置缓存物体有效
    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);
        }
    }