Proximity prompt and work on elevator

This commit is contained in:
2024-03-10 21:41:10 -04:00
parent 3e28667b13
commit df86e6efb6
15 changed files with 327 additions and 177 deletions

View File

@@ -2,15 +2,29 @@
--!native
--!strict
local Tags = {}
type ClassConstructor = typeof(setmetatable({} :: Constructor_Return_Props, {} :: Impl_Constructor))
type Impl_Constructor = {
__index: Impl_Constructor,
constructor: Constructor_Fun,
--Class functions
Nuke: (self: ClassConstructor) -> (),
}
type Constructor_Fun = () -> ClassConstructor
type Constructor_Return_Props = {
Exports: ExportedTags
}
export type ExportedTags = {
[string]: Instance | {Instance}
}
export type TagsConstructor = ClassConstructor
local Tags = {} :: Impl_Constructor
Tags.__index = Tags
local CS = game:GetService("CollectionService")
type ExportedTags = {
[string]: Instance | {Instance}
}
function Tags.constructor()
local Exports: ExportedTags = {}
local AllTags = CS:GetAllTags()

View File

@@ -2,24 +2,42 @@
--!native
--!strict
local Tween = {}
type TweenAnimation = {[string]: any}
type ClassConstructor = typeof(setmetatable({} :: Constructor_Return_Props, {} :: Impl_Constructor))
type Impl_Constructor = {
__index: Impl_Constructor,
constructor: Constructor_Fun,
--Class functions
Start: (self: ClassConstructor, PostInstance: Instance?, PostProperties: TweenAnimation?, PostTweenSettings: TweenInfo?) -> Tween,
}
type Constructor_Fun = (TweenSettings: TweenInfo?, Object: Instance?, PreProperties: TweenAnimation?) -> ClassConstructor
type Constructor_Return_Props = {
TweenInfo: TweenInfo?,
Instance: Instance?,
PreProperties: TweenAnimation?,
}
export type TweenClass = ClassConstructor
export type TweenConstructor = Impl_Constructor
local Tween = {} :: Impl_Constructor
Tween.__index = Tween
local TS = game:GetService("TweenService")
type TweenAnimation = {[string]: any}
function Tween.constructor(TweenSettings: TweenInfo?, Object: Instance?, PreProperties: TweenAnimation?)
function Tween.constructor(TweenSettings, Object, PreProperties)
return setmetatable({
TweenInfo = TweenSettings,
Instance = Object,
TweenInfo = TweenSettings,
Instance = Object,
PreProperties = PreProperties
}, Tween)
end
function Tween:Start(PostInstance: Instance?, PostProperties: TweenAnimation?, PostTweenSettings: TweenInfo?): Tween
local Props = self.PreProperties
local Object = self.Instance
function Tween:Start(PostInstance, PostProperties, PostTweenSettings)
local Props = self.PreProperties
local Object = self.Instance
local TweenSettings = self.TweenInfo
if PostProperties then