Skip to content

Commit 3dc9676

Browse files
Merge pull request #35 from weenachuangkud:fix1
fix: clean up TypeDefinitions style, parameters, and doc comments
2 parents c582648 + cb8f4cb commit 3dc9676

3 files changed

Lines changed: 37 additions & 34 deletions

File tree

src/FastCast2/FastCastVMs/ClientVM.client.luau

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
--local Rep = game:GetService("ReplicatedStorage")
1010
--local FastCast2Module = Rep:WaitForChild("FastCast2")
1111

12-
local FastCast2Module = script:WaitForChild("FastCast2").Value
12+
local FastCast2Module: ModuleScript = script:WaitForChild("FastCast2").Value :: ModuleScript
1313

1414

1515
-- Requires

src/FastCast2/FastCastVMs/ServerVM.server.luau

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
--local Rep = game:GetService("ReplicatedStorage")
1010
--local FastCast2Module = Rep:WaitForChild("FastCast2")
1111

12-
local FastCast2Module = script:WaitForChild("FastCast2").Value
12+
local FastCast2Module: ModuleScript = script:WaitForChild("FastCast2").Value :: ModuleScript
1313

1414

1515
local TypeDefinitions = require(FastCast2Module:WaitForChild("TypeDefinitions"))

src/FastCast2/TypeDefinitions.luau

Lines changed: 35 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,13 @@
1313
Type definitions for strict-typing.
1414
]=]
1515

16+
local SignalModule = require(script.Parent:WaitForChild("Signal"))
1617
local Dispatcher = require(script.Parent:WaitForChild("FastCastVMs"))
1718

19+
type Signal<T...> = SignalModule.Signal<T...>
20+
1821
--[=[
19-
@type vaildcast ActiveCastData | ActiveBlockcastData
22+
@type vaildcast ActiveCastData | ActiveBlockcastData | ActiveSpherecastData
2023
@within TypeDefinitions
2124
2225
A type that can be either an ActiveCast or an ActiveBlockcast.
@@ -48,52 +51,52 @@ export type FastCastEvents = {
4851
}
4952

5053
--[=[
51-
@type CanPierceFunction (vaildcast, RaycastResult, Vector3, Instance?) -> boolean
54+
@type CanPierceFunction (cast: vaildcast, result: RaycastResult, segmentVelocity: Vector3, cosmeticBulletObject: Instance?) -> boolean
5255
@within TypeDefinitions
5356
5457
Callback used to decide whether a cast should pierce and continue after a hit.
5558
]=]
5659
export type CanPierceFunction = (
57-
vaildcast,
58-
RaycastResult,
60+
cast: vaildcast,
61+
result: RaycastResult,
5962
segmentVelocity: Vector3,
6063
cosmeticBulletObject: Instance?
6164
) -> boolean
6265

6366
--[=[
64-
@type OnHitFunction (vaildcast, RaycastResult, Vector3, Instance?) -> ()
67+
@type OnHitFunction (cast: vaildcast, result: RaycastResult, segmentVelocity: Vector3, cosmeticBulletObject: Instance?) -> ()
6568
@within TypeDefinitions
6669
6770
Callback fired when the cast hits something (non-piercing).
6871
]=]
6972
export type OnHitFunction = (
70-
vaildcast,
71-
RaycastResult,
73+
cast: vaildcast,
74+
result: RaycastResult,
7275
segmentVelocity: Vector3,
7376
cosmeticBulletObject: Instance?
7477
) -> ()
7578

7679
--[=[
77-
@type OnPierceFunction (vaildcast, RaycastResult, Vector3, Instance?) -> ()
80+
@type OnPierceFunction (cast: vaildcast, result: RaycastResult, segmentVelocity: Vector3, cosmeticBulletObject: Instance?) -> ()
7881
@within TypeDefinitions
7982
8083
Callback fired when the cast pierces something.
8184
]=]
8285
export type OnPiercedFunction = (
83-
vaildcast,
84-
RaycastResult,
86+
cast: vaildcast,
87+
result: RaycastResult,
8588
segmentVelocity: Vector3,
8689
cosmeticBulletObject: Instance?
8790
) -> ()
8891

8992
--[=[
90-
@type OnLengthChangedFunction (vaildcast, Vector3, Vector3, number, Vector3, Instance?) -> ()
93+
@type OnLengthChangedFunction (cast: vaildcast, lastPoint: Vector3, rayDir: Vector3, rayDisplacement: number, segmentVelocity: Vector3, cosmeticBulletObject: Instance?) -> ()
9194
@within TypeDefinitions
9295
9396
Callback fired when the cast's length changes as it updates.
9497
]=]
9598
export type OnLengthChangedFunction = (
96-
vaildcast,
99+
cast: vaildcast,
97100
lastPoint: Vector3,
98101
rayDir: Vector3,
99102
rayDisplacement: number,
@@ -102,24 +105,24 @@ export type OnLengthChangedFunction = (
102105
) -> ()
103106

104107
--[=[
105-
@type OnCastTerminatingFunction (vaildcast) -> ()
108+
@type OnCastTerminatingFunction (cast: vaildcast) -> ()
106109
@within TypeDefinitions
107110
108111
Callback fired right as an ActiveCast is terminating.
109112
]=]
110-
export type OnCastTerminatingFunction = (vaildcast) -> ()
113+
export type OnCastTerminatingFunction = (cast: vaildcast) -> ()
111114

112115
--[=[
113-
@type OnCastFireFunction (vaildcast, Vector3, Vector3, Vector3, FastCastBehavior) -> ()
116+
@type OnCastFireFunction (cast: vaildcast, lastPoint: Vector3, rayDir: Vector3, segmentVelocity: Vector3, behavior: FastCastBehavior) -> ()
114117
@within TypeDefinitions
115118
116119
Callback fired when a cast is initially fired.
117120
]=]
118121
export type OnCastFireFunction = (
119-
vaildcast,
120-
Origin: Vector3,
121-
Direction: Vector3,
122-
Velocity: Vector3,
122+
cast: vaildcast,
123+
lastPoint: Vector3,
124+
rayDir: Vector3,
125+
segmentVelocity: Vector3,
123126
behavior: FastCastBehavior
124127
) -> ()
125128

@@ -140,19 +143,19 @@ export type ObjectCache = {
140143
}
141144

142145
--[=[
143-
@type Caster { WorldRoot: WorldRoot, LengthChanged: RBXScriptSignal, Hit: RBXScriptSignal, Pierced: RBXScriptSignal, CastTerminating: RBXScriptSignal, CastFire: RBXScriptSignal, Dispatcher: Dispatcher.Dispatcher, ObjectCache: ObjectCache, AlreadyInit: boolean, ObjectCacheEnabled: boolean, BulkMoveEnabled: boolean, FastCastEventsModule: FastCastEventsModule, Init: ( self: Caster, numWorkers: number, newParent: Folder, newName: string, ContainerParent: Folder, VMContainerName: string, VMname: string, useBulkMoveTo: boolean, FastCastEventsModule: ModuleScript, useObjectCache: boolean, Template: BasePart | Model, CacheSize: number, CacheHolder: Instance ) -> (), RaycastFire: ( Caster, Origin: Vector3, Direction: Vector3, Velocity: Vector3 | number, Behavior: FastCastBehavior ) -> (), BlockcastFire: ( self: Caster, Origin: Vector3, Size: Vector3, Direction: Vector3, Velocity: Vector3 | number, Behavior: FastCastBehavio ) -> (), SetBulkMoveEnabled: (self: Caster, enabled: boolean) -> (), SetObjectCacheEnabled: ( self: Caster, enabled: boolean, Template: BasePart | Model, CacheSize: number, CacheHolder: Instance ) -> (), SetFastCastEventsModule: (self: Caster, moduleScript: ModuleScript) -> (), AddVelocityCast: (Caster, cast: vaildcast, velocity: Vector3) -> (), SetVelocityCast: (Caster, cast: vaildcast, velocity: Vector3) -> (), GetVelocityCast: (Caster, cast: vaildcast, velocity: Vector3) -> Vector3, AddAccelerationCast: (Caster, cast: vaildcast) -> Vector3, GetAccelerationCast: (Caster, cast: vaildcast) -> Vector3, SetAccelerationCast: (Caster, cast: vaildcast, acceleration: Vector3) -> (), GetPositionCast: (Caster, cast: vaildcast, Position: Vector3) -> Vector3, AddPositionCast: (Caster, cast: vaildcast, Position: Vector3) -> (), ResumeCast: (Caster, cast: vaildcast) -> (), PauseCast: (Caster, cast: vaildcast) -> (), SyncChangesToCast: (Caster, cast: vaildcast) -> (), TerminateCast: (Caster, cast: vaildcast) -> (), Destroy: (Caster) -> () }
146+
@type Caster { WorldRoot: WorldRoot, LengthChanged: Signal<OnLengthChangedFunction> | OnLengthChangedFunction, Hit: Signal<OnHitFunction> | OnHitFunction, Pierced: Signal<OnPiercedFunction> | OnPiercedFunction, CastTerminating: Signal<OnCastTerminatingFunction> | OnCastTerminatingFunction, CastFire: Signal<OnCastFireFunction> | OnCastFireFunction, Dispatcher: Dispatcher.Dispatcher, ObjectCache: ObjectCache, AlreadyInit: boolean, ObjectCacheEnabled: boolean, BulkMoveEnabled: boolean, FastCastEventsModule: FastCastEventsModule, Init: ( self: Caster, numWorkers: number, newParent: Folder, newName: string, ContainerParent: Folder, VMContainerName: string, VMname: string, useBulkMoveTo: boolean, FastCastEventsModule: ModuleScript, useObjectCache: boolean, Template: BasePart | Model, CacheSize: number, CacheHolder: Instance ) -> (), RaycastFire: ( Caster, Origin: Vector3, Direction: Vector3, Velocity: Vector3 | number, Behavior: FastCastBehavior ) -> (), BlockcastFire: ( self: Caster, Origin: Vector3, Size: Vector3, Direction: Vector3, Velocity: Vector3 | number, Behavior: FastCastBehavio ) -> (), SetBulkMoveEnabled: (self: Caster, enabled: boolean) -> (), SetObjectCacheEnabled: ( self: Caster, enabled: boolean, Template: BasePart | Model, CacheSize: number, CacheHolder: Instance ) -> (), SetFastCastEventsModule: (self: Caster, moduleScript: ModuleScript) -> (), AddVelocityCast: (Caster, cast: vaildcast, velocity: Vector3) -> (), SetVelocityCast: (Caster, cast: vaildcast, velocity: Vector3) -> (), GetVelocityCast: (Caster, cast: vaildcast, velocity: Vector3) -> Vector3, AddAccelerationCast: (Caster, cast: vaildcast) -> Vector3, GetAccelerationCast: (Caster, cast: vaildcast) -> Vector3, SetAccelerationCast: (Caster, cast: vaildcast, acceleration: Vector3) -> (), GetPositionCast: (Caster, cast: vaildcast, Position: Vector3) -> Vector3, AddPositionCast: (Caster, cast: vaildcast, Position: Vector3) -> (), ResumeCast: (Caster, cast: vaildcast) -> (), PauseCast: (Caster, cast: vaildcast) -> (), SyncChangesToCast: (Caster, cast: vaildcast) -> (), TerminateCast: (Caster, cast: vaildcast) -> (), Destroy: (Caster) -> () }
144147
145148
@within TypeDefinitions
146149
147150
Represents a Caster.
148151
]=]
149152
export type Caster = {
150153
WorldRoot: WorldRoot,
151-
LengthChanged: RBXScriptSignal,
152-
Hit: RBXScriptSignal,
153-
Pierced: RBXScriptSignal,
154-
CastTerminating: RBXScriptSignal,
155-
CastFire: RBXScriptSignal,
154+
LengthChanged: Signal<OnLengthChangedFunction> | OnLengthChangedFunction,
155+
Hit: Signal<OnHitFunction> | OnHitFunction,
156+
Pierced: Signal<OnPiercedFunction> | OnPiercedFunction,
157+
CastTerminating: Signal<OnCastTerminatingFunction> | OnCastTerminatingFunction,
158+
CastFire: Signal<OnCastFireFunction> | OnCastFireFunction,
156159
Dispatcher: Dispatcher.Dispatcher,
157160
ObjectCache: ObjectCache,
158161

@@ -215,14 +218,14 @@ export type Caster = {
215218

216219
AddVelocityCast: (Caster, cast: vaildcast, velocity: Vector3) -> (),
217220
SetVelocityCast: (Caster, cast: vaildcast, velocity: Vector3) -> (),
218-
GetVelocityCast: (Caster, cast: vaildcast, velocity: Vector3) -> Vector3,
221+
GetVelocityCast: (Caster, cast: vaildcast) -> Vector3,
219222

220-
AddAccelerationCast: (Caster, cast: vaildcast) -> Vector3,
221-
GetAccelerationCast: (Caster, cast: vaildcast) -> Vector3,
223+
AddAccelerationCast: (Caster, cast: vaildcast, acceleration: Vector3) -> Vector3,
222224
SetAccelerationCast: (Caster, cast: vaildcast, acceleration: Vector3) -> (),
225+
GetAccelerationCast: (Caster, cast: vaildcast) -> Vector3,
223226

224-
GetPositionCast: (Caster, cast: vaildcast, Position: Vector3) -> Vector3,
225227
AddPositionCast: (Caster, cast: vaildcast, Position: Vector3) -> (),
228+
GetPositionCast: (Caster, cast: vaildcast) -> Vector3,
226229

227230
ResumeCast: (Caster, cast: vaildcast) -> (),
228231
PauseCast: (Caster, cast: vaildcast) -> (),
@@ -391,12 +394,12 @@ export type BlockCastRayInfo = {
391394
WorldRoot: WorldRoot,
392395
MaxDistance: number,
393396
CosmeticBulletObject: Instance?,
394-
--CanPierceModule: CanPierceModule?,
397+
395398
Size: Vector3,
396399
}
397400

398401
--[=[
399-
@type BlockCastRayInfo { Parameters: RaycastParams, WorldRoot: WorldRoot, MaxDistance: number, CosmeticBulletObject: Instance?, CanPierceModule: ModuleScript?, Size: Vector3 }
402+
@type SpherecastRayInfo { Parameters: RaycastParams, WorldRoot: WorldRoot, MaxDistance: number, CosmeticBulletObject: Instance?, CanPierceModule: ModuleScript?, Radius: number }
400403
@within TypeDefinitions
401404
402405
Ray info for sphere-cast variants.
@@ -406,7 +409,7 @@ export type SphereCastRayInfo = {
406409
WorldRoot: WorldRoot,
407410
MaxDistance: number,
408411
CosmeticBulletObject: Instance?,
409-
--CanPierceModule: CanPierceModule?,
412+
410413
Radius: number,
411414
}
412415

0 commit comments

Comments
 (0)