online multiplayer chess game (note server currently down)
use 3.5 `SceneTreeTween`
| -rw-r--r-- | Debug.gd | 11 | ||||
| -rw-r--r-- | Log.gd | 2 | ||||
| -rw-r--r-- | piece/Piece.gd | 8 | ||||
| -rw-r--r-- | ui/background/ColorfullBackground.gd | 29 | ||||
| -rw-r--r-- | ui/board/Board.gd | 3 | ||||
| -rw-r--r-- | ui/chat/MessageList.gd | 11 | ||||
| -rw-r--r-- | ui/colorpicker/ColorSelect.material | bin | 1137 -> 1137 bytes | |||
| -rw-r--r-- | ui/colorpicker/huepicker.material | bin | 962 -> 960 bytes | |||
| -rw-r--r-- | ui/confirm/confirm.gd | 9 | ||||
| -rw-r--r-- | ui/menus/sidebarright/sandisplay/SanDisplay.gd | 9 |
10 files changed, 29 insertions, 53 deletions
@@ -4,18 +4,19 @@ var refs := [] # = [[ node : object, variable : string, (code : string) ]] var style: StyleBox = load("res://ui/theme/transpanel.tres") var font: Font = load("res://ui/ubuntu-bold-regular.tres") var debug := false # in debug mode or not -var timer := Timer.new() var expr := Expression.new() const offset := Vector2(10, 10) const vertical := 15 +func create_timer(): + get_tree().create_timer(.1).connect("timeout", self, "update") + + func _ready() -> void: z_index = 5 # put on top - add_child(timer) - timer.connect("timeout", self, "update") - timer.start(.1) # only redraw every .1 seconds + create_timer() font = font.duplicate() font.size = vertical * 0.8 visible = debug @@ -35,7 +36,7 @@ func calculate_size() -> Rect2: func update() -> void: - timer.start(.1) + create_timer() .update() @@ -29,7 +29,7 @@ static func file(path: String, args) -> void: static func now(): - var time = OS.get_time() + var time = Time.get_time_dict_from_system() return "%02d:%02d:%02d" % [time.hour, time.minute, time.second] diff --git a/piece/Piece.gd b/piece/Piece.gd index 8eaaaf0..f745e9e 100644 --- a/piece/Piece.gd +++ b/piece/Piece.gd @@ -4,7 +4,6 @@ class_name Piece var position: String var color: String var type: String -var tween := Tween.new() onready var sprite = $Sprite onready var frame = $"%Frame" @@ -28,7 +27,6 @@ func size() -> void: # size the control func _ready(): - add_child(tween) load_texture() size() @@ -87,16 +85,14 @@ func move(to: String) -> Piece: Globals.grid.set_piece(position, null) Globals.grid.set_piece(to, self) var go_to = Chess.algebraic2vec(to) - tween.interpolate_property( - self, "rect_position", rect_position, go_to * Globals.grid.piece_size, 0.3, Tween.TRANS_BACK - ) + var tween = create_tween().set_trans(Tween.TRANS_BACK) + tween.tween_property(self, @"rect_position", go_to * Globals.grid.piece_size, 0.3) var signresult := int(sign(Chess.algebraic2vec(position).x - go_to.x)) if signresult == 1: rotate.play("Right") elif signresult == -1: rotate.play("Left") anim.play("Move") - tween.start() position = to return self diff --git a/ui/background/ColorfullBackground.gd b/ui/background/ColorfullBackground.gd index de5ada5..18e4398 100644 --- a/ui/background/ColorfullBackground.gd +++ b/ui/background/ColorfullBackground.gd @@ -3,37 +3,30 @@ extends ColorRect export(PoolColorArray) var colors export(float) var length := 2.8 +var rainbow := true onready var fallback_color = color -var rainbow := true setget set_rainbow -var tween := Tween.new() -var timer := Timer.new() - static func rand(clr) -> float: return clamp(clr + rand_range(0, .1) if randi() % 2 else clr - rand_range(0, .1), 0, 1) -func set_rainbow(newrainbow): - rainbow = newrainbow - change_color() - - func _ready() -> void: randomize() - add_child(tween) - add_child(timer) - timer.connect("timeout", self, "change_color") color = colors[randi() % colors.size()] change_color() +func create_timer(): + get_tree().create_timer(length).connect("timeout", self, "change_color") + + func change_color() -> void: - timer.start(length) + create_timer() + var tween = create_tween().set_trans(Tween.TRANS_ELASTIC) if rainbow: - var clr: Color = colors[randi() % colors.size()] - clr = Color(rand(clr.r), rand(clr.g), rand(clr.b), 1) - tween.interpolate_property(self, "color", color, clr, length, Tween.TRANS_ELASTIC) + var chosen: Color = colors[randi() % colors.size()] + var clr = Color(rand(chosen.r), rand(chosen.g), rand(chosen.b), 1) + tween.tween_property(self, "color", clr, length) else: - tween.interpolate_property(self, "color", color, fallback_color, length, Tween.TRANS_ELASTIC) - tween.start() + tween.tween_property(self, "color", fallback_color, length) diff --git a/ui/board/Board.gd b/ui/board/Board.gd index c6c461d..644e7f0 100644 --- a/ui/board/Board.gd +++ b/ui/board/Board.gd @@ -12,7 +12,7 @@ signal remove_last var move_indicators: PoolIntArray = [] -var rot :float = 0 +var rot: float = 0 var piece_size: Vector2 @@ -63,6 +63,7 @@ func _process(_delta): rect_rotation = rot foreground.rect_rotation = rot + func _resized(): var old_pc = piece_size piece_size = rect_size / 8 diff --git a/ui/chat/MessageList.gd b/ui/chat/MessageList.gd index aa407f6..276fb68 100644 --- a/ui/chat/MessageList.gd +++ b/ui/chat/MessageList.gd @@ -5,12 +5,6 @@ onready var labels = find_node("labels") onready var scroller = find_node("scroller") onready var scrollbar = scroller.get_v_scrollbar() -var tween := Tween.new() - - -func _ready(): - add_child(tween) - func add_label(bbcode: String): var l := RichTextLabel.new() @@ -20,8 +14,9 @@ func add_label(bbcode: String): l.connect("meta_clicked", self, "open_url") l.bbcode_text = bbcode l.fit_content_height = true - tween.interpolate_property(scrollbar, "value", scrollbar.value, scrollbar.max_value, .5, Tween.TRANS_BOUNCE) - tween.start() + yield(get_tree(), "idle_frame") + var tween = create_tween().set_trans(Tween.TRANS_LINEAR) + tween.tween_property(scrollbar, "value", scrollbar.max_value, .5) func open_url(meta): diff --git a/ui/colorpicker/ColorSelect.material b/ui/colorpicker/ColorSelect.material Binary files differindex 2ab63e8..e41a20d 100644 --- a/ui/colorpicker/ColorSelect.material +++ b/ui/colorpicker/ColorSelect.material diff --git a/ui/colorpicker/huepicker.material b/ui/colorpicker/huepicker.material Binary files differindex 9e26feb..9b5f5f4 100644 --- a/ui/colorpicker/huepicker.material +++ b/ui/colorpicker/huepicker.material diff --git a/ui/confirm/confirm.gd b/ui/confirm/confirm.gd index 70b2251..28b0ac2 100644 --- a/ui/confirm/confirm.gd +++ b/ui/confirm/confirm.gd @@ -3,8 +3,6 @@ class_name Confirm signal confirmed(what) -var timer := Timer.new() - func _process(_delta): if visible: @@ -12,16 +10,11 @@ func _process(_delta): rect_position.y = clamp(rect_position.y, 50, OS.get_window_size().y - rect_size.y) -func _ready() -> void: - add_child(timer) - timer.connect("timeout", self, "_pressed", [false]) - - func confirm(who, what: String, timeout := 5, called := "_confirmed"): connect("confirmed", who, called) popup_centered() window_title = what - timer.start(timeout) + get_tree().create_timer(timeout).connect("timeout", self, "_pressed", [false]) func _pressed(what: bool): diff --git a/ui/menus/sidebarright/sandisplay/SanDisplay.gd b/ui/menus/sidebarright/sandisplay/SanDisplay.gd index 0c17890..6a9d1b7 100644 --- a/ui/menus/sidebarright/sandisplay/SanDisplay.gd +++ b/ui/menus/sidebarright/sandisplay/SanDisplay.gd @@ -1,8 +1,6 @@ # its really a PGNDisplay but im in no mood to change it extends PanelContainer -var tween := Tween.new() - export(PackedScene) var Base onready var scroll_container := $Scroller @@ -15,7 +13,6 @@ var added_sans := 0 func _ready() -> void: scroll_bar.hide() scroll_bar.step = .15 #smoth - add_child(tween) Globals.grid.connect("add_to_pgn", self, "add_to_pgn") Globals.grid.connect("load_pgn", self, "add_moves") Globals.grid.connect("clear_pgn", self, "clear") @@ -37,7 +34,7 @@ func add_to_pgn(m: String) -> void: func add_move(move: String) -> void: if added_sans % 2 == 0: - # warning-ignore:integer_division + # warning-ignore-all:integer_division create_number_label((added_sans / 2) + 1) added_sans += 1 sans.get_children()[-1].add_move(move) @@ -51,8 +48,8 @@ func add_moves(moves: PoolStringArray) -> void: func scroll_down(): yield(get_tree(), "idle_frame") - tween.interpolate_property(scroll_bar, "value", scroll_bar.value, scroll_bar.max_value, 0.5, 9) # bouncy - tween.start() + var tween = create_tween().set_trans(Tween.TRANS_LINEAR) + tween.tween_property(scroll_bar, "value", scroll_bar.max_value, 0.5) func clear() -> void: |