簡單資源管理器

2021-08-13 01:53:02 字數 3777 閱讀 8867

下面共享乙個我自己的資源管理器,很簡單的,看起來也明白,主要是我是新手,不想寫的太複雜,自己專案使用的好用,便是最好的。

using unityengine;

using system.collections;

using system.collections.generic;

using system;

public

class gameobjectmgr

else

}public

static system.object getobjfromdictionary(string _obgname,system.type _type)

else

}return

null;

}else

}//設定是否顯示

public

static

void

setobjactivepority(string _name, bool _active)

else

else}}

}}

//獲得乙個已經建立的物件

public

static gameobject getgameobjectbyname(string _name)

else

else}}

}return

null;

}//獲得乙個已經載入的預設

public

static gameobject getprefabbyname(string _name)

//檢視預設是否載入

public

static

bool

ispe***bloaded(string _name)

else}}

}return

false;

}//物件是否已經被建立

public

static

bool

isobjcreated(string _name)

else

else}}

}return

false;

}//新增已經建立的gameobject鍵值對

public

static

void

addcreatedobjlist(string _name, gameobject _obj)

的物件已經新增,不好",_name));

return;

}createdobjlist.add(_name, _obj);

}//新增已經載入的assetbundle鍵值對

public

static

void

addloadedassetlist(string _name, assetbundle _obj)

的assetbundle已經新增,不好",_name));

return;

}loadedassetlist.add(_name, _obj);

}//新增已經載入的預設鍵值對

public

static

void

addloadedpe***blist(string _name, gameobject _obj)

的預設已經新增,不用再次新增",_name));

return;

}loadedpe***blist.add(_name, _obj);

}//新增需要清理的預設名字

public

static

void

adddestorype***blist(string _name)

}else

list[i] = _name;

destorype***blist = null;

destorype***blist = new

string[i + 1];

i = 0;

foreach (string str in destorype***blist)

list = null;

return;

}//新增待銷毀物件名字

public

static

void

adddestoryobjnamelist(string _name)

}else

list[i] = _name;

destoryobjnamelist = null;

destoryobjnamelist = new

string[i + 1];

i = 0;

foreach (string str in destoryobjnamelist)

list = null;

return;

}//新增待清理assetbundle名字

public

static

void

adddestoryablist(string _name)

}else

list[i] = _name;

destoryassetlist = null;

destoryassetlist = new

string[i + 1];

i = 0;

foreach (string str in destoryassetlist)

list = null;

return;

}//清理記憶體

public

static

void

freememory()

int i = 0;

if (destoryobjnamelist != null)

destoryobjnamelist[j] = null;}}

destoryobjnamelist = null;

if (destorype***blist != null)

destorype***blist = null;

if (destoryassetlist == null || destoryassetlist.length == 0)

else

destoryassetlist[j] = null;}}

destoryassetlist = null;

gc.collect(0);

gc.collect(1);

resources.unloadunusedassets();

}////通知lua建立物件

//public static gameobject callluacreatepanel(string _message)

//通知lua對建立的panel進行銷毀或者隱藏

public

static

void

callluadestorypanel(string _message, bool _isdestory)

static

void removefromdictionary(string namelist,system.type _ty)

//else }}

else

}}

其實主要的思想就是,在遊戲裡面動態載入的資源都通過這裡面的add方法,將加在進來的資源引用上,然後在遊戲裡面就可以直接根據資源名稱從這裡面進行尋找,這裡面還有資源包的銷毀,親測可用,**也比較簡單,很好讀,我們做的是棋牌大廳一類的,但是都沒有上線,所以這裡面還是可以再進行優化的,比如將遊戲型別放進去,也作為乙個目錄的一級,在單個遊戲退出後,根據需求將這個遊戲資源銷毀掉,可以根據配置什麼的,參考一下嘍。

資源管理器

using system using system.collections.generic using system.linq using system.text using system.threading.tasks namespace day 09 小型資源管理器 檔案長度 public st...

Windows資源管理器

在資源管理器中,選定多個非連續檔案的操作為 a 按住shift鍵,單擊每乙個要選定的檔案圖示 b 按住ctrl鍵,單擊每乙個要選定的檔案圖示 c 先選中第乙個檔案,按住shift鍵,再單擊最後乙個要選定的檔案圖示 d 先選中第乙個檔案,按住ctrl鍵,再單擊最後乙個要選定的檔案圖示 檔案abc.bm...

QTTabBar Windows資源管理器增強外掛程式

要實現更高效windows資源管理器無非兩種方式 開發一款更高效的軟體來管理資源增強現有的windows資源管理器 第一種方式造成windows資源管理器和非官方管理軟體的並存,使用非官方管理軟體必然要啟動該軟體,會造成一種 割裂感 且從形式上感覺臃腫了許多。而第二種增強的方式的顯得更加 親切 qt...