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