![]() |
Attention | Topic was automatically imported from the old Question2Answer platform. |
![]() |
Asked By | Alexandr |
I tried but it looks (code) too scary. It works as it should, but I think it’s too bad. Here’s the code, if you can, help optimize it.
func side_Bar_Control():
var posMouse = get_global_mouse_position().x
var sizSideBar = sideBar.rect_size.x
if Input.is_mouse_button_pressed(BUTTON_LEFT):
if not openSideBar:
if posMouse < sizW.x*0.1 and not firstPos:
firstPos = posMouse
if firstPos:
if sideBar.rect_global_position.x >= 0:
sideBar.rect_global_position.x = 0
elif sideBar.rect_global_position.x <= 0:
sideBar.rect_global_position.x = -sizSideBar + posMouse - firstPos
elif openSideBar:
if not firstPos and posMouse >= sizSideBar:
firstPos = posMouse
if firstPos:
if sideBar.rect_global_position.x <= 0:
sideBar.rect_global_position.x = posMouse - firstPos
elif sideBar.rect_global_position.x == -sizSideBar:
sideBar.rect_global_position.x = -sizSideBar
elif not Input.is_mouse_button_pressed(BUTTON_LEFT):
if firstPos:
lastPos = sideBar.rect_global_position.x
if not openSideBar:
if lastPos > -sizSideBar * 0.5:
sideBar.rect_global_position.x = 0
openSideBar = true
else:
sideBar.rect_global_position.x = -sizSideBar
elif openSideBar:
if lastPos < -sizSideBar * 0.5:
sideBar.rect_global_position.x = -sizSideBar
openSideBar = false
else:
sideBar.rect_global_position.x = 0
firstPos = 0