示例#1
0
        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());
            }
        }
示例#2
0
        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.");
            }
        }
示例#3
0
 /// <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);
示例#4
0
 /// <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);