예제 #1
0
 public void Dispose()
 {
     m_Text         = string.Empty;
     m_name         = string.Empty;
     m_CompleteFunc = null;
     m_EndFunc      = null;
 }
예제 #2
0
    public static void LoadDataFile(eLoadDataPriority priority, string strFileName, DataFileLoaderFunc completeFunc, Action startFunc = null, Action endFunc = null)
    {
        AssetBundleLoadAssetOperation operation = AssetBundleManager.LoadAssetAsync("setting_data", strFileName, typeof(TextAsset));

        if (operation == null)
        {
            if (completeFunc != null)
            {
                completeFunc(null);
            }
            return;
        }

        if (DATA_LOAD_MODE == eDataLoadMode.Coroutine)
        {
            ++CoroutineRunningCount;
            //Debug.LogError(" ++ Coroutine running Added : " + CoroutineRunningCount.ToString());
        }
        else
        {
            startloadCount++;
        }

        if (startFunc != null)
        {
            startFunc();
        }
        Instance.StartCoroutine(LoadDataFile(priority, operation, completeFunc, endFunc));
    }
예제 #3
0
 public void LoadDataFile(string strFileName, DataFileLoaderFunc completeFunc, eLoadDataPriority loadDataPriority = eLoadDataPriority.NORMAL)
 {
     ManagerManager.LoadDataFile(loadDataPriority, strFileName, completeFunc);
 }
예제 #4
0
    static IEnumerator LoadDataFile(eLoadDataPriority priority, AssetBundleLoadAssetOperation operation, DataFileLoaderFunc completeFunc, Action endFunc = null)
    {
        yield return(operation);

        TextAsset textAsset = operation.GetAsset <TextAsset>();

        //long lStartTime = DateTime.Now.Ticks;
        string strText = string.Empty;
        string strName = string.Empty;

        if (textAsset != null)
        {
            strText = textAsset.text;
            strName = textAsset.name;
        }

        AssetBundleManager.UnloadAssetBundle("setting_data");

        DataLoadThreadData threadData = new DataLoadThreadData();

        threadData.m_name         = strName;
        threadData.m_Text         = strText;
        threadData.m_CompleteFunc = completeFunc;
        threadData.m_EndFunc      = endFunc;

        //thread.Priority = System.Threading.ThreadPriority.Lowest;

        if (DATA_LOAD_MODE == eDataLoadMode.MultiThread)
        {
            PutDataIntoThreadList(priority, threadData);
            endloadCount++;
        }
        else if (DATA_LOAD_MODE == eDataLoadMode.Coroutine)
        {
            ParseDataImmediately(priority, threadData);
        }

        yield break;
    }