mirror of
https://github.com/unixtensor/Roblox-Elevator-Game.git
synced 2025-12-14 06:41:55 +00:00
53 lines
2.3 KiB
Lua
53 lines
2.3 KiB
Lua
--!optimize 2
|
|
--!native
|
|
--!strict
|
|
|
|
local ButtonPromptsDistance = Vector3.new(-.05,0,0)
|
|
local HallDoorOffset = Vector3.new(4.15,0,0)
|
|
|
|
local ParentDir = script.Parent
|
|
local ElevatorsDir = ParentDir.Parent
|
|
local MainDir = ElevatorsDir.Parent
|
|
|
|
local InitElevator = require(ElevatorsDir:WaitForChild("System"))
|
|
local Events = require(script:WaitForChild("Events"))
|
|
local Config = require(script:WaitForChild("Config"))
|
|
local Buttons = require(script:WaitForChild("Buttons"))
|
|
local Leveling = require(script:WaitForChild("Leveling"))
|
|
local MovingObjects = require(script:WaitForChild("MovingObjects"))
|
|
local TractionRopes = require(script:WaitForChild("TractionRopes"))
|
|
local Doors = require(script:WaitForChild("Doors"))
|
|
local TagsModule = require(MainDir:WaitForChild("Map"):WaitForChild("Load"):WaitForChild("Tags"))
|
|
local DoorEnums = require(MainDir:WaitForChild("Types"):WaitForChild("Enums"):WaitForChild("Doors"))
|
|
|
|
return function(TagsConstructor: TagsModule.TagsConstructor, ButtonTags: TagsModule.ElevatorButtons, LanternTags: TagsModule.Lanterns, LandingDoorTags: TagsModule.LandingTags)
|
|
local ElevatorModel = TagsConstructor:Request("Elevator_Haughton") :: Model
|
|
local CabRopesObject = TagsConstructor:Request("Haughton_Rope_Cab") :: BasePart
|
|
local PulleyRopesObject = TagsConstructor:Request("Haughton_Rope_Pulley") :: BasePart
|
|
local ElevatorBoxModel = ElevatorModel:WaitForChild("Mover") :: BasePart
|
|
|
|
--TEMP
|
|
local CabDoorsTree = {} :: {BasePart}
|
|
|
|
local Elevator = InitElevator.constructor(ElevatorBoxModel, Config, Leveling)
|
|
local MovingObjectsConstructor = MovingObjects.constructor(TagsConstructor)
|
|
local ButtonsConstructor = Buttons.constructor(Config.Name, ButtonTags, Elevator.Attributes.CurrentFloor)
|
|
ButtonsConstructor:InitForElevator(2, ButtonPromptsDistance)
|
|
|
|
local TractionRopesConstructor = TractionRopes.constructor(CabRopesObject, PulleyRopesObject)
|
|
local EventsConstructor = Events.constructor(
|
|
Elevator,
|
|
Config,
|
|
ButtonsConstructor,
|
|
ElevatorBoxModel,
|
|
Leveling,
|
|
MovingObjectsConstructor,
|
|
TractionRopesConstructor
|
|
)
|
|
EventsConstructor:InitButtons()
|
|
|
|
local DoorsConstructor = Doors.constructor(ElevatorBoxModel, DoorEnums.Door.SingleSpeed, CabDoorsTree, DoorEnums.Door.SingleSpeed, LandingDoorTags)
|
|
task.wait(2)
|
|
DoorsConstructor:CloseFloorAsync(1, HallDoorOffset)
|
|
end
|