mirror of
https://github.com/unixtensor/Roblox-Elevator-Game.git
synced 2025-12-15 21:41:53 +00:00
more roact
This commit is contained in:
@@ -7,25 +7,31 @@ type Impl_Constructor = {
|
||||
__index: Impl_Constructor,
|
||||
constructor: Constructor_Fun,
|
||||
--Class functions
|
||||
FR_Pullies: (self: ClassConstructor, Delta: number, ElevatorVelocity_Y: number) -> (),
|
||||
FR_PiePlate: (self: ClassConstructor) -> ()
|
||||
UpdateCFrame: (self: ClassConstructor) -> (),
|
||||
Frame_Pullies: (self: ClassConstructor, Delta: number, ElevatorVelocity_Y: number) -> (),
|
||||
Frame_PiePlate: (self: ClassConstructor) -> ()
|
||||
}
|
||||
|
||||
type Constructor_Fun = (InstanceTree: InstanceTree) -> ClassConstructor
|
||||
type Constructor_Return_Props = {
|
||||
PulleyCFrame: CFrame,
|
||||
Pulley2CFrame: CFrame,
|
||||
GovernorCFrame: CFrame,
|
||||
GovernorFlyballsCFrame: CFrame,
|
||||
PieplatePulleyCFrame: CFrame,
|
||||
Pulley: UnionOperation,
|
||||
Pulley2: UnionOperation,
|
||||
Governor: UnionOperation,
|
||||
GovernorFlyballs: UnionOperation,
|
||||
PieplatePulley: UnionOperation,
|
||||
MachineRoom: {
|
||||
Pulley: UnionOperation,
|
||||
Pulley2: UnionOperation,
|
||||
Governor: UnionOperation,
|
||||
GovernorFlyballs: UnionOperation,
|
||||
PieplatePulley: UnionOperation,
|
||||
|
||||
_CFrame: {
|
||||
PulleyCFrame: CFrame,
|
||||
Pulley2CFrame: CFrame,
|
||||
GovernorCFrame: CFrame,
|
||||
GovernorFlyballsCFrame: CFrame,
|
||||
PieplatePulleyCFrame: CFrame,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export type InstanceTree = {
|
||||
export type MachineRoom = {
|
||||
Pulley: UnionOperation,
|
||||
Pulley2: UnionOperation,
|
||||
Governor: UnionOperation,
|
||||
@@ -33,6 +39,10 @@ export type InstanceTree = {
|
||||
PieplatePulley: UnionOperation,
|
||||
}
|
||||
|
||||
export type InstanceTree = {
|
||||
MachineRoom: MachineRoom
|
||||
}
|
||||
|
||||
export type MovingObjectsConstructor = ClassConstructor
|
||||
|
||||
local MovingObjects = {} :: Impl_Constructor
|
||||
@@ -43,29 +53,37 @@ local Tween = require(Storage:WaitForChild("Tween"))
|
||||
local Easing = require(Storage:WaitForChild("AlgebraEasings"))
|
||||
|
||||
function MovingObjects.constructor(InstanceTree)
|
||||
local self = InstanceTree
|
||||
self.PulleyCFrame = InstanceTree.Pulley.CFrame
|
||||
self.Pulley2CFrame = InstanceTree.Pulley2.CFrame
|
||||
self.GovernorCFrame = InstanceTree.Governor.CFrame
|
||||
self.GovernorFlyballsCFrame = InstanceTree.GovernorFlyballs.CFrame
|
||||
self.PieplatePulleyCFrame = InstanceTree.PieplatePulley.CFrame
|
||||
local self = InstanceTree :: Constructor_Return_Props
|
||||
self.MachineRoom._CFrame.PulleyCFrame = InstanceTree.MachineRoom.Pulley.CFrame
|
||||
self.MachineRoom._CFrame.Pulley2CFrame = InstanceTree.MachineRoom.Pulley2.CFrame
|
||||
self.MachineRoom._CFrame.GovernorCFrame = InstanceTree.MachineRoom.Governor.CFrame
|
||||
self.MachineRoom._CFrame.GovernorFlyballsCFrame = InstanceTree.MachineRoom.GovernorFlyballs.CFrame
|
||||
self.MachineRoom._CFrame.PieplatePulleyCFrame = InstanceTree.MachineRoom.PieplatePulley.CFrame
|
||||
|
||||
return setmetatable(self, MovingObjects)
|
||||
end
|
||||
|
||||
function MovingObjects:FR_Pullies(Delta, ElevatorVelocity_Y)
|
||||
function MovingObjects:UpdateCFrame()
|
||||
self.MachineRoom._CFrame.PulleyCFrame = self.MachineRoom.Pulley.CFrame
|
||||
self.MachineRoom._CFrame.Pulley2CFrame = self.MachineRoom.Pulley2.CFrame
|
||||
self.MachineRoom._CFrame.GovernorCFrame = self.MachineRoom.Governor.CFrame
|
||||
self.MachineRoom._CFrame.GovernorFlyballsCFrame = self.MachineRoom.GovernorFlyballs.CFrame
|
||||
self.MachineRoom._CFrame.PieplatePulleyCFrame = self.MachineRoom.PieplatePulley.CFrame
|
||||
end
|
||||
|
||||
function MovingObjects:Frame_Pullies(Delta, ElevatorVelocity_Y)
|
||||
local RotAngle = Delta*ElevatorVelocity_Y
|
||||
local PullAngle_2 = math.rad(RotAngle/2)
|
||||
local PullAngle = math.rad(RotAngle)
|
||||
|
||||
self.Pulley.CFrame = self.PulleyCFrame *CFrame.Angles(-PullAngle_2, 0, 0)
|
||||
self.Pulley2.CFrame = self.Pulley2CFrame *CFrame.Angles(PullAngle_2, 0, 0)
|
||||
self.Governor.CFrame = self.GovernorCFrame *CFrame.Angles(0, PullAngle_2, 0)
|
||||
self.GovernorFlyballs.CFrame = self.GovernorFlyballsCFrame*CFrame.Angles(PullAngle, 0, 0)
|
||||
self.PieplatePulley.CFrame = self.PieplatePulleyCFrame *CFrame.Angles(PullAngle_2, 0, 0)
|
||||
self.MachineRoom.Pulley.CFrame = self.MachineRoom._CFrame.PulleyCFrame *CFrame.Angles(-PullAngle_2, 0, 0)
|
||||
self.MachineRoom.Pulley2.CFrame = self.MachineRoom._CFrame.Pulley2CFrame *CFrame.Angles(PullAngle_2, 0, 0)
|
||||
self.MachineRoom.Governor.CFrame = self.MachineRoom._CFrame.GovernorCFrame *CFrame.Angles(0, PullAngle_2, 0)
|
||||
self.MachineRoom.GovernorFlyballs.CFrame = self.MachineRoom._CFrame.GovernorFlyballsCFrame*CFrame.Angles(PullAngle, 0, 0)
|
||||
self.MachineRoom.PieplatePulley.CFrame = self.MachineRoom._CFrame.PieplatePulleyCFrame *CFrame.Angles(PullAngle_2, 0, 0)
|
||||
end
|
||||
|
||||
function MovingObjects:FR_PiePlate()
|
||||
function MovingObjects:Frame_PiePlate()
|
||||
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user