48 lines
1.2 KiB
Lua
48 lines
1.2 KiB
Lua
local StaticData = require("TOC/StaticData")
|
|
-----------------------------------
|
|
|
|
local CommonMethods = {}
|
|
|
|
---@param val number
|
|
---@param min number
|
|
---@param max number
|
|
function CommonMethods.Normalize(val, min, max)
|
|
if (max - min) == 0 then return 1 end
|
|
return (val - min)/(max-min)
|
|
|
|
end
|
|
|
|
function CommonMethods.GetLimbNameFromBodyPart(bodyPart)
|
|
local bodyPartTypeStr = BodyPartType.ToString(bodyPart:getType())
|
|
return StaticData.LIMBS_IND_STR[bodyPartTypeStr]
|
|
end
|
|
|
|
---Returns the side for a certain limb or prosthesis
|
|
---@param name string
|
|
---@return string "L" or "R"
|
|
function CommonMethods.GetSide(name)
|
|
if string.find(name, "_L") then return "L" else return "R" end
|
|
end
|
|
|
|
---Returns full name for the side, to be used with BodyLocations
|
|
---@param side string
|
|
---@return string
|
|
function CommonMethods.GetSideFull(side)
|
|
if side == 'R' then
|
|
return "Right"
|
|
elseif side == 'L' then
|
|
return 'Left'
|
|
end
|
|
|
|
return nil
|
|
end
|
|
|
|
---Stops and start an event, making sure that we don't stack them up
|
|
---@param event string
|
|
---@param method function
|
|
function CommonMethods.SafeStartEvent(event, method)
|
|
Events[event].Remove(method)
|
|
Events[event].Add(method)
|
|
end
|
|
|
|
return CommonMethods |