local p=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 X=setmetatable({},p)X.__index=X function X.new()local S=setmetatable(p.new(),X)S.humanoid=nil S.tools={}S.toolEquipped=nil S.revertAutoJumpEnabledToFalse=false S.moveTouchObject=nil S.moveTouchStartPosition=nil S.startImage=nil S.endImage=nil S.middleImages={}S.startImageFadeTween=nil S.endImageFadeTween=nil S.middleImageFadeTweens={}S.isFirstTouch=true S.isFollowStick=false S.thumbstickFrame=nil S.onTouchMovedConn=nil S.onTouchEndedConn=nil S.onTouchActivateConn=nil S.onRenderSteppedConn=nil S.fadeInAndOutBalance=FADE_IN_OUT_BALANCE_DEFAULT S.fadeInAndOutHalfDuration=FADE_IN_OUT_HALF_DURATION_DEFAULT S.hasFadedBackgroundInPortrait=false S.hasFadedBackgroundInLandscape=false S.tweenInAlphaStart=nil S.tweenOutAlphaStart=nil S.shouldRevertAutoJumpOnDisable=false return S 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.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.onTouchMovedConn = nil
	self.onTouchEndedConn = nil
	self.onTouchActivateConn = 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
