local f=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 S=setmetatable({},f)S.__index=S function S.new()local m=setmetatable(f.new(),S)m.humanoid=nil m.tools={}m.toolEquipped=nil m.moveTouchObject=nil m.moveTouchLockedIn=false m.moveTouchFirstChanged=false m.moveTouchStartPosition=nil m.startImage=nil m.endImage=nil m.middleImages={}m.startImageFadeTween=nil m.endImageFadeTween=nil m.middleImageFadeTweens={}m.isFirstTouch=true m.thumbstickFrame=nil m.onRenderSteppedConn=nil m.fadeInAndOutBalance=FADE_IN_OUT_BALANCE_DEFAULT m.fadeInAndOutHalfDuration=FADE_IN_OUT_HALF_DURATION_DEFAULT m.hasFadedBackgroundInPortrait=false m.hasFadedBackgroundInLandscape=false m.tweenInAlphaStart=nil m.tweenOutAlphaStart=nil m.shouldRevertAutoJumpOnDisable=false return m end
--[[ The Module ]]
--
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 -- Remove on FFlagUserDTDoesNotTrackTools

	self.tools = {} -- Remove on FFlagUserDTDoesNotTrackTools
	self.toolEquipped = nil -- Remove on FFlagUserDTDoesNotTrackTools

	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.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 -- Remove on FFlagUserDTDoesNotForceAutoJump

	return self
end
