function Input._checkDown(t,R,k)if not t:_isDown(R)then return end t._isMouseDown=k if not k then t.ButtonUp:Fire()end end function Input._checkMouseMoved(t,R,k)if not k and not t:_isMovement(R)then return end if not t._isMouseDown then t.MouseMoved:Fire(R.Position)else t.Dragged:Fire(R.Position,k)end end

function Input:_checkDown (userInput, isDown)
	if (not self:_isDown (userInput)) then return end
	
	self._isMouseDown = isDown;
	if (not isDown) then
		self.ButtonUp:Fire ();
	end
end

function Input:_checkMouseMoved (userInput, isTouch)
	if (not isTouch and not self:_isMovement (userInput)) then return end;
	
	if (not self._isMouseDown) then
		self.MouseMoved:Fire (userInput.Position);	
	else
		self.Dragged:Fire (userInput.Position, isTouch);
	end;
end
