@@ -20,9 +20,16 @@ local AdorneeBoundingBox = setmetatable({}, BaseObject)
2020AdorneeBoundingBox .ClassName = " AdorneeBoundingBox"
2121AdorneeBoundingBox .__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
4653end
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 (),
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
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 ()
104111end
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
112119end
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 ()
120127end
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
128135end
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
151158end
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
171177end
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
187193end
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
207213end
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
241247end
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 ()
0 commit comments