From 22cce63ef4f55d32c062a87250883f0243c86055 Mon Sep 17 00:00:00 2001 From: rhpidfyre Date: Thu, 14 Mar 2024 22:54:04 -0400 Subject: [PATCH] Enum module and types --- sourcemap.json | 2 +- src/server/main/Elevators/Enums.lua | 4 ++++ src/shared/Enum.lua | 10 +++++----- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/sourcemap.json b/sourcemap.json index bb1bd52..dc67b50 100644 --- a/sourcemap.json +++ b/sourcemap.json @@ -1 +1 @@ -{"name":"ElevatorGame","className":"DataModel","filePaths":["default.project.json"],"children":[{"name":"ReplicatedFirst","className":"ReplicatedFirst","children":[{"name":"intro","className":"LocalScript","filePaths":["src/load\\intro\\init.client.lua"],"children":[{"name":"IntroGui","className":"ModuleScript","filePaths":["src/load\\intro\\IntroGui.lua"]}]}]},{"name":"ReplicatedStorage","className":"ReplicatedStorage","children":[{"name":"AlgebraEasings","className":"ModuleScript","filePaths":["src/shared\\AlgebraEasings.lua"]},{"name":"Client","className":"Folder","children":[{"name":"Camera","className":"ModuleScript","filePaths":["src/shared\\Client\\Camera.lua"]},{"name":"KeyBinds","className":"ModuleScript","filePaths":["src/shared\\Client\\KeyBinds.lua"]}]},{"name":"Delta","className":"ModuleScript","filePaths":["src/shared\\Delta.lua"]},{"name":"Enum","className":"ModuleScript","filePaths":["src/shared\\Enum.lua"]},{"name":"Server","className":"Folder","children":[{"name":"holder","className":"ModuleScript","filePaths":["src/shared\\Server\\holder.lua"]}]},{"name":"String","className":"ModuleScript","filePaths":["src/shared\\String.lua"]},{"name":"Tags","className":"ModuleScript","filePaths":["src/shared\\Tags.lua"]},{"name":"Tween","className":"ModuleScript","filePaths":["src/shared\\Tween.lua"]}]},{"name":"ServerScriptService","className":"ServerScriptService","children":[{"name":"rapid-Server","className":"Actor","children":[{"name":"main","className":"Script","filePaths":["src/server\\main\\init.server.lua"],"children":[{"name":"EditorEntities","className":"ModuleScript","filePaths":["src/server\\main\\EditorEntities.lua"]},{"name":"Elevators","className":"Folder","children":[{"name":"Buttons","className":"ModuleScript","filePaths":["src/server\\main\\Elevators\\Buttons.lua"]},{"name":"Floors","className":"ModuleScript","filePaths":["src/server\\main\\Elevators\\Floors.lua"]},{"name":"Mover","className":"ModuleScript","filePaths":["src/server\\main\\Elevators\\Mover.lua"]},{"name":"Otis1960","className":"ModuleScript","filePaths":["src/server\\main\\Elevators\\Otis1960\\init.lua"],"children":[{"name":"Doors","className":"ModuleScript","filePaths":["src/server\\main\\Elevators\\Otis1960\\Doors.lua"]},{"name":"Leveling","className":"ModuleScript","filePaths":["src/server\\main\\Elevators\\Otis1960\\Leveling.lua"]}]}]},{"name":"Lighting","className":"ModuleScript","filePaths":["src/server\\main\\Lighting\\init.lua"]},{"name":"StarterPlayer","className":"ModuleScript","filePaths":["src/server\\main\\StarterPlayer.lua"]},{"name":"Workspace","className":"ModuleScript","filePaths":["src/server\\main\\Workspace.lua"]}]}]}]},{"name":"StarterPlayer","className":"StarterPlayer","children":[{"name":"StarterCharacterScripts","className":"StarterCharacterScripts","children":[{"name":"rapid-CharacterRoot","className":"Actor","children":[{"name":"Client","className":"LocalScript","filePaths":["src/client/Character\\Client\\init.client.lua"],"children":[{"name":"Actions","className":"ModuleScript","filePaths":["src/client/Character\\Client\\Actions.lua"]},{"name":"Camera","className":"ModuleScript","filePaths":["src/client/Character\\Client\\Camera\\init.lua"],"children":[{"name":"Bobbing","className":"ModuleScript","filePaths":["src/client/Character\\Client\\Camera\\Bobbing.lua"]}]},{"name":"Humanoid","className":"ModuleScript","filePaths":["src/client/Character\\Client\\Humanoid.lua"]},{"name":"HumanoidRootPart","className":"ModuleScript","filePaths":["src/client/Character\\Client\\HumanoidRootPart.lua"]},{"name":"SpineKinematics","className":"ModuleScript","filePaths":["src/client/Character\\Client\\SpineKinematics.lua"]}]},{"name":"Server","className":"Script","filePaths":["src/client/Character\\Server\\init.server.lua"],"children":[{"name":"Actions","className":"ModuleScript","filePaths":["src/client/Character\\Server\\Actions.lua"]},{"name":"Flashlight","className":"ModuleScript","filePaths":["src/client/Character\\Server\\Flashlight.lua"]},{"name":"Shadows","className":"ModuleScript","filePaths":["src/client/Character\\Server\\Shadows.lua"]},{"name":"SpineKinematics","className":"ModuleScript","filePaths":["src/client/Character\\Server\\SpineKinematics.lua"]}]}]}]},{"name":"StarterPlayerScripts","className":"StarterPlayerScripts","children":[{"name":"rapid-PlayerRoot","className":"Actor","children":[{"name":"Player","className":"LocalScript","filePaths":["src/client/Player\\init.client.lua"],"children":[{"name":"CoreGuis","className":"ModuleScript","filePaths":["src/client/Player\\CoreGuis.lua"]},{"name":"GuiService","className":"ModuleScript","filePaths":["src/client/Player\\GuiService.lua"]},{"name":"Mouse","className":"ModuleScript","filePaths":["src/client/Player\\Mouse.lua"]},{"name":"UI","className":"Folder","children":[{"name":"Crosshair","className":"ModuleScript","filePaths":["src/client/Player\\UI\\Crosshair.lua"]},{"name":"Health","className":"ModuleScript","filePaths":["src/client/Player\\UI\\Health.lua"]},{"name":"Vignette","className":"ModuleScript","filePaths":["src/client/Player\\UI\\Vignette.lua"]}]}]}]}]}]}]} \ No newline at end of file +{"name":"ElevatorGame","className":"DataModel","filePaths":["default.project.json"],"children":[{"name":"ReplicatedFirst","className":"ReplicatedFirst","children":[{"name":"intro","className":"LocalScript","filePaths":["src/load\\intro\\init.client.lua"],"children":[{"name":"IntroGui","className":"ModuleScript","filePaths":["src/load\\intro\\IntroGui.lua"]}]}]},{"name":"ReplicatedStorage","className":"ReplicatedStorage","children":[{"name":"AlgebraEasings","className":"ModuleScript","filePaths":["src/shared\\AlgebraEasings.lua"]},{"name":"Client","className":"Folder","children":[{"name":"Camera","className":"ModuleScript","filePaths":["src/shared\\Client\\Camera.lua"]},{"name":"KeyBinds","className":"ModuleScript","filePaths":["src/shared\\Client\\KeyBinds.lua"]}]},{"name":"Delta","className":"ModuleScript","filePaths":["src/shared\\Delta.lua"]},{"name":"Enum","className":"ModuleScript","filePaths":["src/shared\\Enum.lua"]},{"name":"Server","className":"Folder","children":[{"name":"holder","className":"ModuleScript","filePaths":["src/shared\\Server\\holder.lua"]}]},{"name":"String","className":"ModuleScript","filePaths":["src/shared\\String.lua"]},{"name":"Tags","className":"ModuleScript","filePaths":["src/shared\\Tags.lua"]},{"name":"Tween","className":"ModuleScript","filePaths":["src/shared\\Tween.lua"]}]},{"name":"ServerScriptService","className":"ServerScriptService","children":[{"name":"rapid-Server","className":"Actor","children":[{"name":"main","className":"Script","filePaths":["src/server\\main\\init.server.lua"],"children":[{"name":"EditorEntities","className":"ModuleScript","filePaths":["src/server\\main\\EditorEntities.lua"]},{"name":"Elevators","className":"Folder","children":[{"name":"Buttons","className":"ModuleScript","filePaths":["src/server\\main\\Elevators\\Buttons.lua"]},{"name":"Enums","className":"ModuleScript","filePaths":["src/server\\main\\Elevators\\Enums.lua"]},{"name":"Floors","className":"ModuleScript","filePaths":["src/server\\main\\Elevators\\Floors.lua"]},{"name":"Mover","className":"ModuleScript","filePaths":["src/server\\main\\Elevators\\Mover.lua"]},{"name":"Otis1960","className":"ModuleScript","filePaths":["src/server\\main\\Elevators\\Otis1960\\init.lua"],"children":[{"name":"Doors","className":"ModuleScript","filePaths":["src/server\\main\\Elevators\\Otis1960\\Doors.lua"]},{"name":"Leveling","className":"ModuleScript","filePaths":["src/server\\main\\Elevators\\Otis1960\\Leveling.lua"]}]}]},{"name":"Lighting","className":"ModuleScript","filePaths":["src/server\\main\\Lighting\\init.lua"]},{"name":"StarterPlayer","className":"ModuleScript","filePaths":["src/server\\main\\StarterPlayer.lua"]},{"name":"Workspace","className":"ModuleScript","filePaths":["src/server\\main\\Workspace.lua"]}]}]}]},{"name":"StarterPlayer","className":"StarterPlayer","children":[{"name":"StarterCharacterScripts","className":"StarterCharacterScripts","children":[{"name":"rapid-CharacterRoot","className":"Actor","children":[{"name":"Client","className":"LocalScript","filePaths":["src/client/Character\\Client\\init.client.lua"],"children":[{"name":"Actions","className":"ModuleScript","filePaths":["src/client/Character\\Client\\Actions.lua"]},{"name":"Camera","className":"ModuleScript","filePaths":["src/client/Character\\Client\\Camera\\init.lua"],"children":[{"name":"Bobbing","className":"ModuleScript","filePaths":["src/client/Character\\Client\\Camera\\Bobbing.lua"]}]},{"name":"Humanoid","className":"ModuleScript","filePaths":["src/client/Character\\Client\\Humanoid.lua"]},{"name":"HumanoidRootPart","className":"ModuleScript","filePaths":["src/client/Character\\Client\\HumanoidRootPart.lua"]},{"name":"SpineKinematics","className":"ModuleScript","filePaths":["src/client/Character\\Client\\SpineKinematics.lua"]}]},{"name":"Server","className":"Script","filePaths":["src/client/Character\\Server\\init.server.lua"],"children":[{"name":"Actions","className":"ModuleScript","filePaths":["src/client/Character\\Server\\Actions.lua"]},{"name":"Flashlight","className":"ModuleScript","filePaths":["src/client/Character\\Server\\Flashlight.lua"]},{"name":"Shadows","className":"ModuleScript","filePaths":["src/client/Character\\Server\\Shadows.lua"]},{"name":"SpineKinematics","className":"ModuleScript","filePaths":["src/client/Character\\Server\\SpineKinematics.lua"]}]}]}]},{"name":"StarterPlayerScripts","className":"StarterPlayerScripts","children":[{"name":"rapid-PlayerRoot","className":"Actor","children":[{"name":"Player","className":"LocalScript","filePaths":["src/client/Player\\init.client.lua"],"children":[{"name":"CoreGuis","className":"ModuleScript","filePaths":["src/client/Player\\CoreGuis.lua"]},{"name":"GuiService","className":"ModuleScript","filePaths":["src/client/Player\\GuiService.lua"]},{"name":"Mouse","className":"ModuleScript","filePaths":["src/client/Player\\Mouse.lua"]},{"name":"UI","className":"Folder","children":[{"name":"Crosshair","className":"ModuleScript","filePaths":["src/client/Player\\UI\\Crosshair.lua"]},{"name":"Health","className":"ModuleScript","filePaths":["src/client/Player\\UI\\Health.lua"]},{"name":"Vignette","className":"ModuleScript","filePaths":["src/client/Player\\UI\\Vignette.lua"]}]}]}]}]}]}]} \ No newline at end of file diff --git a/src/server/main/Elevators/Enums.lua b/src/server/main/Elevators/Enums.lua index f037611..697a12d 100644 --- a/src/server/main/Elevators/Enums.lua +++ b/src/server/main/Elevators/Enums.lua @@ -1,3 +1,7 @@ +--!optimize 2 +--!native +--!strict + local RS: ReplicatedStorage = game:GetService("ReplicatedStorage") local Enum = require(RS:WaitForChild("Enum")) diff --git a/src/shared/Enum.lua b/src/shared/Enum.lua index 03fb5d4..526114e 100644 --- a/src/shared/Enum.lua +++ b/src/shared/Enum.lua @@ -19,9 +19,8 @@ type CustonEnumsFunctions = { Remove: (Name: EnumName) -> () } ---type MatchList = { --- [EnumValue] ---} +type MatchResult = any? +type MatchList_f = {[string]: (...any?) -> MatchResult} local CustomEnum = {} :: CustomEnums local EnumMeta = {} :: EnumsMetadata @@ -51,8 +50,9 @@ end CustomEnum.Enums = setmetatable({}, EnumMeta) local function EnumMethods(Enum) - function Enum:Match(Result: string, MatchList) --Branch this out later - local Return: any? = nil + --Branch this out later + function Enum:Match(Result: string, MatchList: MatchList_f): MatchResult + local Return: MatchResult = nil local b: boolean = false for MatchEnumName, EnumFunc in MatchList do