From 2ef5c01f4782949189f91e0fbd45dd172156de86 Mon Sep 17 00:00:00 2001 From: Kazhnuz Date: Sat, 20 Jul 2019 17:10:58 +0200 Subject: [PATCH] feat(boxes): add sti-mapped boxes --- .../modules/world/actors/utils/boxes/init.lua | 1 + .../world/actors/utils/boxes/mapped.lua | 51 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 gamecore/modules/world/actors/utils/boxes/mapped.lua diff --git a/gamecore/modules/world/actors/utils/boxes/init.lua b/gamecore/modules/world/actors/utils/boxes/init.lua index ab5e081..922f7b1 100644 --- a/gamecore/modules/world/actors/utils/boxes/init.lua +++ b/gamecore/modules/world/actors/utils/boxes/init.lua @@ -27,5 +27,6 @@ local Boxes = {} Boxes.Base = require(cwd .. "parent") Boxes.Textured = require(cwd .. "textured") +Boxes.Mapped = require(cwd .. "mapped") return Boxes diff --git a/gamecore/modules/world/actors/utils/boxes/mapped.lua b/gamecore/modules/world/actors/utils/boxes/mapped.lua new file mode 100644 index 0000000..ce7cb67 --- /dev/null +++ b/gamecore/modules/world/actors/utils/boxes/mapped.lua @@ -0,0 +1,51 @@ +-- mapped.lua :: a sti-mapped box + +--[[ + Copyright © 2019 Kazhnuz + + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal in + the Software without restriction, including without limitation the rights to + use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + the Software, and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +]] + +local cwd = (...):gsub('%.mapped$', '') .. "." +local Box3D = require(cwd .. "parent") + +local MappedBox = Box3D:extend() + +function MappedBox:new(owner, x, y, z, w, h, d) + self.x = x + self.y = y + self.z = z + + MappedBox.super.new(self, owner, w, h, d) + self.haveLine = false +end + +function MappedBox:drawTextureContent() + print(self.x, self.y, self.z) + local tx, ty = self.x, self.y - (self.z + self.d) + love.graphics.push() + love.graphics.origin() + love.graphics.translate(math.floor(-tx), math.floor(-ty)) + + self.world:drawMap() + + love.graphics.pop() +end + + +return MappedBox