示例#1
0
 // Use this for initialization
 void Start()
 {
     //NetMgr.GetInstance ().connect ("113.105.250.96", 12000);
     gameObject.AddComponent <GlobalTimer>();
     GameObjectExt.Instantiate(Resources.Load <UnityEngine.Object>("UILoading"));
     ShowLoadingBar();
 }
示例#2
0
文件: GameApp.cs 项目: zhizhen/thewar
 // Use this for initialization
 void Start()
 {
     Instance = this;
     NetMgr.Instance.connect("192.168.0.100", 8888);
     gameObject.AddComponent <GlobalTimer>();
     GameObjectExt.Instantiate(Resources.Load <UnityEngine.Object>("UILoading"));
     ShowLoadingBar();
 }
示例#3
0
    public static GameObject InstantGameObject(Object original, GameObject parent)
    {
        var obj = GameObjectExt.Instantiate(original) as GameObject;

        if (obj)
        {
            obj.transform.parent = parent.transform.parent;
        }
        return(obj);
    }
示例#4
0
        public static GameObject GetGameObject(string relativePath, bool depends = false)
        {
            Resource res;

            UnityEngine.Object original;

            res      = ResourceMgr.Instance.GetResource(relativePath);
            original = res.MainAsset;
            res.Destory(false, true);
            return(GameObjectExt.Instantiate(original) as GameObject);
        }
示例#5
0
    public void OnTick(float dt)
    {
        if (_isLoadingComplete)
        {
            _isLoadingComplete = false;
            isLoading          = false;
            TickMgr.Instance.RemoveTick(this);

            Resource resPrefab = ResourceMgr.Instance.GetResource(URLConst.GetScenePrefab(m_sceneId));
            m_kScenePrefab = GameObjectExt.Instantiate(resPrefab.MainAsset, true) as GameObject;
            GameObject.DontDestroyOnLoad(m_kScenePrefab);
            resPrefab.Destory(false, true);
            DownLoadCompleteAll();
        }
    }
示例#6
0
    public static GameObject GetGameObject(string relativePath, bool depends = false)
    {
        Material kMaterial = null;
        Resource res;

        UnityEngine.Object original;
        res      = ResourceManager.Instance.GetResource(relativePath);
        original = res.MainAsset;
        res.Destory(false, true);
        if (hasReleaseSharedAlpha == false)
        {
            res = ResourceManager.Instance.GetResource(URLConst.SHARED_ALPHA_PATH);
            res.Release(true);
            res       = ResourceManager.Instance.GetResource(URLConst.SHARED_ETC_PATH);
            kMaterial = res.MainAsset as Material;
            if (kMaterial != null)
            {
                SharedManager.Instance.material = kMaterial;
            }
            hasReleaseSharedAlpha = true;
        }
        return(GameObjectExt.Instantiate(original) as GameObject);
    }
示例#7
0
    public void GetModel(string strURL, Action <GameObject, object> fnLoaded, object kArg = null, ushort priority = 100, bool isPreload = false)
    {
        GameObject             kNewGO = null;
        GameObject             kRawGO;
        List <GameObject>      listGO;
        List <MODEL_LOAD_INFO> listMR;

        Action <string, GameObject, Action <GameObject, object>, object> callBack =
            (string strUrl, GameObject kgo, Action <GameObject, object> loadCall, object arg) =>
        {
            if (kgo != null)
            {
                //kgo.ResetLocalPosition();
                m_mapModelUsing.Add <string, GameObject>(strUrl, kgo);
                GameObject.DontDestroyOnLoad(kgo);
                loadCall(kgo, arg);
            }
        };

        //从缓存池中取
        if (isPreload == false)
        {
            if (m_mapModel.ContainsKey(strURL))
            {
                listGO = m_mapModel[strURL];
                if (listGO.Count > 0)
                {
                    callBack(strURL, listGO[0], fnLoaded, kArg);
                    listGO.RemoveAt(0);
                    return;
                }
            }
        }
        //从内存中创建新的一个
        if (m_mapRawModel.ContainsKey(strURL))
        {
            kRawGO = m_mapRawModel[strURL];
            if (isPreload == false)
            {
                kNewGO = GameObjectExt.Instantiate(kRawGO, true) as GameObject;
            }
            callBack(strURL, kNewGO, fnLoaded, kArg);
            return;
        }

        //如果当前资源正在加载,返回
        MODEL_LOAD_INFO kMLI;

        if (m_mapRawModelLoading.ContainsKey(strURL))
        {
            listMR         = m_mapRawModelLoading[strURL];
            kMLI.fnLoaded  = fnLoaded;
            kMLI.kArg      = kArg;
            kMLI.isPreload = isPreload;
            listMR.Add(kMLI);
            return;
        }

        //从文件中加载对象
        Action <object> fnLoadFinish = delegate(object kData)
        {
            listMR = m_mapRawModelLoading[strURL];
            m_mapRawModelLoading.Remove(strURL);
            if (m_stopLoading.Contains(strURL))
            {
                m_stopLoading.Remove(strURL);
                listMR.Clear();
                listMR = null;
                return;
            }
            Resource kRes = ResourceMgr.Instance.GetResource(strURL);
            kRawGO = kRes.MainAsset as GameObject;
            if (kRawGO == null)
            {
                Debug.LogError("AssetBundle' mainAsset is null, url: " + strURL);
                return;
            }
            m_mapRawModel[strURL] = kRawGO;
            for (int i = 0; i < listMR.Count; i++)
            {
                if (listMR[i].fnLoaded != null)
                {
                    if (listMR[i].isPreload == false)
                    {
                        kNewGO = GameObjectExt.Instantiate(kRawGO, true) as GameObject;
                    }
                    callBack(strURL, kNewGO, listMR[i].fnLoaded, listMR[i].kArg);
                }
            }
            kRes.Destory(false, true);
            kRes = null;
            listMR.Clear();
            listMR = null;
        };

        if (!m_mapRawModelLoading.ContainsKey(strURL))
        {
            listMR = new List <MODEL_LOAD_INFO>();
            m_mapRawModelLoading[strURL] = listMR;
        }
        else
        {
            listMR = m_mapRawModelLoading[strURL];
        }
        kMLI.fnLoaded  = fnLoaded;
        kMLI.kArg      = kArg;
        kMLI.isPreload = isPreload;
        listMR.Add(kMLI);
        ResourceMgr.Instance.DownLoadBundle(strURL, fnLoadFinish, priority);
    }
示例#8
0
 public static GameObject InstantGameObject(Object original, bool record = false)
 {
     return(GameObjectExt.Instantiate(original, record) as GameObject);
 }