Hand rework
This commit is contained in:
parent
52572f8c37
commit
6bfd3a3f0f
8 changed files with 118 additions and 40 deletions
|
|
@ -18,6 +18,7 @@ config/icon="res://icon.svg"
|
||||||
[autoload]
|
[autoload]
|
||||||
|
|
||||||
GameplaySignalBus="*uid://cqh0t2i1slf8u"
|
GameplaySignalBus="*uid://cqh0t2i1slf8u"
|
||||||
|
TurnSchedule="*uid://cbrs61uy1wkwe"
|
||||||
|
|
||||||
[debug]
|
[debug]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
[gd_scene format=3 uid="uid://bxt4kgs6px3t8"]
|
[gd_scene format=3 uid="uid://bxt4kgs6px3t8"]
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://b2pm032d5tqwb" path="res://sprites/field.png" id="1_iywne"]
|
[ext_resource type="Texture2D" uid="uid://b2pm032d5tqwb" path="res://sprites/field.png" id="1_iywne"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://bdykhfqrftuvv" path="res://music/fostral.wav" id="1_trtic"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://cuiseagt5rk7h" path="res://music/glorx.wav" id="2_ir15t"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dl3ve6prnn2m6" path="res://cards/card.tscn" id="2_p57ef"]
|
[ext_resource type="PackedScene" uid="uid://dl3ve6prnn2m6" path="res://cards/card.tscn" id="2_p57ef"]
|
||||||
[ext_resource type="Script" uid="uid://caf4h6lok18so" path="res://ui/hand.gd" id="2_u5sy4"]
|
[ext_resource type="Script" uid="uid://caf4h6lok18so" path="res://ui/hand.gd" id="2_u5sy4"]
|
||||||
[ext_resource type="Resource" uid="uid://e7kiu3wcf0ff" path="res://cards/resources/fosma.tres" id="3_u5sy4"]
|
[ext_resource type="Resource" uid="uid://e7kiu3wcf0ff" path="res://cards/resources/fosma.tres" id="3_u5sy4"]
|
||||||
|
|
@ -11,8 +13,19 @@
|
||||||
[ext_resource type="Script" uid="uid://dgd30yiw5q368" path="res://systems/grid_reciever.gd" id="9_0tnpc"]
|
[ext_resource type="Script" uid="uid://dgd30yiw5q368" path="res://systems/grid_reciever.gd" id="9_0tnpc"]
|
||||||
[ext_resource type="Script" uid="uid://bkh50fstwbb6s" path="res://systems/grid_arranger.gd" id="10_vtaks"]
|
[ext_resource type="Script" uid="uid://bkh50fstwbb6s" path="res://systems/grid_arranger.gd" id="10_vtaks"]
|
||||||
|
|
||||||
|
[sub_resource type="AudioStreamPlaylist" id="AudioStreamPlaylist_trtic"]
|
||||||
|
shuffle = true
|
||||||
|
stream_count = 4
|
||||||
|
stream_0 = ExtResource("1_trtic")
|
||||||
|
stream_1 = ExtResource("2_ir15t")
|
||||||
|
|
||||||
[node name="Game" type="Node2D" unique_id=619820575]
|
[node name="Game" type="Node2D" unique_id=619820575]
|
||||||
|
|
||||||
|
[node name="MusicPlayer" type="AudioStreamPlayer" parent="." unique_id=1956514678]
|
||||||
|
stream = SubResource("AudioStreamPlaylist_trtic")
|
||||||
|
volume_db = -20.0
|
||||||
|
autoplay = true
|
||||||
|
|
||||||
[node name="Field" type="Sprite2D" parent="." unique_id=1104378711]
|
[node name="Field" type="Sprite2D" parent="." unique_id=1104378711]
|
||||||
texture = ExtResource("1_iywne")
|
texture = ExtResource("1_iywne")
|
||||||
centered = false
|
centered = false
|
||||||
|
|
@ -20,26 +33,30 @@ metadata/_edit_lock_ = true
|
||||||
|
|
||||||
[node name="PlayerInterface" type="CanvasLayer" parent="." unique_id=269857956]
|
[node name="PlayerInterface" type="CanvasLayer" parent="." unique_id=269857956]
|
||||||
|
|
||||||
[node name="Hand" type="Control" parent="PlayerInterface" unique_id=403305026]
|
[node name="Hand" type="Control" parent="PlayerInterface" unique_id=903928048]
|
||||||
layout_mode = 3
|
layout_mode = 3
|
||||||
anchors_preset = 12
|
anchors_preset = 14
|
||||||
anchor_top = 1.0
|
anchor_top = 0.5
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 0.5
|
||||||
|
offset_top = 786.0
|
||||||
|
offset_bottom = 786.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 0
|
grow_vertical = 2
|
||||||
pivot_offset_ratio = Vector2(0.5, 0.5)
|
pivot_offset_ratio = Vector2(0.5, 0)
|
||||||
script = ExtResource("2_u5sy4")
|
script = ExtResource("2_u5sy4")
|
||||||
|
radius = 512.0
|
||||||
|
arch = 1.0789625435828945
|
||||||
|
|
||||||
[node name="Card" parent="PlayerInterface/Hand" unique_id=267582807 instance=ExtResource("2_p57ef")]
|
[node name="Card" parent="PlayerInterface/Hand" unique_id=267582807 instance=ExtResource("2_p57ef")]
|
||||||
layout_mode = 0
|
layout_mode = 0
|
||||||
anchors_preset = 0
|
anchors_preset = 0
|
||||||
anchor_right = 0.0
|
anchor_right = 0.0
|
||||||
anchor_bottom = 0.0
|
anchor_bottom = 0.0
|
||||||
offset_left = 733.9999
|
offset_left = 532.9398
|
||||||
offset_top = -168.99997
|
offset_top = -437.81183
|
||||||
offset_right = 846.9999
|
offset_right = 645.9399
|
||||||
offset_bottom = 3.0517578e-05
|
offset_bottom = -268.81158
|
||||||
card_resource = ExtResource("3_u5sy4")
|
card_resource = ExtResource("3_u5sy4")
|
||||||
|
|
||||||
[node name="Card2" parent="PlayerInterface/Hand" unique_id=1229293312 instance=ExtResource("2_p57ef")]
|
[node name="Card2" parent="PlayerInterface/Hand" unique_id=1229293312 instance=ExtResource("2_p57ef")]
|
||||||
|
|
@ -47,10 +64,10 @@ layout_mode = 0
|
||||||
anchors_preset = 0
|
anchors_preset = 0
|
||||||
anchor_right = 0.0
|
anchor_right = 0.0
|
||||||
anchor_bottom = 0.0
|
anchor_bottom = 0.0
|
||||||
offset_left = 846.9999
|
offset_left = 767.06165
|
||||||
offset_top = -168.99997
|
offset_top = -577.98645
|
||||||
offset_right = 959.99994
|
offset_right = 880.06165
|
||||||
offset_bottom = 3.0517578e-05
|
offset_bottom = -408.98608
|
||||||
card_resource = ExtResource("4_gee14")
|
card_resource = ExtResource("4_gee14")
|
||||||
|
|
||||||
[node name="Card4" parent="PlayerInterface/Hand" unique_id=1427311772 instance=ExtResource("2_p57ef")]
|
[node name="Card4" parent="PlayerInterface/Hand" unique_id=1427311772 instance=ExtResource("2_p57ef")]
|
||||||
|
|
@ -58,10 +75,10 @@ layout_mode = 0
|
||||||
anchors_preset = 0
|
anchors_preset = 0
|
||||||
anchor_right = 0.0
|
anchor_right = 0.0
|
||||||
anchor_bottom = 0.0
|
anchor_bottom = 0.0
|
||||||
offset_left = 959.9999
|
offset_left = 1039.9382
|
||||||
offset_top = -168.99997
|
offset_top = -577.9866
|
||||||
offset_right = 1072.9999
|
offset_right = 1152.9384
|
||||||
offset_bottom = 3.0517578e-05
|
offset_bottom = -408.9859
|
||||||
card_resource = ExtResource("3_u5sy4")
|
card_resource = ExtResource("3_u5sy4")
|
||||||
|
|
||||||
[node name="Card3" parent="PlayerInterface/Hand" unique_id=1907397406 instance=ExtResource("2_p57ef")]
|
[node name="Card3" parent="PlayerInterface/Hand" unique_id=1907397406 instance=ExtResource("2_p57ef")]
|
||||||
|
|
@ -69,10 +86,10 @@ layout_mode = 0
|
||||||
anchors_preset = 0
|
anchors_preset = 0
|
||||||
anchor_right = 0.0
|
anchor_right = 0.0
|
||||||
anchor_bottom = 0.0
|
anchor_bottom = 0.0
|
||||||
offset_left = 1072.9998
|
offset_left = 1274.06
|
||||||
offset_top = -168.99997
|
offset_top = -437.81183
|
||||||
offset_right = 1185.9998
|
offset_right = 1387.06
|
||||||
offset_bottom = 3.0517578e-05
|
offset_bottom = -268.8116
|
||||||
card_resource = ExtResource("5_0tnpc")
|
card_resource = ExtResource("5_0tnpc")
|
||||||
|
|
||||||
[node name="Grid" type="Node2D" parent="." unique_id=1478060666 node_paths=PackedStringArray("right_border_marker")]
|
[node name="Grid" type="Node2D" parent="." unique_id=1478060666 node_paths=PackedStringArray("right_border_marker")]
|
||||||
|
|
|
||||||
BIN
sprites/clock.png
Normal file
BIN
sprites/clock.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.7 KiB |
40
sprites/clock.png.import
Normal file
40
sprites/clock.png.import
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dp5k3rw7qywtr"
|
||||||
|
path="res://.godot/imported/clock.png-66af4231b30943e4cee6caf99906e470.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sprites/clock.png"
|
||||||
|
dest_files=["res://.godot/imported/clock.png-66af4231b30943e4cee6caf99906e470.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
sprites/clock.png~
Normal file
BIN
sprites/clock.png~
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.5 KiB |
30
systems/turn_schedule.gd
Normal file
30
systems/turn_schedule.gd
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
extends Node
|
||||||
|
|
||||||
|
var current_team: TEAMS = TEAMS.Enemy
|
||||||
|
var game_round: int = 0
|
||||||
|
var turn: int = 0
|
||||||
|
|
||||||
|
func reset() -> void:
|
||||||
|
current_team = TEAMS.Enemy
|
||||||
|
|
||||||
|
func advance() -> void:
|
||||||
|
trigger_units.emit(current_team)
|
||||||
|
current_team = clamp(current_team + 1,TEAMS.Player,TEAMS.Enemy)
|
||||||
|
turn += 1
|
||||||
|
if current_team == TEAMS.Player:
|
||||||
|
game_round += 1
|
||||||
|
turn = 0
|
||||||
|
trigger_effects.emit()
|
||||||
|
next_round.emit()
|
||||||
|
next_turn.emit()
|
||||||
|
|
||||||
|
signal trigger_effects
|
||||||
|
signal trigger_units(team: TEAMS)
|
||||||
|
signal next_turn
|
||||||
|
signal next_round
|
||||||
|
|
||||||
|
enum TEAMS {
|
||||||
|
Player,
|
||||||
|
Neutrals,
|
||||||
|
Enemy
|
||||||
|
}
|
||||||
1
systems/turn_schedule.gd.uid
Normal file
1
systems/turn_schedule.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
uid://cbrs61uy1wkwe
|
||||||
25
ui/hand.gd
25
ui/hand.gd
|
|
@ -1,27 +1,16 @@
|
||||||
@tool
|
@tool
|
||||||
extends Control
|
extends Control
|
||||||
|
|
||||||
|
@export var radius: float = 10.
|
||||||
|
@export_range(0,360,0.01,"or_greater","radians_as_degrees") var arch: float = PI/6
|
||||||
|
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
||||||
func _process(_delta: float) -> void:
|
func _process(_delta: float) -> void:
|
||||||
var calculated_size: Vector2 = Vector2.ZERO
|
|
||||||
|
|
||||||
for card: Card in get_children():
|
|
||||||
calculated_size += card.get_rect().size
|
|
||||||
|
|
||||||
calculated_size.y /= get_child_count()
|
|
||||||
|
|
||||||
var offset: float = 0.
|
|
||||||
for i in range(get_child_count()):
|
for i in range(get_child_count()):
|
||||||
var card:Card = get_child(i)
|
var child: Card = get_child(i)
|
||||||
offset += card.get_rect().size.x
|
if child.top_level:
|
||||||
if card.top_level:
|
|
||||||
continue
|
continue
|
||||||
|
|
||||||
var calculated_position: Vector2 = get_combined_pivot_offset() - calculated_size * Vector2(1.-1./get_child_count(),1) + Vector2.RIGHT*offset
|
var angle: float = -arch+2*arch*((float(i+0.5))/get_child_count())
|
||||||
|
var pointing_up: float = angle - PI/2
|
||||||
card.position = lerp(card.position,calculated_position,0.25)
|
child.position = lerp(child.position,get_combined_pivot_offset()+Vector2.from_angle(pointing_up) * radius-child.get_combined_pivot_offset(),0.25)
|
||||||
|
|
||||||
func resort_by_position():
|
|
||||||
var children: Array = get_children()
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue