protected override IEnumerator LoadAsyncProc(IMasterDataAccessorObject dao) { Debug.Log("LOAD: " + dao.GetName()); var handle = Addressables.LoadAssetAsync <ScriptableObject> (dao.GetAssetPath()); yield return(handle); if (handle.Result != null) { dao.SetData(Instantiate(handle.Result)); Debug.Log(dao.ToJson()); } else { Debug.LogError("Failed to load a master data asset. " + dao.GetAssetPath()); } }
protected override void LoadProc(IMasterDataAccessorObject dao) { #if UNITY_EDITOR if (!Application.isPlaying) { var data = UnityEditor.AssetDatabase.LoadAssetAtPath <ScriptableObject> (dao.GetAssetPath()); if (data != null) { dao.SetData(data); } else { Debug.LogError("Failed to load a master data asset. " + dao.GetAssetPath()); } } else #endif { Debug.LogWarning("It is not supported to load on a frame for except Editor Mode."); } }
/// <summary> /// Defines a process how to load the specified master data assets. /// See also DemoMasterDataManager.cs as a sample script. /// </summary> /// <param name="dao">An empty instance of DAO that will be a destination to load</param> /// <returns>An iteration to provide load</returns> protected abstract void LoadProc(IMasterDataAccessorObject dao);
/// <summary> /// Defines a process how to load async the specified master data assets. /// See also DemoMasterDataManager.cs as a sample script. /// </summary> /// <param name="dao">An empty instance of DAO that will be a destination to load</param> /// <returns>An iteration to provide load async</returns> protected abstract IEnumerator LoadAsyncProc(IMasterDataAccessorObject dao);