Example #1
0
 public void Clear()
 {
     m_BinaryAssetName     = null;
     m_ResourceInfo        = null;
     m_LoadBinaryCallbacks = null;
     m_UserData            = null;
 }
Example #2
0
 public LoadBinaryInfo()
 {
     m_BinaryAssetName     = null;
     m_ResourceInfo        = default(ResourceInfo);
     m_LoadBinaryCallbacks = null;
     m_UserData            = null;
 }
 /// <summary>
 /// 初始化数据表管理器的新实例。
 /// </summary>
 public DataTableManager()
 {
     m_DataTables          = new Dictionary <TypeNamePair, DataTableBase>();
     m_LoadAssetCallbacks  = new LoadAssetCallbacks(LoadAssetSuccessCallback, LoadAssetOrBinaryFailureCallback, LoadAssetUpdateCallback, LoadAssetDependencyAssetCallback);
     m_LoadBinaryCallbacks = new LoadBinaryCallbacks(LoadBinarySuccessCallback, LoadAssetOrBinaryFailureCallback);
     m_ResourceManager     = null;
     m_DataTableHelper     = null;
     m_LoadDataTableSuccessEventHandler         = null;
     m_LoadDataTableFailureEventHandler         = null;
     m_LoadDataTableUpdateEventHandler          = null;
     m_LoadDataTableDependencyAssetEventHandler = null;
 }
Example #4
0
 /// <summary>
 /// 初始化数据提供者的新实例。
 /// </summary>
 /// <param name="owner">数据提供者的持有者。</param>
 public DataProvider(T owner)
 {
     m_Owner = owner;
     m_LoadAssetCallbacks                  = new LoadAssetCallbacks(LoadAssetSuccessCallback, LoadAssetOrBinaryFailureCallback, LoadAssetUpdateCallback, LoadAssetDependencyAssetCallback);
     m_LoadBinaryCallbacks                 = new LoadBinaryCallbacks(LoadBinarySuccessCallback, LoadAssetOrBinaryFailureCallback);
     m_ResourceManager                     = null;
     m_DataProviderHelper                  = null;
     m_ReadDataSuccessEventHandler         = null;
     m_ReadDataFailureEventHandler         = null;
     m_ReadDataUpdateEventHandler          = null;
     m_ReadDataDependencyAssetEventHandler = null;
 }
Example #5
0
 /// <summary>
 /// 初始化全局配置管理器的新实例。
 /// </summary>
 public ConfigManager()
 {
     m_ConfigDatas                           = new Dictionary <string, ConfigData>(StringComparer.Ordinal);
     m_LoadAssetCallbacks                    = new LoadAssetCallbacks(LoadAssetSuccessCallback, LoadAssetOrBinaryFailureCallback, LoadAssetUpdateCallback, LoadAssetDependencyAssetCallback);
     m_LoadBinaryCallbacks                   = new LoadBinaryCallbacks(LoadBinarySuccessCallback, LoadAssetOrBinaryFailureCallback);
     m_ResourceManager                       = null;
     m_ConfigHelper                          = null;
     m_LoadConfigSuccessEventHandler         = null;
     m_LoadConfigFailureEventHandler         = null;
     m_LoadConfigUpdateEventHandler          = null;
     m_LoadConfigDependencyAssetEventHandler = null;
 }
        /// <summary>
        /// 异步加载二进制资源。
        /// </summary>
        /// <param name="binaryAssetName">要加载二进制资源的名称。</param>
        /// <param name="loadBinaryCallbacks">加载二进制资源回调函数集。</param>
        /// <param name="userData">用户自定义数据。</param>
        public void LoadBinary(string binaryAssetName, LoadBinaryCallbacks loadBinaryCallbacks, object userData)
        {
            if (loadBinaryCallbacks == null)
            {
                Log.Error("Load binary callbacks is invalid.");
                return;
            }

            if (string.IsNullOrEmpty(binaryAssetName))
            {
                if (loadBinaryCallbacks.LoadBinaryFailureCallback != null)
                {
                    loadBinaryCallbacks.LoadBinaryFailureCallback(binaryAssetName, LoadResourceStatus.NotExist, "Binary asset name is invalid.", userData);
                }

                return;
            }

            if (!binaryAssetName.StartsWith("Assets/"))
            {
                if (loadBinaryCallbacks.LoadBinaryFailureCallback != null)
                {
                    loadBinaryCallbacks.LoadBinaryFailureCallback(binaryAssetName, LoadResourceStatus.NotExist, Utility.Text.Format("Binary asset name '{0}' is invalid.", binaryAssetName), userData);
                }

                return;
            }

            string binaryPath = GetBinaryPath(binaryAssetName);

            if (binaryPath == null)
            {
                if (loadBinaryCallbacks.LoadBinaryFailureCallback != null)
                {
                    loadBinaryCallbacks.LoadBinaryFailureCallback(binaryAssetName, LoadResourceStatus.NotExist, Utility.Text.Format("Binary asset '{0}' is not exist.", binaryAssetName), userData);
                }

                return;
            }

            try
            {
                byte[] binaryBytes = File.ReadAllBytes(binaryPath);
                loadBinaryCallbacks.LoadBinarySuccessCallback(binaryAssetName, binaryBytes, 0f, userData);
            }
            catch (Exception exception)
            {
                if (loadBinaryCallbacks.LoadBinaryFailureCallback != null)
                {
                    loadBinaryCallbacks.LoadBinaryFailureCallback(binaryAssetName, LoadResourceStatus.AssetError, exception.ToString(), userData);
                }
            }
        }
 /// <summary>
 /// 初始化本地化管理器的新实例。
 /// </summary>
 public LocalizationManager()
 {
     m_Dictionary          = new Dictionary <string, string>();
     m_LoadAssetCallbacks  = new LoadAssetCallbacks(LoadAssetSuccessCallback, LoadAssetOrBinaryFailureCallback, LoadAssetUpdateCallback, LoadAssetDependencyAssetCallback);
     m_LoadBinaryCallbacks = new LoadBinaryCallbacks(LoadBinarySuccessCallback, LoadAssetOrBinaryFailureCallback);
     m_ResourceManager     = null;
     m_LocalizationHelper  = null;
     m_Language            = Language.Unspecified;
     m_LoadDictionarySuccessEventHandler         = null;
     m_LoadDictionaryFailureEventHandler         = null;
     m_LoadDictionaryUpdateEventHandler          = null;
     m_LoadDictionaryDependencyAssetEventHandler = null;
 }
Example #8
0
        /// <summary>
        /// 异步加载二进制资源。
        /// </summary>
        /// <param name="binaryAssetName">要加载二进制资源的名称。</param>
        /// <param name="loadBinaryCallbacks">加载二进制资源回调函数集。</param>
        /// <param name="userData">用户自定义数据。</param>
        public void LoadBinary(string binaryAssetName, LoadBinaryCallbacks loadBinaryCallbacks, object userData)
        {
            if (string.IsNullOrEmpty(binaryAssetName))
            {
                Log.Error("Binary asset name is invalid.");
                return;
            }

            if (!binaryAssetName.StartsWith("Assets/"))
            {
                Log.Error("Binary asset name '{0}' is invalid.", binaryAssetName);
                return;
            }

            m_ResourceManager.LoadBinary(binaryAssetName, loadBinaryCallbacks, userData);
        }
Example #9
0
 /// <summary>
 /// 异步加载二进制资源。
 /// </summary>
 /// <param name="binaryAssetName">要加载二进制资源的名称。</param>
 /// <param name="loadBinaryCallbacks">加载二进制资源回调函数集。</param>
 public void LoadBinary(string binaryAssetName, LoadBinaryCallbacks loadBinaryCallbacks)
 {
     LoadBinary(binaryAssetName, loadBinaryCallbacks, null);
 }
Example #10
0
                public static LoadBinaryInfo Create(string binaryAssetName, ResourceInfo resourceInfo, LoadBinaryCallbacks loadBinaryCallbacks, object userData)
                {
                    LoadBinaryInfo loadBinaryInfo = ReferencePool.Acquire <LoadBinaryInfo>();

                    loadBinaryInfo.m_BinaryAssetName     = binaryAssetName;
                    loadBinaryInfo.m_ResourceInfo        = resourceInfo;
                    loadBinaryInfo.m_LoadBinaryCallbacks = loadBinaryCallbacks;
                    loadBinaryInfo.m_UserData            = userData;
                    return(loadBinaryInfo);
                }