mirror of
https://github.com/unixtensor/Roblox-Elevator-Game.git
synced 2025-12-14 14:51:55 +00:00
a
This commit is contained in:
@@ -64,7 +64,7 @@ export type constructor = ClassConstructor
|
|||||||
local Doors = {} :: Impl_Constructor
|
local Doors = {} :: Impl_Constructor
|
||||||
Doors.__index = Doors
|
Doors.__index = Doors
|
||||||
|
|
||||||
function Doors.constructor(LevelingFloors, ElevatorBox, DoorConfig, LandingDoorsTree)
|
function Doors.constructor(LevelingFloors, ElevatorBox, DoorConfig, DoorsTree)
|
||||||
local CabOpenAttribute = Instance.new("BoolValue") :: BoolValue
|
local CabOpenAttribute = Instance.new("BoolValue") :: BoolValue
|
||||||
local DoorAttributes = {
|
local DoorAttributes = {
|
||||||
Hall = {},
|
Hall = {},
|
||||||
@@ -81,7 +81,7 @@ function Doors.constructor(LevelingFloors, ElevatorBox, DoorConfig, LandingDoors
|
|||||||
return setmetatable({
|
return setmetatable({
|
||||||
DoorConfig = DoorConfig,
|
DoorConfig = DoorConfig,
|
||||||
ElevatorBox = ElevatorBox,
|
ElevatorBox = ElevatorBox,
|
||||||
DoorsTree = LandingDoorsTree,
|
DoorsTree = DoorsTree,
|
||||||
Attributes = DoorAttributes,
|
Attributes = DoorAttributes,
|
||||||
__Connections = {}
|
__Connections = {}
|
||||||
}, Doors)
|
}, Doors)
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ type Impl_Constructor = {
|
|||||||
__index: Impl_Constructor,
|
__index: Impl_Constructor,
|
||||||
constructor: Constructor_Fun,
|
constructor: Constructor_Fun,
|
||||||
--Class functions
|
--Class functions
|
||||||
InitButtons: (self: ClassConstructor) -> ()
|
Init: (self: ClassConstructor) -> ()
|
||||||
}
|
}
|
||||||
|
|
||||||
type Constructor_Fun = (
|
type Constructor_Fun = (
|
||||||
@@ -104,9 +104,9 @@ local function ElevatorEvents(self: ClassConstructor)
|
|||||||
self.ElevatorConstructor.Events.Leveling:Connect(function()
|
self.ElevatorConstructor.Events.Leveling:Connect(function()
|
||||||
self.MovingObjectsConstructor:RotateRelayCogs2Async()
|
self.MovingObjectsConstructor:RotateRelayCogs2Async()
|
||||||
end)
|
end)
|
||||||
self.ElevatorConstructor.Events.Leveling3Phase:Connect(function()
|
-- self.ElevatorConstructor.Events.Leveling3Phase:Connect(function()
|
||||||
|
|
||||||
end)
|
-- end)
|
||||||
self.ElevatorConstructor.Events.ManualTravelRequested:Connect(function()
|
self.ElevatorConstructor.Events.ManualTravelRequested:Connect(function()
|
||||||
self.MovingObjectsConstructor:ControllerStartAsync()
|
self.MovingObjectsConstructor:ControllerStartAsync()
|
||||||
--temp
|
--temp
|
||||||
@@ -124,14 +124,13 @@ local function ElevatorEvents(self: ClassConstructor)
|
|||||||
end
|
end
|
||||||
self.MovingObjectsConstructor:RotateRelayCogs3()
|
self.MovingObjectsConstructor:RotateRelayCogs3()
|
||||||
|
|
||||||
self.ElevatorConfig.FloorLevelingDistance = 10
|
self.ElevatorConfig.FloorLevelingDistance = RandNew:NextNumber(5,8.5)
|
||||||
print(self.ElevatorConfig.FloorLevelingDistance)
|
|
||||||
end)
|
end)
|
||||||
|
|
||||||
ElevatorAttributes(self)
|
ElevatorAttributes(self)
|
||||||
end
|
end
|
||||||
|
|
||||||
function Events:InitButtons()
|
function Events:Init()
|
||||||
ElevatorEvents(self)
|
ElevatorEvents(self)
|
||||||
|
|
||||||
local ButtonEventsConstructor = ButtonEvents.constructor(self.ElevatorConfig, self.ElevatorConstructor, self.DoorsConstructor, self.ButtonsConstructor)
|
local ButtonEventsConstructor = ButtonEvents.constructor(self.ElevatorConfig, self.ElevatorConstructor, self.DoorsConstructor, self.ButtonsConstructor)
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ type Constructor_Return_Props = {
|
|||||||
|
|
||||||
type LowPassSoundeffects = {
|
type LowPassSoundeffects = {
|
||||||
SoundGroup: SoundGroup,
|
SoundGroup: SoundGroup,
|
||||||
EqualizerSoundEffect: EqualizerSoundEffect
|
AudioEqualizer: AudioEqualizer
|
||||||
}
|
}
|
||||||
|
|
||||||
export type constructor = ClassConstructor
|
export type constructor = ClassConstructor
|
||||||
@@ -79,17 +79,17 @@ MovingObjects.PulleyWheelRotationSensitivity = 2
|
|||||||
local function LowPassSoundEffects(): LowPassSoundeffects
|
local function LowPassSoundEffects(): LowPassSoundeffects
|
||||||
local SoundGroup = Instance.new("SoundGroup") :: SoundGroup
|
local SoundGroup = Instance.new("SoundGroup") :: SoundGroup
|
||||||
SoundGroup.Volume = 1
|
SoundGroup.Volume = 1
|
||||||
local EqualizerSoundEffect = Instance.new("EqualizerSoundEffect") :: EqualizerSoundEffect
|
local AudioEqualizer = Instance.new("AudioEqualizer") :: AudioEqualizer
|
||||||
EqualizerSoundEffect.HighGain = -15
|
AudioEqualizer.HighGain = -20
|
||||||
EqualizerSoundEffect.LowGain = 0
|
AudioEqualizer.LowGain = 0
|
||||||
EqualizerSoundEffect.MidGain = -35
|
AudioEqualizer.MidGain = -35
|
||||||
|
|
||||||
EqualizerSoundEffect.Parent = SoundGroup
|
AudioEqualizer.Parent = SoundGroup
|
||||||
SoundGroup.Parent = SS
|
SoundGroup.Parent = SS
|
||||||
|
|
||||||
return {
|
return {
|
||||||
SoundGroup = SoundGroup,
|
SoundGroup = SoundGroup,
|
||||||
EqualizerSoundEffect = EqualizerSoundEffect
|
AudioEqualizer = AudioEqualizer
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -119,15 +119,15 @@ function MovingObjects.constructor(TagsConstructor)
|
|||||||
local Pulley_Moving = TagsConstructor:Request("Haughton_Pulley_Moving") :: Sound
|
local Pulley_Moving = TagsConstructor:Request("Haughton_Pulley_Moving") :: Sound
|
||||||
local Pulley_Start = TagsConstructor:Request("Haughton_Pulley_Start") :: Sound
|
local Pulley_Start = TagsConstructor:Request("Haughton_Pulley_Start") :: Sound
|
||||||
|
|
||||||
-- Haughton_Relay_Close.SoundGroup = AudioEffect.SoundGroup
|
Haughton_Relay_Close.SoundGroup = AudioEffect.SoundGroup
|
||||||
-- Haughton_Relay_FullOpen.SoundGroup = AudioEffect.SoundGroup
|
Haughton_Relay_FullOpen.SoundGroup = AudioEffect.SoundGroup
|
||||||
-- Haughton_Relay_Open.SoundGroup = AudioEffect.SoundGroup
|
Haughton_Relay_Open.SoundGroup = AudioEffect.SoundGroup
|
||||||
-- Controller_Start.SoundGroup = AudioEffect.SoundGroup
|
Controller_Start.SoundGroup = AudioEffect.SoundGroup
|
||||||
-- Controller_Hum.SoundGroup = AudioEffect.SoundGroup
|
Controller_Hum.SoundGroup = AudioEffect.SoundGroup
|
||||||
-- Controller_End.SoundGroup = AudioEffect.SoundGroup
|
Controller_End.SoundGroup = AudioEffect.SoundGroup
|
||||||
-- Controller_Clicks.SoundGroup = AudioEffect.SoundGroup
|
Controller_Clicks.SoundGroup = AudioEffect.SoundGroup
|
||||||
-- Pulley_Moving.SoundGroup = AudioEffect.SoundGroup
|
Pulley_Moving.SoundGroup = AudioEffect.SoundGroup
|
||||||
-- Pulley_Start.SoundGroup = AudioEffect.SoundGroup
|
Pulley_Start.SoundGroup = AudioEffect.SoundGroup
|
||||||
|
|
||||||
local MagnetCog_Row1 = TagsConstructor:Request("Haughton_MagnetCog_Row1") :: BasePart
|
local MagnetCog_Row1 = TagsConstructor:Request("Haughton_MagnetCog_Row1") :: BasePart
|
||||||
local MagnetCog_Row2 = TagsConstructor:Request("Haughton_MagnetCog_Row2") :: BasePart
|
local MagnetCog_Row2 = TagsConstructor:Request("Haughton_MagnetCog_Row2") :: BasePart
|
||||||
@@ -216,13 +216,6 @@ local function ElectricalFlash(Flash: PointLight)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function MovingObjects:ControllerStartAsync()
|
function MovingObjects:ControllerStartAsync()
|
||||||
if RandomNew:NextInteger(1,30) == 1 then
|
|
||||||
self.Controller_Start.SoundId = "rbxassetid://108739293674278"
|
|
||||||
self.Controller_Start.Volume = 1
|
|
||||||
else
|
|
||||||
self.Controller_Start.SoundId = "rbxassetid://75136143926200"
|
|
||||||
self.Controller_Start.Volume = 1.8
|
|
||||||
end
|
|
||||||
self.Controller_Start:Play()
|
self.Controller_Start:Play()
|
||||||
self.Controller_Start.Ended:Wait()
|
self.Controller_Start.Ended:Wait()
|
||||||
self.Controller_Hum:Play()
|
self.Controller_Hum:Play()
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ return function(TagsConstructor: TagsModule.TagsConstructor, ButtonTags: TagsMod
|
|||||||
TractionRopesConstructor
|
TractionRopesConstructor
|
||||||
)
|
)
|
||||||
TractionRopesConstructor:Update()
|
TractionRopesConstructor:Update()
|
||||||
EventsConstructor:InitButtons()
|
EventsConstructor:Init()
|
||||||
ArrowLanternConstructor:Toggle(true, true)
|
ArrowLanternConstructor:Toggle(true, true)
|
||||||
|
|
||||||
if DoorsConstructor:OpenAtFloor(Elevator.Attributes.CurrentFloor.Value) then
|
if DoorsConstructor:OpenAtFloor(Elevator.Attributes.CurrentFloor.Value) then
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ type Constructor_Return_Props = {
|
|||||||
|
|
||||||
Elevator: {
|
Elevator: {
|
||||||
TravelingDirection: Enums.ElevatorCallDirectionValues,
|
TravelingDirection: Enums.ElevatorCallDirectionValues,
|
||||||
BoxModel: UnionOperation,
|
BoxModel: BasePart,
|
||||||
AlignPosition: AlignPosition,
|
AlignPosition: AlignPosition,
|
||||||
Configuration: ElevatorTypes.ElevatorConfigurationTable
|
Configuration: ElevatorTypes.ElevatorConfigurationTable
|
||||||
},
|
},
|
||||||
@@ -157,6 +157,7 @@ function Elevator.constructor(ElevatorBoxModel, ElevatorConfigurationTable, Floo
|
|||||||
local Parked = Instance.new("BindableEvent") :: BindableEvent
|
local Parked = Instance.new("BindableEvent") :: BindableEvent
|
||||||
local Leveling = Instance.new("BindableEvent") :: BindableEvent
|
local Leveling = Instance.new("BindableEvent") :: BindableEvent
|
||||||
local Leveling3Phase = Instance.new("BindableEvent") :: BindableEvent
|
local Leveling3Phase = Instance.new("BindableEvent") :: BindableEvent
|
||||||
|
|
||||||
local Attributes = {
|
local Attributes = {
|
||||||
PreviousFloor = Instance.new("IntValue") :: IntValue,
|
PreviousFloor = Instance.new("IntValue") :: IntValue,
|
||||||
CurrentFloor = Instance.new("IntValue") :: IntValue,
|
CurrentFloor = Instance.new("IntValue") :: IntValue,
|
||||||
@@ -251,7 +252,7 @@ local function GoingUpDirectionToDirectionEnum(CurrentFloor: number, RequestedFl
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function CheckFloorQueue(self: ClassConstructor)
|
local function CheckFloorQueue(self: ClassConstructor)
|
||||||
SmoothVelocity(self, 0, 1)
|
SmoothVelocity(self, 0, self.Elevator.Configuration.ParkedSmoothingTime)
|
||||||
|
|
||||||
local DirectionToDirectionQueue = self.Attributes.TravelingUpwards.Value and self.RelayAlgorithm.FloorQueue.Up or self.RelayAlgorithm.FloorQueue.Down
|
local DirectionToDirectionQueue = self.Attributes.TravelingUpwards.Value and self.RelayAlgorithm.FloorQueue.Up or self.RelayAlgorithm.FloorQueue.Down
|
||||||
local DirectionToOppositeDirectionQueue = self.Attributes.TravelingUpwards.Value and self.RelayAlgorithm.FloorQueue.Down or self.RelayAlgorithm.FloorQueue.Up
|
local DirectionToOppositeDirectionQueue = self.Attributes.TravelingUpwards.Value and self.RelayAlgorithm.FloorQueue.Down or self.RelayAlgorithm.FloorQueue.Up
|
||||||
@@ -323,7 +324,7 @@ local function CabTraveling(self: ClassConstructor, deltaTime: number, LEVEL_VEC
|
|||||||
if ElevatorPosition.Y>=LEVEL_VEC3_Y_WRAP.Y-self.Elevator.Configuration.FloorLevelingDistance then
|
if ElevatorPosition.Y>=LEVEL_VEC3_Y_WRAP.Y-self.Elevator.Configuration.FloorLevelingDistance then
|
||||||
if not Debounce.Leveling then
|
if not Debounce.Leveling then
|
||||||
self.Events.__eventInstances__.Leveling:Fire()
|
self.Events.__eventInstances__.Leveling:Fire()
|
||||||
SmoothVelocity(self, self.Elevator.Configuration.LevelingVelocity, 1)
|
SmoothVelocity(self, self.Elevator.Configuration.LevelingVelocity, self.Elevator.Configuration.LevelingVelocitySmoothingTime)
|
||||||
Debounce.Leveling = true
|
Debounce.Leveling = true
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -355,7 +356,7 @@ local function CabTraveling(self: ClassConstructor, deltaTime: number, LEVEL_VEC
|
|||||||
if ElevatorPosition.Y<=LEVEL_VEC3_Y_WRAP.Y+self.Elevator.Configuration.FloorLevelingDistance then
|
if ElevatorPosition.Y<=LEVEL_VEC3_Y_WRAP.Y+self.Elevator.Configuration.FloorLevelingDistance then
|
||||||
if not Debounce.Leveling then
|
if not Debounce.Leveling then
|
||||||
self.Events.__eventInstances__.Leveling:Fire()
|
self.Events.__eventInstances__.Leveling:Fire()
|
||||||
SmoothVelocity(self, self.Elevator.Configuration.LevelingVelocity, 1)
|
SmoothVelocity(self, self.Elevator.Configuration.LevelingVelocity, self.Elevator.Configuration.LevelingVelocitySmoothingTime)
|
||||||
Debounce.Leveling = true
|
Debounce.Leveling = true
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -413,7 +414,7 @@ function Elevator:__TravelToFloorAsync(Level_Int, LEVEL_VEC3_Y_WRAP)
|
|||||||
--Set the elevator's AlignPosition to the floor Y vector
|
--Set the elevator's AlignPosition to the floor Y vector
|
||||||
self.Elevator.AlignPosition.Position = Vector3.new(self.Elevator.AlignPosition.Position.X, LEVEL_VEC3_Y_WRAP.Y, self.Elevator.AlignPosition.Position.Z)
|
self.Elevator.AlignPosition.Position = Vector3.new(self.Elevator.AlignPosition.Position.X, LEVEL_VEC3_Y_WRAP.Y, self.Elevator.AlignPosition.Position.Z)
|
||||||
--Set the elevator's velocity
|
--Set the elevator's velocity
|
||||||
SmoothVelocity(self, self.Elevator.Configuration.MaxVelocity, 5)
|
SmoothVelocity(self, self.Elevator.Configuration.MaxVelocity, self.Elevator.Configuration.MaxVelocitySmoothingTime)
|
||||||
end
|
end
|
||||||
|
|
||||||
function Elevator:RequestLevelAsync(RequestedLevel, Direction)
|
function Elevator:RequestLevelAsync(RequestedLevel, Direction)
|
||||||
|
|||||||
Reference in New Issue
Block a user