Beispiel #1
0
 public ResourceInfo(Object resource, string name, EResourcesType resourcesType)
 {
     m_asset   = resource;
     m_name    = name;
     m_resType = resourcesType;
     m_key     = GetResourcesKey(resourcesType, name);
 }
Beispiel #2
0
    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;
        }
    }
Beispiel #3
0
 public void UnloadAsset(EResourcesType resType, string resName)
 {
     if (m_resourceLoader != null && !m_resourceLoader.IsLoading(resType, resName))
     {
         m_resourcesDB.UnloadResource(resType, resName);
     }
 }
Beispiel #4
0
 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);
        }
    }
Beispiel #7
0
    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);
    }
Beispiel #9
0
    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)); };
        }
Beispiel #11
0
 public static string GetResourcesKey(EResourcesType resType, string resName)
 {
     return(string.Format("{0}_{1}", resType, resName));
 }
Beispiel #12
0
 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);
    }
Beispiel #14
0
 public void PrepareLoad(EResourcesType resourcesType, string resName)
 {
     m_resourcesType = resourcesType;
     m_resName       = resName;
     m_loadState     = EResLoadingState.WaitForLoad;
 }
Beispiel #15
0
    public bool IsResourceExist(EResourcesType resType, string name)
    {
        string key = ResourceInfo.GetResourcesKey(resType, name);

        return(IsResourceExist(key));
    }
Beispiel #16
0
    public void UnloadResource(EResourcesType resType, string name)
    {
        string key = ResourceInfo.GetResourcesKey(resType, name);

        UnloadResource(key);
    }