online multiplayer chess game (note server currently down)
use 3.5 `SceneTreeTween`
bendn 2022-08-06
parent 1443f36 · commit 5980482
-rw-r--r--Debug.gd11
-rw-r--r--Log.gd2
-rw-r--r--piece/Piece.gd8
-rw-r--r--ui/background/ColorfullBackground.gd29
-rw-r--r--ui/board/Board.gd3
-rw-r--r--ui/chat/MessageList.gd11
-rw-r--r--ui/colorpicker/ColorSelect.materialbin1137 -> 1137 bytes
-rw-r--r--ui/colorpicker/huepicker.materialbin962 -> 960 bytes
-rw-r--r--ui/confirm/confirm.gd9
-rw-r--r--ui/menus/sidebarright/sandisplay/SanDisplay.gd9
10 files changed, 29 insertions, 53 deletions
diff --git a/Debug.gd b/Debug.gd
index c11a3e3..e4f7f1a 100644
--- a/Debug.gd
+++ b/Debug.gd
@@ -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()
diff --git a/Log.gd b/Log.gd
index 8090a6c..e3e37d4 100644
--- a/Log.gd
+++ b/Log.gd
@@ -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
index 2ab63e8..e41a20d 100644
--- a/ui/colorpicker/ColorSelect.material
+++ b/ui/colorpicker/ColorSelect.material
Binary files differ
diff --git a/ui/colorpicker/huepicker.material b/ui/colorpicker/huepicker.material
index 9e26feb..9b5f5f4 100644
--- a/ui/colorpicker/huepicker.material
+++ b/ui/colorpicker/huepicker.material
Binary files differ
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: