Open
Description
The idea is to design how OOP will work in Lua and Godot. Classes will be implemented with tables and should be as close as possible to the Godot API used by other languages.
Following below is an excerpt for some of the the designs I have so far.
1. Explicitly imports the class Lua module and the node class to be extended and defines new classes through the class's 'extends' method
Although more verbose it gives a classic oop look and feel
local class = require 'lua.class' -- Import the system class library
local Sprite = require 'godot.Sprite' -- Make sure to import the base class
local Main = class.extends(Sprite) -- Creates the user subclass
function Main:ready()
end
function Main:process(delta)
end
return Main
2. Explicitly imports only the node class to be extended and defines new classes through the implicity available 'extends' method
This is more streamlined and concise and gives a mixed oop look and feel
local Sprite = require 'godot.Sprite' -- Make sure to import the base class
local Main = extends(Sprite) -- Creates the user subclass
function Main:ready()
end
function Main:process(delta)
end
return Main
Please share your thoughts on this two ideas or show us a new idea that you come up about this topic.
-- Perbone