Unity项目资源加载管理简易框架(Resource)

一、背景

在Unity的轻量型项目中如果对优化没有特别搞得要求,如果需要用到Resource.Load这个接口来对资源进行加载,且当模型音效UI等资源繁杂需要对其进行管理时,便可能需要一个Resource文件夹下的资源加载管理器用于对资源进行统一管理。

二、思路概述

按照资源的类型在Resource中建文件夹,在管理器中对文件夹的路径进行统一保存,对已加载的资源用一个字典进行统一保存来对所加载资源的内存和路径等信息进行统一管理,另外实现一些对字典的特定操作方法即可实现对资源加载的管理。

三、具体实现代码及其思路梳理

1.资源路径

确定有哪些资源,对资源的类型进行分类,对此建立一个枚举类型方便后期加载资源时的区分。

public enum AssetsEnum
{
   
    //模型
    Model,
    //音效
    Audio,
    //界面
    UIPrefab,
    //icon
    Icon,
    //背景图
    TexBg,
}

对不同的资源类型在Resource文件夹下分别建立各自的文件夹,并将其路径进行静态存储

public static readonly string ModelRootPath = "Model/";
public static readonly string AudioRootPath = "Audio/";
public static readonly string UIRootPath = "Prefabs/UI/";
public static readonly string IconRootPath = "Texture/Icon/";
public static readonly string TexBgRootPath = "Texture/TexBg/";

为方便生成对应资源的路径信息,可以封装一个方法,当调用时只需要传入名字和资源类型即可

static string GetResPath(string assetName, AssetsEnum assetsEnum)
{
   
    string path = "";
    switch (assetsEnum)
    {
   
        case AssetsEnum.Model:
            path = ModelRootPath + assetName;
            break;
        case AssetsEnum.Audio:
            path = AudioRootPath + assetName;
            break;
        case AssetsEnum.UIPrefab:
            path = UIRootPath + assetName;
            break;
        case AssetsEnum.Icon:
            path = IconRootPath + assetName;
            break;
        case AssetsEnum.TexBg:
            path = TexBgRootPath + assetName;
            break
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值