mirror of
https://github.com/BlackMATov/evolved.lua.git
synced 2025-12-15 04:15:28 +07:00
basic evolded empty metatables
This commit is contained in:
@@ -1,15 +1,23 @@
|
|||||||
|
---@class evolved
|
||||||
|
local evolved = {}
|
||||||
|
|
||||||
---@class evolved.registry
|
---@class evolved.registry
|
||||||
---
|
local evolved_registry_mt = {}
|
||||||
|
evolved_registry_mt.__index = evolved_registry_mt
|
||||||
|
|
||||||
---@class evolved.entity
|
---@class evolved.entity
|
||||||
---
|
local evolved_entity_mt = {}
|
||||||
|
evolved_entity_mt.__index = evolved_entity_mt
|
||||||
|
|
||||||
---@class evolved.query
|
---@class evolved.query
|
||||||
---
|
local evolved_query_mt = {}
|
||||||
|
evolved_query_mt.__index = evolved_query_mt
|
||||||
|
|
||||||
---@class evolved.chunk
|
---@class evolved.chunk
|
||||||
---@field entities evolved.entity[]
|
---@field entities evolved.entity[]
|
||||||
---@field components table<evolved.entity, any[]>
|
---@field components table<evolved.entity, any[]>
|
||||||
|
local evolved_chunk_mt = {}
|
||||||
---@class evolved
|
evolved_chunk_mt.__index = evolved_chunk_mt
|
||||||
local evolved = {}
|
|
||||||
|
|
||||||
---@return evolved.registry
|
---@return evolved.registry
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ local vectors = {}
|
|||||||
---@class evolved.vector2
|
---@class evolved.vector2
|
||||||
---@field x number
|
---@field x number
|
||||||
---@field y number
|
---@field y number
|
||||||
local vector2_mt = {}
|
local evolved_vector2_mt = {}
|
||||||
vector2_mt.__index = vector2_mt
|
evolved_vector2_mt.__index = evolved_vector2_mt
|
||||||
|
|
||||||
---@param x number
|
---@param x number
|
||||||
---@param y number
|
---@param y number
|
||||||
@@ -14,13 +14,13 @@ vector2_mt.__index = vector2_mt
|
|||||||
local function vector2(x, y)
|
local function vector2(x, y)
|
||||||
---@type evolved.vector2
|
---@type evolved.vector2
|
||||||
local v = { x = x, y = y }
|
local v = { x = x, y = y }
|
||||||
return setmetatable(v, vector2_mt)
|
return setmetatable(v, evolved_vector2_mt)
|
||||||
end
|
end
|
||||||
|
|
||||||
---@param v evolved.vector2
|
---@param v evolved.vector2
|
||||||
---@return evolved.vector2
|
---@return evolved.vector2
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
function vector2_mt.__unm(v)
|
function evolved_vector2_mt.__unm(v)
|
||||||
return vector2(-v.x, -v.y)
|
return vector2(-v.x, -v.y)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -28,7 +28,7 @@ end
|
|||||||
---@param b number | evolved.vector2
|
---@param b number | evolved.vector2
|
||||||
---@return evolved.vector2
|
---@return evolved.vector2
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
function vector2_mt.__add(a, b)
|
function evolved_vector2_mt.__add(a, b)
|
||||||
if type(a) == 'number' then
|
if type(a) == 'number' then
|
||||||
return vector2(a + b.x, a + b.y)
|
return vector2(a + b.x, a + b.y)
|
||||||
elseif type(b) == 'number' then
|
elseif type(b) == 'number' then
|
||||||
@@ -42,7 +42,7 @@ end
|
|||||||
---@param b number | evolved.vector2
|
---@param b number | evolved.vector2
|
||||||
---@return evolved.vector2
|
---@return evolved.vector2
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
function vector2_mt.__sub(a, b)
|
function evolved_vector2_mt.__sub(a, b)
|
||||||
if type(a) == 'number' then
|
if type(a) == 'number' then
|
||||||
return vector2(a - b.x, a - b.y)
|
return vector2(a - b.x, a - b.y)
|
||||||
elseif type(b) == 'number' then
|
elseif type(b) == 'number' then
|
||||||
@@ -56,7 +56,7 @@ end
|
|||||||
---@param b number | evolved.vector2
|
---@param b number | evolved.vector2
|
||||||
---@return evolved.vector2
|
---@return evolved.vector2
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
function vector2_mt.__mul(a, b)
|
function evolved_vector2_mt.__mul(a, b)
|
||||||
if type(a) == 'number' then
|
if type(a) == 'number' then
|
||||||
return vector2(a * b.x, a * b.y)
|
return vector2(a * b.x, a * b.y)
|
||||||
elseif type(b) == 'number' then
|
elseif type(b) == 'number' then
|
||||||
@@ -70,7 +70,7 @@ end
|
|||||||
---@param b number | evolved.vector2
|
---@param b number | evolved.vector2
|
||||||
---@return evolved.vector2
|
---@return evolved.vector2
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
function vector2_mt.__div(a, b)
|
function evolved_vector2_mt.__div(a, b)
|
||||||
if type(a) == 'number' then
|
if type(a) == 'number' then
|
||||||
return vector2(a / b.x, a / b.y)
|
return vector2(a / b.x, a / b.y)
|
||||||
elseif type(b) == 'number' then
|
elseif type(b) == 'number' then
|
||||||
@@ -84,7 +84,7 @@ end
|
|||||||
---@param b evolved.vector2
|
---@param b evolved.vector2
|
||||||
---@return boolean
|
---@return boolean
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
function vector2_mt.__eq(a, b)
|
function evolved_vector2_mt.__eq(a, b)
|
||||||
return a.x == b.x and a.y == b.y
|
return a.x == b.x and a.y == b.y
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -92,7 +92,7 @@ end
|
|||||||
---@param b evolved.vector2
|
---@param b evolved.vector2
|
||||||
---@return boolean
|
---@return boolean
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
function vector2_mt.__le(a, b)
|
function evolved_vector2_mt.__le(a, b)
|
||||||
return a.x < b.x or (a.x == b.x and a.y <= b.y)
|
return a.x < b.x or (a.x == b.x and a.y <= b.y)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -100,14 +100,14 @@ end
|
|||||||
---@param b evolved.vector2
|
---@param b evolved.vector2
|
||||||
---@return boolean
|
---@return boolean
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
function vector2_mt.__lt(a, b)
|
function evolved_vector2_mt.__lt(a, b)
|
||||||
return a.x < b.x or (a.x == b.x and a.y < b.y)
|
return a.x < b.x or (a.x == b.x and a.y < b.y)
|
||||||
end
|
end
|
||||||
|
|
||||||
---@param v evolved.vector2
|
---@param v evolved.vector2
|
||||||
---@return string
|
---@return string
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
function vector2_mt.__tostring(v)
|
function evolved_vector2_mt.__tostring(v)
|
||||||
return string.format('(%f, %f)', v.x, v.y)
|
return string.format('(%f, %f)', v.x, v.y)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -129,7 +129,7 @@ end
|
|||||||
---@return boolean
|
---@return boolean
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
function vectors.is_vector2(v)
|
function vectors.is_vector2(v)
|
||||||
return getmetatable(v) == vector2_mt
|
return getmetatable(v) == evolved_vector2_mt
|
||||||
end
|
end
|
||||||
|
|
||||||
return vectors
|
return vectors
|
||||||
|
|||||||
Reference in New Issue
Block a user