PVF资源管理读取Equ添加缓存

This commit is contained in:
Lenheart 2024-12-15 20:23:11 +08:00
parent 622fe5330d
commit ebd130349a
1 changed files with 18 additions and 2 deletions

View File

@ -51,6 +51,15 @@ class _AssetManager_ {
DataTable.growtype[i].name <- name;
}
}
//默认时装
else if (Key == "[default avatar]") {
DataTable.default_avatar <- [];
while (true) {
local Ret = Data.Get();
if (Ret == "[/default avatar]") break;
DataTable.default_avatar.append(Ret);
}
}
//基础属性
else if (Key == "[HP MAX]]" || Key == "[MP MAX]]" || Key == "[physical attack]]" || Key == "[physical defense]]" || Key == "[magical attack]]" || Key == "[magical defense]]" || Key == "[inventory limit]]" || Key == "[MP regen speed]]" || Key == "[move speed]]" || Key == "[attack speed]]" || Key == "[cast speed]]" || Key == "[hit recovery]]" || Key == "[jump power]]" || Key == "[weight]]" || Key == "[jump speed]]") {
local RealKey = Key.slice(1, Key.len() - 1);
@ -115,7 +124,11 @@ class _AssetManager_ {
EquipmentList = ScriptData.GetFileData("equipment/equipment.lst", function(DataTable, Data) {
while (!Data.Eof()) {
local Key = Data.Get();
DataTable.rawset(Key, Data.Get());
//注册装备列表 路径写入 数据未读取
DataTable.rawset(Key, {
Path = Data.Get(),
Data = null
});
}
if (_DEBUG_) print("加载装备List完成, 共" + DataTable.len() + "个");
});
@ -141,7 +154,9 @@ class _AssetManager_ {
function GetEquipment(Idx) {
//如果没有这件装备则返回
if (!(EquipmentList.rawin(Idx))) return;
local Path = EquipmentList[Idx];
//如果装备数据已经读取过存在了则直接返回
if (EquipmentList[Idx].Data) return EquipmentList[Idx].Data;
local Path = EquipmentList[Idx].Path;
local m_data = ScriptData.GetFileData("equipment/" + Path, function(DataTable, Data) {
DataTable.DirPath <- DataTable.filepath.slice(0, DataTable.filepath.lastfind("/") + 1);
while (!Data.Eof()) {
@ -203,6 +218,7 @@ class _AssetManager_ {
}
}
});
EquipmentList[Idx].Data = m_data;
return m_data;
}
}