public void CreateLayer(SceneLayerType type, string layerName, int instanceID, string resPath, Action <SceneLayer> onComplete) { GameObject layerPrefab = null; switch (type) { case SceneLayerType.ThreeD: layerPrefab = PrefabThreeDSceneLayer; break; case SceneLayerType.UI: layerPrefab = PrefabUISceneLayer; break; } if (layerPrefab == null) { Debug.LogError("SceneManager:CreateLayer layerPrefab is null"); onComplete(null); } var layerGo = GameObject.Instantiate <GameObject>(layerPrefab); var layer = layerGo.GetComponent <SceneLayer>(); layer.SetName(layerName); layerGo.name = string.Format("{0}_{1}_LayerRoot", layerName, instanceID); AddLayerToLoadingRoot(layer); var iter = AssetLoader.Instance.LoadAsset <GameObject>(resPath, (p, asset) => { OnLoadLayerAssetComplete(layer, asset, onComplete); }); m_coroutineManager.StartCorcoutine(iter); }
public void StartLoadAllConfigData() { m_coroutineHelper.StartCorcoutine(m_configDataLoader.LoadAllConfigData((res) => { if (!res) { Debug.Log("ConfigDataLoader Init Error"); } })); }
public void StartLoadAssetCoroutine <T>(string path, Action <string, T> onEnd) where T : UnityEngine.Object { m_coroutineManager.StartCorcoutine(LoadAsset(path, onEnd)); }