63 lines
1.6 KiB
Plaintext
63 lines
1.6 KiB
Plaintext
|
local Utils = {}
|
|||
|
|
|||
|
--> Services
|
|||
|
local ReplicatedStorage = game:GetService("ReplicatedStorage")
|
|||
|
|
|||
|
--> Variables
|
|||
|
local PlayerDataFolder = ReplicatedStorage.PlayerData
|
|||
|
|
|||
|
--> Constants
|
|||
|
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
|
|||
|
function Utils:GetPlayerDataFolder(Player: Player)
|
|||
|
local pData = PlayerDataFolder:FindFirstChild(Player.UserId)
|
|||
|
if pData then return pData end
|
|||
|
warn("玩家数据不存在: " .. Player.Name)
|
|||
|
return nil
|
|||
|
end
|
|||
|
|
|||
|
function Utils:CreateFolder(Name: string, Parent: Instance)
|
|||
|
local Folder = Instance.new("Folder")
|
|||
|
Folder.Name = Name
|
|||
|
Folder.Parent = Parent
|
|||
|
return Folder
|
|||
|
end
|
|||
|
|
|||
|
function Utils:SetAttributesList(Object: Instance, Attributes: table)
|
|||
|
for Attribute, Value in Attributes do
|
|||
|
Object:SetAttribute(Attribute, Value)
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
function Utils:GenUniqueId(t: table)
|
|||
|
local min_id = 1
|
|||
|
while t[min_id] ~= nil do
|
|||
|
min_id = min_id + 1
|
|||
|
end
|
|||
|
return min_id
|
|||
|
end
|
|||
|
|
|||
|
function Utils:GetJsonIdData(JsonName: string, id: number)
|
|||
|
local JsonData = require(ReplicatedStorage.Json[JsonName])
|
|||
|
for _, item in ipairs(JsonData) do
|
|||
|
if item.id == id then
|
|||
|
return item
|
|||
|
end
|
|||
|
end
|
|||
|
return nil -- 没找到对应id
|
|||
|
end
|
|||
|
|
|||
|
function Utils:GetIdDataFromJson(JsonData: table, id: number)
|
|||
|
-- 遍历JsonData,查找id字段等于目标id的项
|
|||
|
for _, item in ipairs(JsonData) do
|
|||
|
if item.id == id then
|
|||
|
return item
|
|||
|
end
|
|||
|
end
|
|||
|
return nil -- 没有找到对应id
|
|||
|
end
|
|||
|
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
|
|||
|
return Utils
|