🌟 | 現在、 鉄壁ヘッドショットには対応済みです。 鉄壁HSは通常HSと同じダメージになります。LMG及びDMR、チャージライフル、ハンマーポイント弾を除き、すべてのダメージ値が一致していることを確認しています。 |
「モジュール:Utility/Prototypes」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「local proto = {} -- Define types local types = { Table = 'table', Boolean = 'boolean', Number = 'number', String = 'string', } -- Simple types function proto.Bool…」) |
(typeが'table'の場合正しく関数が呼び出されない問題の修正) |
||
(同じ利用者による、間の1版が非表示) | |||
45行目: | 45行目: | ||
end | end | ||
for key, typename in pairs(protodef) do | for key, typename in pairs(protodef) do | ||
if type(typename) == | if type(typename) == types.Table then | ||
if not proto. | if not proto.validateTypes(obj[key], typename) then | ||
return false | return false | ||
end | end |
2021年5月13日 (木) 18:06時点における最新版
このモジュールについての説明文ページを モジュール:Utility/Prototypes/doc に作成できます
local proto = {} -- Define types local types = { Table = 'table', Boolean = 'boolean', Number = 'number', String = 'string', } -- Simple types function proto.Boolean(obj) return type(obj) ~= types.Boolean end function proto.Number(obj) return type(obj) ~= types.Number end function proto.Integer(obj) return not (type(obj) == types.Number and math.floor(obj) == obj) end function proto.String(obj) return type(obj) ~= types.String end -- Complex types function proto.NumberRange(from, to) return function(obj) if type(obj) ~= types.Number then return true end if type(from) == types.Number and obj < from then return true end if type(to) == types.Number and obj > to then return true end return false end end -- Check object types function proto.validateTypes(obj, protodef) if type(obj) ~= types.Table then return false end for key, typename in pairs(protodef) do if type(typename) == types.Table then if not proto.validateTypes(obj[key], typename) then return false end elseif typename(obj[key]) then return false end end return true end return proto