aka gravity ninja golf
at main 37 lines 899 B view raw
1class_name Connhost extends Control 2 3var hover: bool = false 4var oof: Vector2 5var text: String = "" 6signal clicked 7signal connect_to_server(address: String, port: int) 8signal host_server(port: int) 9 10func _process(_delta: float): 11 if hover && Input.is_action_just_released("click"): 12 clicked.emit() 13 connect_to_server.emit("localhost", 1111) 14 host_server.emit(1111) 15 16func initialize(p: Vector2, t: String): 17 position = p 18 size = font.italics.get_string_size(t, HORIZONTAL_ALIGNMENT_LEFT, -1, 48) 19 text = t 20 queue_redraw() 21 22func _draw(): 23 var os = Vector2.ZERO 24 if hover: 25 var wa = Color.WHITE 26 wa.a = 0.5 27 draw_rect(Rect2(Vector2.ZERO, size), wa) 28 os = oof 29 draw_string(font.italics, Vector2(0, size.y) + os, text, HORIZONTAL_ALIGNMENT_LEFT, -1, 48, Color.WHITE) 30 31func _on_mouse_entered() -> void: 32 hover = true 33 queue_redraw() 34 35func _on_mouse_exited() -> void: 36 hover = false 37 queue_redraw()