🌟現在、鉄壁 鉄壁ヘッドショットには対応済みです。
鉄壁HSは通常HSと同じダメージになります。LMG及びDMR、チャージライフル、ハンマーポイント弾を除き、すべてのダメージ値が一致していることを確認しています。

モジュール:Utility/Prototypes

提供:Apex Data
2021年5月13日 (木) 18:06時点におけるMntone (トーク | 投稿記録)による版 (typeが'table'の場合正しく関数が呼び出されない問題の修正)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

このモジュールについての説明文ページを モジュール: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