@@ -27,8 +27,6 @@ function AdorneeValue.new()
2727 self ._adornee = ValueObject .new ()
2828 self ._maid :GiveTask (self ._adornee )
2929
30-
31-
3230 return self
3331end
3432
3735
3836 @return Instance | CFrame | Vector3 | nil
3937]=]
40- function AdorneeValue :GetAdornee ()
38+ function AdorneeValue :GetAdornee (): ( Instance | CFrame | Vector3 )?
4139 return self ._adornee .Value
4240end
4341
7977
8078function AdorneeValue :__newindex (index , value )
8179 if index == " Value" then
82- assert (typeof ( value ) == " Instance "
83- or typeof (value ) == " Vector3"
84- or typeof ( value ) == " CFrame "
85- or value == nil , " Bad value " )
80+ assert (
81+ typeof ( value ) == " Instance " or typeof (value ) == " Vector3" or typeof ( value ) == " CFrame " or value == nil ,
82+ " Bad value"
83+ )
8684
8785 self ._adornee .Value = value
8886 elseif index == " _adornee" or index == " _maid" then
@@ -102,19 +100,19 @@ end
102100 @return Observable<CFrame | nil>
103101]=]
104102function AdorneeValue :ObserveBottomCFrame ()
105- return Blend .Computed (self ._adornee , function (adornee )
103+ return Blend .Computed (self ._adornee , function (adornee : Instance ): CFrame ?
106104 if typeof (adornee ) == " CFrame" then
107105 return adornee
108106 elseif typeof (adornee ) == " Vector3" then
109107 return CFrame .new (adornee )
110108 elseif typeof (adornee ) == " Instance" then
111109 -- TODO: Nearest bounding box stuff.
112110 local bbCFrame , bbSize = AdorneeUtils .getBoundingBox (adornee )
113- if not bbCFrame then
111+ if not bbCFrame or not bbSize then
114112 return nil
115113 end
116114
117- return bbCFrame * CFrame .new (0 , - bbSize .y / 2 , 0 )
115+ return bbCFrame * CFrame .new (0 , - bbSize .Y / 2 , 0 )
118116 elseif adornee then
119117 warn (" Bad adornee" )
120118 return nil
140138
141139 @return Vector3 | nil
142140]=]
143- function AdorneeValue :GetCenterPosition ()
141+ function AdorneeValue :GetCenterPosition (): Vector3 ?
144142 local adornee = self ._adornee .Value
145143
146144 if typeof (adornee ) == " CFrame" then
174172
175173 @return number?
176174]=]
177- function AdorneeValue :GetRadius ()
175+ function AdorneeValue :GetRadius (): number ?
178176 local adornee = self ._adornee .Value
179177
180178 if typeof (adornee ) == " CFrame" then
@@ -184,11 +182,11 @@ function AdorneeValue:GetRadius()
184182 elseif typeof (adornee ) == " Instance" then
185183 -- TODO: Nearest bounding box stuff.
186184 local bbCFrame , bbSize = AdorneeUtils .getBoundingBox (adornee )
187- if not bbCFrame then
185+ if not bbCFrame or not bbSize then
188186 return nil
189187 end
190188
191- return bbSize .magnitude / 2
189+ return bbSize .Magnitude / 2
192190 elseif adornee then
193191 warn (" Bad adornee" )
194192 return nil
@@ -212,9 +210,10 @@ function AdorneeValue:ObservePositionTowards(observeTargetPosition, observeRadiu
212210 observeTargetPosition ,
213211 self :ObserveCenterPosition (),
214212 observeRadius or self :ObserveRadius (),
215- function (target , radius , center )
213+ function (target : Vector3 , radius : number , center : Vector3 )
216214 return self :_getPositionTowards (target , radius , center )
217- end )
215+ end
216+ )
218217end
219218
220219--[=[
226225 @param center Vector3
227226 @return Vector3
228227]=]
229- function AdorneeValue :GetPositionTowards (target , radius , center )
228+ function AdorneeValue :GetPositionTowards (target : Vector3 , radius : number , center : Vector3 ): Vector3 ?
230229 assert (typeof (target ) == " Vector3" , " Bad target" )
231230
232231 center = center or self :GetCenterPosition ()
@@ -235,13 +234,13 @@ function AdorneeValue:GetPositionTowards(target, radius, center)
235234 return self :_getPositionTowards (target , radius , center )
236235end
237236
238- function AdorneeValue :_getPositionTowards (target , radius , center )
237+ function AdorneeValue :_getPositionTowards (target : Vector3 , radius : number , center : Vector3 ): Vector3 ?
239238 if not (radius and target and center ) then
240239 return nil
241240 end
242241
243242 local offset = target - center
244- if offset .magnitude == 0 then
243+ if offset .Magnitude == 0 then
245244 return nil
246245 end
247246
255254 @return Observable<Instance?>
256255]=]
257256function AdorneeValue :ObserveAttachmentParent ()
258- return Blend .Computed (self ._adornee , function (adornee )
257+ return Blend .Computed (self ._adornee , function (adornee ): Instance ?
259258 if typeof (adornee ) == " Instance" then
260259 -- TODO: Nearest bounding box stuff.
261260 local part = AdorneeUtils .getPart (adornee )
286285function AdorneeValue :RenderPositionAttachment (props )
287286 props = props or {}
288287
289- local observeWorldPosition = props .WorldPosition or self :ObserveCenterPosition ();
288+ local observeWorldPosition = props .WorldPosition or self :ObserveCenterPosition ()
290289 local observeParentPart = self :ObserveAttachmentParent ()
291290
292291 local observeCFrame = Blend .Computed (observeParentPart , observeWorldPosition , function (parentPart , position )
@@ -295,7 +294,7 @@ function AdorneeValue:RenderPositionAttachment(props)
295294 else
296295 return CFrame .new (0 , 0 , 0 )
297296 end
298- end );
297+ end )
299298
300299 return Blend .New " Attachment" {
301300 Name = props .Name or " AdorneeValueAttachment" ;
0 commit comments