add gs
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
-- Utility module for managing the scale of mannequins and items in thumbnails
|
||||
|
||||
local ScaleUtility = {}
|
||||
|
||||
local CLASSIC_SCALE = "Classic"
|
||||
local RTHRO_NORMAL = "ProportionsNormal"
|
||||
local RTHRO_SLENDER = "ProportionsSlender"
|
||||
|
||||
local function getPartScaleType(part)
|
||||
local value = part:FindFirstChild("AvatarPartScaleType")
|
||||
if value then
|
||||
return value.Value
|
||||
end
|
||||
|
||||
return CLASSIC_SCALE
|
||||
end
|
||||
|
||||
function ScaleUtility.GetScaleTypeForAccessory(accessory)
|
||||
local handle = accessory:FindFirstChild("Handle")
|
||||
if not handle then
|
||||
return CLASSIC_SCALE
|
||||
end
|
||||
|
||||
return getPartScaleType(handle)
|
||||
end
|
||||
|
||||
function ScaleUtility.GetObjectsScaleType(objects)
|
||||
for _, object in pairs(objects) do
|
||||
local partScaleType = object:FindFirstChild("AvatarPartScaleType", --[[ recursive = ]] true)
|
||||
if partScaleType then
|
||||
return partScaleType.Value
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function getOrCreateScaleValue(humanoid, name, default)
|
||||
local scaleValue = humanoid:FindFirstChild(name)
|
||||
if scaleValue then
|
||||
return scaleValue
|
||||
end
|
||||
|
||||
scaleValue = Instance.new("NumberValue")
|
||||
scaleValue.Name = name
|
||||
scaleValue.Value = default
|
||||
scaleValue.Parent = humanoid
|
||||
|
||||
return scaleValue
|
||||
end
|
||||
|
||||
function ScaleUtility.CreateProportionScaleValues(humanoid, scaleType)
|
||||
local bodyTypeValue = getOrCreateScaleValue(humanoid, "BodyTypeScale", 0)
|
||||
local bodyProportionValue = getOrCreateScaleValue(humanoid, "BodyProportionScale", 0)
|
||||
|
||||
if scaleType == RTHRO_NORMAL then
|
||||
bodyTypeValue.Value = 1
|
||||
bodyProportionValue.Value = 0
|
||||
elseif scaleType == RTHRO_SLENDER then
|
||||
bodyTypeValue.Value = 1
|
||||
bodyProportionValue.Value = 1
|
||||
end
|
||||
end
|
||||
|
||||
return ScaleUtility
|
||||
Reference in New Issue
Block a user