local T=require(script.Parent:WaitForChild("\066\097\115\101\067\104\097\114\097\099\116\101\114\067\111\110\116\114\111\108\108\101\114"))local Y=setmetatable({},T)Y.__index=Y function Y.new()local J=setmetatable(T.new(),Y)J.humanoid=nil J.tools={}J.toolEquipped=nil J.revertAutoJumpEnabledToFalse=false J.moveTouchObject=nil J.moveTouchLockedIn=false J.moveTouchFirstChanged=false J.moveTouchStartPosition=nil J.startImage=nil J.endImage=nil J.middleImages={}J.startImageFadeTween=nil J.endImageFadeTween=nil J.middleImageFadeTweens={}J.isFirstTouch=true J.isFollowStick=false J.thumbstickFrame=nil J.onRenderSteppedConn=nil J.fadeInAndOutBalance=FADE_IN_OUT_BALANCE_DEFAULT J.fadeInAndOutHalfDuration=FADE_IN_OUT_HALF_DURATION_DEFAULT J.hasFadedBackgroundInPortrait=false J.hasFadedBackgroundInLandscape=false J.tweenInAlphaStart=nil J.tweenOutAlphaStart=nil J.shouldRevertAutoJumpOnDisable=false return J end
--
local BaseCharacterController = require(script.Parent:WaitForChild("BaseCharacterController"))
local DynamicThumbstick = setmetatable({}, BaseCharacterController)
DynamicThumbstick.__index = DynamicThumbstick

function DynamicThumbstick.new()
	local self = setmetatable(BaseCharacterController.new(), DynamicThumbstick)

	self.humanoid = nil

	self.tools = {}
	self.toolEquipped = nil

	self.revertAutoJumpEnabledToFalse = false

	self.moveTouchObject = nil
	self.moveTouchLockedIn = false
	self.moveTouchFirstChanged = false
	self.moveTouchStartPosition = nil

	self.startImage = nil
	self.endImage = nil
	self.middleImages = {}

	self.startImageFadeTween = nil
	self.endImageFadeTween = nil
	self.middleImageFadeTweens = {}

	self.isFirstTouch = true

	self.isFollowStick = false
	self.thumbstickFrame = nil

	self.onRenderSteppedConn = nil

	self.fadeInAndOutBalance = FADE_IN_OUT_BALANCE_DEFAULT
	self.fadeInAndOutHalfDuration = FADE_IN_OUT_HALF_DURATION_DEFAULT
	self.hasFadedBackgroundInPortrait = false
	self.hasFadedBackgroundInLandscape = false

	self.tweenInAlphaStart = nil
	self.tweenOutAlphaStart = nil

	-- If this module changes a player's humanoid's AutoJumpEnabled, it saves
	-- the previous state in this variable to revert to
	self.shouldRevertAutoJumpOnDisable = false

	return self
end
