PVF资源管理读取Equ添加缓存
This commit is contained in:
parent
622fe5330d
commit
ebd130349a
|
|
@ -51,6 +51,15 @@ class _AssetManager_ {
|
||||||
DataTable.growtype[i].name <- name;
|
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]]") {
|
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);
|
local RealKey = Key.slice(1, Key.len() - 1);
|
||||||
|
|
@ -115,7 +124,11 @@ class _AssetManager_ {
|
||||||
EquipmentList = ScriptData.GetFileData("equipment/equipment.lst", function(DataTable, Data) {
|
EquipmentList = ScriptData.GetFileData("equipment/equipment.lst", function(DataTable, Data) {
|
||||||
while (!Data.Eof()) {
|
while (!Data.Eof()) {
|
||||||
local Key = Data.Get();
|
local Key = Data.Get();
|
||||||
DataTable.rawset(Key, Data.Get());
|
//注册装备列表 路径写入 数据未读取
|
||||||
|
DataTable.rawset(Key, {
|
||||||
|
Path = Data.Get(),
|
||||||
|
Data = null
|
||||||
|
});
|
||||||
}
|
}
|
||||||
if (_DEBUG_) print("加载装备List完成, 共" + DataTable.len() + "个");
|
if (_DEBUG_) print("加载装备List完成, 共" + DataTable.len() + "个");
|
||||||
});
|
});
|
||||||
|
|
@ -141,7 +154,9 @@ class _AssetManager_ {
|
||||||
function GetEquipment(Idx) {
|
function GetEquipment(Idx) {
|
||||||
//如果没有这件装备则返回
|
//如果没有这件装备则返回
|
||||||
if (!(EquipmentList.rawin(Idx))) return;
|
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) {
|
local m_data = ScriptData.GetFileData("equipment/" + Path, function(DataTable, Data) {
|
||||||
DataTable.DirPath <- DataTable.filepath.slice(0, DataTable.filepath.lastfind("/") + 1);
|
DataTable.DirPath <- DataTable.filepath.slice(0, DataTable.filepath.lastfind("/") + 1);
|
||||||
while (!Data.Eof()) {
|
while (!Data.Eof()) {
|
||||||
|
|
@ -203,6 +218,7 @@ class _AssetManager_ {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
EquipmentList[Idx].Data = m_data;
|
||||||
return m_data;
|
return m_data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue