so I am making a tower defense game honestly going great everything is working fine, but I have some questions about how I decided to structure my code now I know this is just a small snippet of my code but should I have taken a different approach to how I did this please let me know thanks
local RunService = game:GetService("RunService")
local Dat = require(script.Parent.dat)
local Tower = {}
Tower.__index = Tower
function Tower.NewTower(Radius, Model, AtkSpeed, OutPoint, AttackObj, UpgradeCost, BetterEye, Name, Damage, Player)
local self = {
Radius = Radius,
Model = Model,
AtkSpeed = AtkSpeed,
OutPoint = OutPoint,
AttackObj = AttackObj,
UpgradeCost = UpgradeCost,
BetterEye = BetterEye,
Name = Name,
Damage = Damage,
Player = Player,
--Global Args
-- Add owner arg so the game knows what is what.
CurrentUpgrade = 1,
Hovering = false,
InUiState = false,
}
return setmetatable(self, Tower)
end