Skip to content

Commit 4976f40

Browse files
committed
refactor: Fix OOP inheritance
1 parent 64def70 commit 4976f40

File tree

176 files changed

+3126
-1797
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

176 files changed

+3126
-1797
lines changed

src/acceltween/src/Shared/AccelTween.lua

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,10 @@ function AccelTween:__index(index)
103103
if AccelTween[index] then
104104
return AccelTween[index]
105105
elseif index == "p" then
106-
local pos, _ = self:_getstate(os.clock())
106+
local pos, _ = self:_getState(os.clock())
107107
return pos
108108
elseif index == "v" then
109-
local _, vel = self:_getstate(os.clock())
109+
local _, vel = self:_getState(os.clock())
110110
return vel
111111
elseif index == "a" then
112112
return self._accel
@@ -122,21 +122,21 @@ end
122122

123123
function AccelTween:__newindex(index, value)
124124
if index == "p" then
125-
self:_setstate(value, nil, nil, nil)
125+
self:_setState(value, nil, nil, nil)
126126
elseif index == "v" then
127-
self:_setstate(nil, value, nil, nil)
127+
self:_setState(nil, value, nil, nil)
128128
elseif index == "a" then
129-
self:_setstate(nil, nil, value, nil)
129+
self:_setState(nil, nil, value, nil)
130130
elseif index == "t" then
131-
self:_setstate(nil, nil, nil, value)
131+
self:_setState(nil, nil, nil, value)
132132
elseif index == "pt" then
133-
self:_setstate(value, 0, nil, value)
133+
self:_setState(value, 0, nil, value)
134134
else
135135
error(string.format("Bad index %q", tostring(index)))
136136
end
137137
end
138138

139-
function AccelTween:_getstate(time)
139+
function AccelTween:_getState(time)
140140
if time < (self._t0 + self._t1) / 2 then
141141
local t = time - self._t0
142142
return self._y0 + t * t / 2 * self._a0, t * self._a0
@@ -148,9 +148,9 @@ function AccelTween:_getstate(time)
148148
end
149149
end
150150

151-
function AccelTween:_setstate(newpos, newvel, newaccel, newtarg)
151+
function AccelTween:_setState(newpos, newvel, newaccel, newtarg)
152152
local time = os.clock()
153-
local pos, vel = self:_getstate(time)
153+
local pos, vel = self:_getState(time)
154154
pos = newpos or pos
155155
vel = newvel or vel
156156
self._accel = newaccel or self._accel

src/adorneeboundingbox/src/Shared/AdorneeBoundingBox.lua

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,16 @@ local AdorneeBoundingBox = setmetatable({}, BaseObject)
2020
AdorneeBoundingBox.ClassName = "AdorneeBoundingBox"
2121
AdorneeBoundingBox.__index = AdorneeBoundingBox
2222

23-
export type AdorneeBoundingBox = typeof(setmetatable({}, AdorneeBoundingBox))
24-
25-
function AdorneeBoundingBox.new(initialAdornee: Instance): AdorneeBoundingBox
23+
export type AdorneeBoundingBox = typeof(setmetatable(
24+
{} :: {
25+
_adornee: ValueObject.ValueObject<Instance?>,
26+
_bbCFrame: ValueObject.ValueObject<CFrame?>,
27+
_bbSize: ValueObject.ValueObject<Vector3?>,
28+
},
29+
{} :: typeof({ __index = AdorneeBoundingBox })
30+
)) & BaseObject.BaseObject
31+
32+
function AdorneeBoundingBox.new(initialAdornee: Instance?): AdorneeBoundingBox
2633
local self = setmetatable(BaseObject.new() :: any, AdorneeBoundingBox)
2734

2835
self._adornee = self._maid:Add(ValueObject.new(initialAdornee))
@@ -45,7 +52,7 @@ function AdorneeBoundingBox.new(initialAdornee: Instance): AdorneeBoundingBox
4552
return self
4653
end
4754

48-
function AdorneeBoundingBox:SetAdornee(adornee: Instance?): () -> ()
55+
function AdorneeBoundingBox.SetAdornee(self: AdorneeBoundingBox, adornee: Instance?): () -> ()
4956
assert(typeof(adornee) == "Instance" or adornee == nil, "Bad adornee")
5057

5158
self._adornee.Value = adornee
@@ -66,7 +73,7 @@ export type BoundingBoxData = {
6673
Observes the bounding box of the adornee
6774
@return Observable<BoundingBoxData>
6875
]=]
69-
function AdorneeBoundingBox:ObserveBoundingBox(): _Observable.Observable<BoundingBoxData>
76+
function AdorneeBoundingBox.ObserveBoundingBox(self: AdorneeBoundingBox): _Observable.Observable<BoundingBoxData>
7077
return Rx.combineLatest({
7178
CFrame = self:ObserveCFrame(),
7279
Size = self:ObserveSize(),
@@ -81,7 +88,7 @@ end
8188
Gets the bounding box of the adornee
8289
@return BoundingBoxData?
8390
]=]
84-
function AdorneeBoundingBox:GetBoundingBox(): BoundingBoxData?
91+
function AdorneeBoundingBox.GetBoundingBox(self: AdorneeBoundingBox): BoundingBoxData?
8592
local cframe = self._bbCFrame.Value
8693
local size = self._bbSize.Value
8794

@@ -99,35 +106,35 @@ end
99106
Observes the cframe of the adornee
100107
@return Observable<Vector3>
101108
]=]
102-
function AdorneeBoundingBox:ObserveCFrame(): _Observable.Observable<CFrame>
109+
function AdorneeBoundingBox.ObserveCFrame(self: AdorneeBoundingBox): _Observable.Observable<CFrame?>
103110
return self._bbCFrame:Observe()
104111
end
105112

106113
--[=[
107114
Gets the CFrame of the adornee
108115
@return Vector3
109116
]=]
110-
function AdorneeBoundingBox:GetCFrame(): CFrame?
117+
function AdorneeBoundingBox.GetCFrame(self: AdorneeBoundingBox): CFrame?
111118
return self._bbCFrame.Value
112119
end
113120

114121
--[=[
115122
Observes the size of the adornee
116123
@return Observable<Vector3>
117124
]=]
118-
function AdorneeBoundingBox:ObserveSize(): _Observable.Observable<Vector3>
125+
function AdorneeBoundingBox.ObserveSize(self: AdorneeBoundingBox): _Observable.Observable<Vector3?>
119126
return self._bbSize:Observe()
120127
end
121128

122129
--[=[
123130
Gets the size of the adornee
124131
@return Vector3
125132
]=]
126-
function AdorneeBoundingBox:GetSize(): Vector3
133+
function AdorneeBoundingBox.GetSize(self: AdorneeBoundingBox): Vector3?
127134
return self._bbSize.Value
128135
end
129136

130-
function AdorneeBoundingBox:_setup(maid: Maid.Maid, adornee: Instance)
137+
function AdorneeBoundingBox._setup(self: AdorneeBoundingBox, maid: Maid.Maid, adornee: Instance)
131138
if adornee:IsA("BasePart") then
132139
maid:GiveTask(self:_setupPart(adornee))
133140
elseif adornee:IsA("Model") then
@@ -150,7 +157,7 @@ function AdorneeBoundingBox:_setup(maid: Maid.Maid, adornee: Instance)
150157
end
151158
end
152159

153-
function AdorneeBoundingBox:_setupTool(tool: Tool): Maid.Maid
160+
function AdorneeBoundingBox._setupTool(self: AdorneeBoundingBox, tool: Tool): Maid.Maid
154161
assert(typeof(tool) == "Instance" and tool:IsA("Tool"), "Bad tool")
155162

156163
local topMaid = Maid.new()
@@ -160,17 +167,16 @@ function AdorneeBoundingBox:_setupTool(tool: Tool): Maid.Maid
160167
return
161168
end
162169

163-
local maid = brio:ToMaid()
164-
local handle = brio:GetValue()
170+
local maid, handle = brio:ToMaidAndValue()
165171

166172
-- TODO: Something smarter? But we'll need to change the AdorneeUtils contract too
167-
maid:GiveTask(self:_setupPart(handle))
173+
maid:GiveTask(self:_setupPart(handle :: BasePart))
168174
end))
169175

170176
return topMaid
171177
end
172178

173-
function AdorneeBoundingBox:_setupModel(model: Model): Maid.Maid
179+
function AdorneeBoundingBox._setupModel(self: AdorneeBoundingBox, model: Model): Maid.Maid
174180
assert(typeof(model) == "Instance" and model:IsA("Model"), "Bad model")
175181

176182
local topMaid = Maid.new()
@@ -186,7 +192,7 @@ function AdorneeBoundingBox:_setupModel(model: Model): Maid.Maid
186192
return topMaid
187193
end
188194

189-
function AdorneeBoundingBox:_setupHumanoid(humanoid: Humanoid): Maid.Maid
195+
function AdorneeBoundingBox._setupHumanoid(self: AdorneeBoundingBox, humanoid: Humanoid): Maid.Maid
190196
assert(typeof(humanoid) == "Instance" and humanoid:IsA("Humanoid"), "Bad humanoid")
191197

192198
local topMaid = Maid.new()
@@ -206,7 +212,7 @@ function AdorneeBoundingBox:_setupHumanoid(humanoid: Humanoid): Maid.Maid
206212
return topMaid
207213
end
208214

209-
function AdorneeBoundingBox:_setupAttachment(attachment: Attachment): Maid.Maid
215+
function AdorneeBoundingBox._setupAttachment(self: AdorneeBoundingBox, attachment: Attachment): Maid.Maid
210216
assert(typeof(attachment) == "Instance" and attachment:IsA("Attachment"), "Bad attachment")
211217

212218
local maid = Maid.new()
@@ -217,7 +223,7 @@ function AdorneeBoundingBox:_setupAttachment(attachment: Attachment): Maid.Maid
217223
return parent ~= nil
218224
end)
219225
:Pipe({
220-
RxBrioUtils.switchMapBrio(function(parent)
226+
RxBrioUtils.switchMapBrio(function(parent): any
221227
if parent:IsA("BasePart") then
222228
return Rx.combineLatest({
223229
partCFrame = RxPartBoundingBoxUtils.observePartCFrame(parent),
@@ -240,7 +246,7 @@ function AdorneeBoundingBox:_setupAttachment(attachment: Attachment): Maid.Maid
240246
return maid
241247
end
242248

243-
function AdorneeBoundingBox:_setupPart(part: BasePart): Maid.Maid
249+
function AdorneeBoundingBox._setupPart(self: AdorneeBoundingBox, part: BasePart): Maid.Maid
244250
assert(typeof(part) == "Instance" and part:IsA("BasePart"), "Bad part")
245251

246252
local maid = Maid.new()

src/adorneeboundingbox/src/Shared/RxPartBoundingBoxUtils.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ local RxPartBoundingBoxUtils = {}
1313
function RxPartBoundingBoxUtils.observePartCFrame(part: BasePart): _Observable.Observable<CFrame>
1414
assert(typeof(part) == "Instance" and part:IsA("BasePart"), "Bad part")
1515

16-
return RxInstanceUtils.observeProperty(part, "CFrame") :: any
16+
return RxInstanceUtils.observeProperty(part, "CFrame")
1717
end
1818

1919
return RxPartBoundingBoxUtils

0 commit comments

Comments
 (0)