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