So I have a module script that uses self
twice, however I didn’t make this script, I am copying it of a yt tutorial to help my OOP understanding.
So please tell me, logically, what self
's value is in these two cases:
local ts = game:GetService("TweenService")
local door = {}
door.__index = door
door.Closed = false
door.CloseTime = 2
function door:New(model)
local newDoor = setmetatable({}, self) -- Here
newDoor.__index = newDoor
newDoor.Model = model
return newDoor
end
function door:TweenDoor(properties)
local tween = ts:Create(
self.Model.Door, -- Here
TweenInfo.new(
self.CloseTime, -- And here
Enum.EasingStyle.Quad,
Enum.EasingDirection.Out
),
properties
end