public ResourceInfo(Object resource, string name, EResourcesType resourcesType) { m_asset = resource; m_name = name; m_resType = resourcesType; m_key = GetResourcesKey(resourcesType, name); }
public void Load(EResourcesType resourceType, string resName, ELoadSpeedType speedType, Action <ResourceInfo> callBack) { //检测是否已经加载过了 ResourceInfo info = null; if (m_resourcesDB.IsResourceExist(resourceType, resName)) { info = m_resourcesDB.GetResourceInfo(resourceType, resName); if (info != null) { if (callBack != null) { callBack(info); } return; } } //走资源加载 switch (speedType) { case ELoadSpeedType.Immediately: { m_resourceLoader.AppendLoadTask(resourceType, resName, callBack); } break; case ELoadSpeedType.Normal: { m_resourceLoader.AppendLoadTaskAsync(resourceType, resName, callBack); } break; } }
public void UnloadAsset(EResourcesType resType, string resName) { if (m_resourceLoader != null && !m_resourceLoader.IsLoading(resType, resName)) { m_resourcesDB.UnloadResource(resType, resName); } }
public ResLoadTask(string name, EResourcesType resType, ELoadSpeedType speedType, Action <ResourceInfo> callBack) { m_resType = resType; m_name = name; m_loadSpeedType = speedType; m_callBack = callBack; }
public void CancelLoadTask(EResourcesType resType, string resName) { for (int i = 0; i < m_loaderArr.Length; i++) { if (m_loaderArr[i].GetLoadingKey().Equals(ResourceInfo.GetResourcesKey(resType, resName))) { m_loaderArr[i].CancelLoad(); } } }
public void AppendLoadTask(EResourcesType resType, string resName, Action <ResourceInfo> callBack) { m_noneAsyncLoader.PrepareLoad(resType, resName); ResourceInfo resInfo = m_noneAsyncLoader.StartLoad(); if (resInfo != null && callBack != null) { callBack(resInfo); } }
public static string GetResourcesPath(EResourcesType resType, string resName) { string path = string.Empty; if (m_resourcesPathDic.TryGetValue(resType, out path)) { return(string.Format(path, resName)); } return(path); }
public bool IsLoading(EResourcesType resType, string resName) { for (int i = 0; i < m_loaderArr.Length; i++) { if (m_loaderArr[i].GetLoadingKey().Equals(ResourceInfo.GetResourcesKey(resType, resName)) && m_loaderArr[i].IsLoading()) { return(true); } } return(false); }
public ResourceInfo GetResourceInfo(EResourcesType resType, string resName) { string key = ResourceInfo.GetResourcesKey(resType, resName); ResourceInfo info = null; if (m_resourcesInfoDic.TryGetValue(key, out info)) { return(info); } return(null); }
public void MakeSlot(Vector2 pos, TextureSheet2D image, string text, EResourcesType resourcesType) { GameObject go = new GameObject(); CSpriteRenderer sr = new CSpriteRenderer("Slot"); Texture2D texture1 = SpriteContainer.Instance.Sprite["Slot"]; Texture2D texture2 = SpriteContainer.Instance.Sprite["Slot"]; GUIButton btn = new GUIButton(sr, texture1, texture2, Color.White, Color.YellowGreen); go.AddComponent <CSpriteRenderer>(sr); go.AddComponent <GUIButton>(btn); sr.LayerDepth = 0.12f; go.MyParent = mainGameObject; go.SetMyParent(mainGameObject); go.Transform.Scale = new Vector2(0.5f, 0.5f) * GraphicsSetting.Instance.ScreenScale; go.Transform.Position = pos * GraphicsSetting.Instance.ScreenScale + go.MyParent.Transform.Position; SlotShowBar(new Vector2(sr.Sprite.Width / 2, sr.Sprite.Height) * go.Transform.Scale, go, text); ImageInSlot(new Vector2(sr.Sprite.Width, sr.Sprite.Height) * go.Transform.Scale, go, image); myScene.Instantiate(go); btn.OnClick += () => { placeTile.PickTile(resourcesType, (resourcesType != EResourcesType.Nothing ? image : nothingPixel)); }; }
public static string GetResourcesKey(EResourcesType resType, string resName) { return(string.Format("{0}_{1}", resType, resName)); }
public void Unload() { Resources.UnloadAsset(m_asset); m_name = string.Empty; m_resType = EResourcesType.MaxType; }
public void AppendLoadTaskAsync(EResourcesType resType, string resName, Action <ResourceInfo> callBack) { ResLoadTask task = new ResLoadTask(resName, resType, ELoadSpeedType.Normal, callBack); m_laodTaskQueue.Enqueue(task); }
public void PrepareLoad(EResourcesType resourcesType, string resName) { m_resourcesType = resourcesType; m_resName = resName; m_loadState = EResLoadingState.WaitForLoad; }
public bool IsResourceExist(EResourcesType resType, string name) { string key = ResourceInfo.GetResourcesKey(resType, name); return(IsResourceExist(key)); }
public void UnloadResource(EResourcesType resType, string name) { string key = ResourceInfo.GetResourcesKey(resType, name); UnloadResource(key); }