From 899760f97b4b5cd4c2ef5fd52d76440979ea970c Mon Sep 17 00:00:00 2001 From: Tiger Date: Sun, 11 Jan 2026 22:47:56 +0100 Subject: [PATCH] fix: working on focus problems, test scenes --- src/dev-util/hardcoded_cards.gd | 51 +++++++++++---------- src/dev-util/hardcoded_cards.tscn | 3 ++ src/internationalisation.de.translation | Bin 39457 -> 39457 bytes src/internationalisation.en.translation | Bin 33890 -> 33890 bytes src/internationalisation.es.translation | Bin 15781 -> 15781 bytes src/internationalisation.ja.translation | Bin 15769 -> 15769 bytes src/internationalisation.notes.translation | Bin 16296 -> 16296 bytes src/logic-scenes/board/card-board.gd | 13 +++--- src/logic-scenes/board/card.gd | 19 ++------ src/logic-scenes/board/card.tscn | 29 +++++------- src/logic-scenes/board/sticky-note.gd | 2 +- src/project.godot | 1 + src/singletons/main/main.tscn | 2 + src/tests/card_tests.tscn | 17 +++++++ 14 files changed, 75 insertions(+), 62 deletions(-) create mode 100644 src/tests/card_tests.tscn diff --git a/src/dev-util/hardcoded_cards.gd b/src/dev-util/hardcoded_cards.gd index ab08221..fe249d3 100644 --- a/src/dev-util/hardcoded_cards.gd +++ b/src/dev-util/hardcoded_cards.gd @@ -1,6 +1,9 @@ -class_name HardCards extends Control +class_name HardcodedCards extends Control -static var source_dicts: Array[Dictionary] = [ +@onready var card_prefab : PackedScene = preload("res://logic-scenes/board/card.tscn") +@onready var note_prefab : PackedScene = preload("res://logic-scenes/board/sticky-note.tscn") + +var source_dicts: Array[Dictionary] = [ { "c_out_of_world": ["p_unique", "p_few_friends", []], "c_rejection": ["p_finding_friends", "p_laughed_at", []], @@ -63,13 +66,13 @@ static var source_dicts: Array[Dictionary] = [ }, ] -static var id_reference: Dictionary[StringName, StringName] = generate_id_reference(true, true) +var id_reference: Dictionary[StringName, StringName] = generate_id_reference(true, true) -static var card_id_reference: Dictionary[StringName, StringName] = generate_id_reference(true, false) -static var sticky_id_reference: Dictionary[StringName, StringName] = generate_id_reference(false, true) -static var obscure_reference: Dictionary[StringName, StringName] = generate_obscure_reference() +var card_id_reference: Dictionary[StringName, StringName] = generate_id_reference(true, false) +var sticky_id_reference: Dictionary[StringName, StringName] = generate_id_reference(false, true) +var obscure_reference: Dictionary[StringName, StringName] = generate_obscure_reference() -static func generate_id_reference(include_cards: bool, include_sticky: bool) -> Dictionary[StringName, StringName]: +func generate_id_reference(include_cards: bool, include_sticky: bool) -> Dictionary[StringName, StringName]: var out:Dictionary[StringName, StringName] = {} for id in range(source_dicts.size()): @@ -83,7 +86,7 @@ static func generate_id_reference(include_cards: bool, include_sticky: bool) -> return out -static func generate_obscure_reference(): +func generate_obscure_reference(): var out:Dictionary[StringName, StringName] = {} randomize() @@ -100,7 +103,7 @@ static func generate_obscure_reference(): return out -static func get_child_names_of(parent_id: StringName) -> Array[StringName]: +func get_child_names_of(parent_id: StringName) -> Array[StringName]: var out: Array[StringName] for child_name: StringName in id_reference.keys(): if id_reference[child_name].contains(parent_id): @@ -109,10 +112,10 @@ static func get_child_names_of(parent_id: StringName) -> Array[StringName]: return out #FIXME: enhance typing! -static func get_children_of(parent_id: StringName) -> Array: +func get_children_of(parent_id: StringName) -> Array: return get_cards_by_name_array(get_child_names_of(parent_id))["sticky_notes"] -static func get_obscure_name(card_name: StringName): +func get_obscure_name(card_name: StringName): if State.obscure_logs and not OS.is_debug_build(): return obscure_reference[card_name] else: @@ -178,16 +181,18 @@ func is_out_of_bounds(card: Card, rect: Rect2): return true return false -static func get_cards_by_scene_id(id: int) -> Array: +func get_cards_by_scene_id(id: int) -> Array: var output:Array for card_name in source_dicts[id].keys(): - output.append(Card.new(card_name, id_reference[card_name])) + var card := card_prefab.instantiate() as Card + card.init(card_name, id_reference[card_name]); + output.append(card) return output # used to put cards on the dev board -static func get_cards_by_name_array(names: Array[StringName]) -> Dictionary: +func get_cards_by_name_array(names: Array[StringName]) -> Dictionary: var output:Dictionary = { "cards": [], "sticky_notes": [] @@ -201,21 +206,21 @@ static func get_cards_by_name_array(names: Array[StringName]) -> Dictionary: return output -static func create_from_id(id:StringName) -> Area2D: - var parsed: PackedStringArray = id.rsplit(".") - - #var helper := card_id_reference - #var keys := card_id_reference.keys() - +func create_from_id(id:StringName) -> Area2D: + var parsed: PackedStringArray = id.rsplit(".") if card_id_reference.values().has(id): - return Card.new(parsed[1], id) + var card := card_prefab.instantiate() as Card + card.init(parsed[1], id); + return card elif sticky_id_reference.values().has(id): - return StickyNote.new(parsed[2], id) + var note := note_prefab.instantiate() as StickyNote + note.init(parsed[2], id) + return note else: push_error("Attempted to create Card or Sticky from non-existent ID!") return null -static func create_dev_board(parent: Control, _rect: Rect2) -> void: +func create_dev_board(parent: Control, _rect: Rect2) -> void: var scroll_container := ScrollContainer.new() var panel := Panel.new() diff --git a/src/dev-util/hardcoded_cards.tscn b/src/dev-util/hardcoded_cards.tscn index 3d53fb6..d270cc8 100644 --- a/src/dev-util/hardcoded_cards.tscn +++ b/src/dev-util/hardcoded_cards.tscn @@ -3,9 +3,12 @@ [ext_resource type="Script" uid="uid://dysgoaaesqjbg" path="res://dev-util/hardcoded_cards.gd" id="1_5kg6w"] [node name="Node2D" type="PanelContainer"] +process_mode = 4 +visible = false anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +focus_behavior_recursive = 1 script = ExtResource("1_5kg6w") diff --git a/src/internationalisation.de.translation b/src/internationalisation.de.translation index b7924d08137286a1fa7696051385f1ffdfb74af7..9b81b50e030e5e23053e94fbf2b7ee10ea39b0e5 100644 GIT binary patch delta 1761 zcmYk6T}YE*6vv;o>DC;vq7NCAt87F>NtAtH5hh^~MYbYJM5K$+g+%OX1n=lVB1Y8K zg;Yp|ghY&JyATN}2$2YhSP>&)R7gn0kk~~;>vwvO@jUSJ|8dUqz7ur!ik^E#&*QfZ z&QGr~bv?iE0iQ8TpcxkWHR@Z@P0$AI+I66v>bq5Y(9_VTS)P-?4{E-IUWSa%n{i|b@*EK9r^)2!B?0E z)98MHAR1QhKEeGNp^I95O#NoG9Xg;>yKd2D?j6O%wUo#7;m_s%_}4EzkGo(^QnW35 z(=X7z#LSyTi6k;(f!um<9FW_ zLYG0aX4%_fdCA+!d;DgVIiiCe)n0VKpWEtP=_IroM3az$G+YIFhMep8TX5Iv9^%Jg z5~j7EQI$I-d|7h^{b9{yF6XD;c+D?=uI`Vt`vUI!f~sLO0#VH|v<=!d%l)o^Ty+jp z#kKB36L1kO!DW!uE9f=23AeP9Ud~h$?ctb8S}*rGOy36 zucCjzx7e51Ln=WvIZvxx>#{!Z(=L(ih}6hA^xIS&X7F^&P66Xg3_y zEPHa|DF4JVKs!bj};=45o2W-goQ+il}Vo#vWr+HUPzQg_)0`Xh*XOh z6;fTu0+DJ%Lc9nGk%$qoA|ygWBE&+%i}1qrJMIY213&*C=e*Cmf#|ce>si|M@^gWc zv(CKR7?;NwAFP4pQBZw38iFd=p#L*R+XL6CGUvM<;DmTI?SkM(MgzspD+iDAp5>T zV~Rk$eS&o5Rv%Jdg@$1d?9;A6G|1D9m}V{IvQ~UFzUbXj62o;^lP=ndz1=i7;f^)A zi+>1DU;tji@&_BS{5!e9c~A4vYL_>^X!i~M0l(mncFQ}W^K=W^8*lziezX|YX_mce z%S+x#-t9H(%^@8eQ9X^edE+(ibfHfP$zlJwfC;MaM3CQGoCzr*1&j*?3rq$1&|6mb3 zEBO_MQjnc8bR%rjES;RN<~>%wPkn=GBYGTKA-dAxuZ<2m(97ztp*`wvsmcp_Eid^# zIRX8Ugds?S%SwMj30_Y7R%6$>LaRkXgwU%EPHaA z$SvAMRbyy}`pc@<(0Fa2)RBjJwY;yIP<^f{J4y9JRwsR$JOb~mK7-G~Buv2!$gZ3@ z`~sL&OISALBjHixPY&v61CH??htbB1I)S92INHuMK p99S!B!o6cXyY?UEzYji~Dym8OS6_H__3T!*x!bHt4cA_3`wuSYEgt{? diff --git a/src/internationalisation.en.translation b/src/internationalisation.en.translation index 2816422fc95538bbff0e81fce57729d81f7071ae..0f7c76d40673f0cc1583b033b7cb639c0deb7883 100644 GIT binary patch delta 1761 zcmYk6T}YE*6vrRkbaRfd=tG2T_8}2s66IGKAtE9oXciG7AzchFB*Lo^yrT<|7*Q@r zDnvp;A|#v_A|YOch=@c;#1Ih^3yB(HUP!cl$M+b|1Hb)0&UxNV*j($+T#`9AspVqOz3@*Hu7 zw3odR{Fs#|@KZ1YvsS-=Pr@o}YM)Y-=j`B3mND6o4~1|RE`d=@M{GL%fiSPbkE);1WmtpnumvXD z{Qv`xleiEjwPWI=>i?HPOPCAKMcZ1B+o9a{O zU-0G_6M(}|0J0N8i=jlbbaJXSU$y!M_06hnXa{sbILG0?jShOzi25knr#_}CZ!lna z$%Et}7=baEfGLofedg#EVF{A33VU;h*A2oC*wWG);4g+eI0~{DLW|YcsMev4(4txP zoXGPkAL<4AI&COPqZ>BVy!As raq>m*Os3v?axGf%tk#&*0*UdecTN8QE6Ff& delta 1749 zcmYk7T}YE*6vrR8+16U2VKs#OD2 zsF3Kw7Km7r2r ztn=G#jLTz;57xuVD5$;yt${k&rCkVZRNti9hIYUS&GMWuKBD;&dKGSXOsv|y!HH`x zdxQ9dl}GSnFb?mmK84Rf7G|`cQz5=E_p|6p)f(1)L~jRgJvNIvyg{HkbU1O zW7dIq`vmDKtiDEl9a;|!a7epm(IB_mFdbUT!@BU{*iY})(g?2Gn)K3E9_XX#hnv>q zHvT?5h9MY*m0xV!^6%vd&Ig)LR=cwKMZ0h4G<=62+O6z}{-#^d-guYar0z0o(C%nXs$tbLcM0W-{h04P776s)?H{A zF2E(Y3bJ|~jluxj(@uIh56Mro8?t7@_?Ph7>STX{JPGOL-YH}-Q_Df-g&Fm8=s#El z&uTuxPzJJ7j#j}o&CAgVQ136_S}ohr~b0d$H=TnKHK-E^*>&cFJ=G$ diff --git a/src/internationalisation.es.translation b/src/internationalisation.es.translation index 3dba732fa64271f09a9e6f1da7a07206bfd4aa19..8e10353f028a321a1ab0a00dcf97afde7f2fb859 100644 GIT binary patch delta 1736 zcmYk6Ur3W-6o=p1bT(I5l#PKoDn^8uL}`UdNQ6ZMnMH(1NEgEkiSTL)-{?XjM%31Y zRE#JMiI8w!h=mk{n21EIh#?^%5>g@(22rl(_?^M~!n5C>bKdWppbm5obie#mf zy?*?Vl}GSn@CGKVej1;HIat(wSyi61iZ?~Z6hjbp!9F+$M?iKO(33^RF_*NE@~Y(} zcaXav265;G>E$FWpR~Np9+98Gp!P$mqpGqqzV02d`TRS=lny_renw~E8+?ZqFvac{ z@S|nw-6y!8A-b^DN7PrLwNMX@+BJy=xpxlJqNO~h4Sy}Q=G(Ki19#n;#Aqvz$7y;Y zVNH_wK1jnL41@cX^7+@6pO7aw(=;Egwy^m{yRYaxEW)yOg&omVy1&|Q^to>epxYp* zS@xSL;LG<7-R--j=S+hJRh_Bb&f_A_Iw+R)y4my3>%iaKf z#L8p%37CR+RzHW2z#^<@zoshB*}!juN#whL5AvW80w6nOXhouNOsy7DUbnpDdU6xA zLMPk@>E(1=zQ^)1>n9Jwu=b;>ld7^az2hCRvDge@UWW^+5p)rjVHGwY3bOA_GA0$o z+s8+jZT0!;3s66lLb-O8qCRd{V`{XNht=VOp{VCbdOfbunzYj9obIH#58c+J2mchF z!7z+N{DVzdepa5~e4zPcweiib+I>fVz)$$CU3^D$lWtpk3=6v)x_%+M@3a?yss;FwTu0w;+04>k~ zvU(5gf=BQ~JL%>0lLxgMwq~RF*YL*bWPgS{4-31!6N_M$c7x1gE9%$KzYqoYUjBt4 z17s%?&4r_yrIX{=Tx#{@>MK>N(Th+A!MzT@HaciTo7K0Wchx^ol@~m;yyRYT9}K_< zjKKuR%sw-8^RNIBScILq!{24XDy(Z6Mcv89Btsg=VkVlaKA>8LRzQ_z*^_gYT&rDB zwH|F$->lk(hDuU09J%yR%U;z!)#s|RGopUX>ZG3_Pr(lK=n! diff --git a/src/internationalisation.ja.translation b/src/internationalisation.ja.translation index 6e5afb249b4480641f9c8c5ea217e7749d39132a..1594e28612ee9fe2025a039d2e026e3d1cb859c9 100644 GIT binary patch delta 1736 zcmYk6Ur3W-6o=p1bUIh8C>w$`Dn^8uL`@5ekO+$iGK&b2kS<0S60xf(e8UTg7*Sgn zW+71$5;3BAAr?{)A`uc{5hG%RNJ-g<@FK$X9KSPoUwHQWbI$vH6Vy9>clw@wsBr#x zj4A2)i?8w;vmQcF?zgJniSC9bh-%l0wyAGd?Lf~%w`O@x4BxA{A02>{*JPSJo1GEu zWp5OpwemQA5?;cz)xX8(p#Y287ggms%Xm{^OeKV1E9`>3&;qh^7(H5H9CJ>l|6jA@@$olupXsa5ZYEtOsq-ste1>PPf5e1&iD8%(A9 z1^j4Gz54|BvyLuo^%3reH?< zSyj0+htF#+pi9G-#Gi&Oyybtp1q#ld2tP7xX}^+Tp*A4&rD+eG(m1pHh_tw96 z;xZ=3ZHyN-Lw4j>UxrpeHSE={7OhtwRBb|=;k0IXP6!{?+==!;zuQFiy0$t|?PYHe zAG7iZehenywbjq!6Oe?j+Apcfb5i(KFu8me@IxikKrP5lJsQk4j%m?C%JY_&9423Z zF6f0DAibPhmcMIxnLQ#ufg$aORmW9jXKKwmVl$a(!kiB0RTF3u7U3JDAPutb%`>JD z#M{SDS7!B9>Z{QJ9E1k#8b$rwZo)KcDGzJKhazduj^Z$`-I{dKmLKY+xdFGV$zA+I zcnm`@3fT`fVfh((g7b#voz-SHKWg_G{Q}?Nw|3bb(G|K??Tu&sO$BHXlxUW{8p})G zM?T;&+sqLi98*1uUhqWrxJsOhTD759pbL88Cdf17+`&g-(CT9NahQTx?cb`(o%i@p znitSzYbJ9!e?7)!{&^x9PibwAcl~`{)k4${Wtywd-4M_$_k&)!>KvwO*18o9K^t^J z56J3u^d{Va2ii$5=Mnjdc0<-|82=JpS)J@pljmT5y>~JR%))w*dFHG7CG;Pp!JW^) zFl+(YDMc$_r)KHo1T-JC`Udrls!ixgXoXO|!>^4F+R+a6*U&!o{i^bU+m@GnpB#lj zh`|Vqfz0ePO*aSgkboqt%^m(O628H*mTA;oU`zoNfh?Ay73ynM>(L+_)+~E+j*?rn z3#o?DcJ&>q*U(6vZ;KFaLoNFI?XB{M4U#W92j7rfhZZMBo0& Vc;24Lg4|0luAWQ9N9umM{sSKgEjIuF diff --git a/src/internationalisation.notes.translation b/src/internationalisation.notes.translation index 181a86f15cabe2973b56831c5c0d45a220be2fea..eae48d409b32d018cf472ace427625c83afa70de 100644 GIT binary patch delta 1675 zcmYk7Ur1A77>AFwg!dT&}L}WEPF!uPR-qD4@6y7h86pkm1_^` zL~ah_M~pm%pMWWtG5UFY5>{Yc`;@Be*}_|H%i0G8Py{F8G*p7zxro-eE!(=Sg_LcE zm)t?_f-pp&7o?XHHGH4pW%h#n65`sAsE(`3oyoL6FV=CU33EF9sQLw6hVSqLHo)4q z`vP9nAItFMTrI=}w3SUI>PyiIsDWDT>Qx)jpn7?x6@Qm)$Fn><7=A`JxaVm;%lqan>Fg`I3hR)PN%IzN2V}#Z%w6@NhoL~T%*qTe z`3$)l8nkaxZ9&^1{WS||*@<>R7$WcpWQm+7_yHI)x;OZ7n1osF7gXh$MSN283i`{K z$z0B6CSS&F2E0jrmE-d4{z$K?A1#D{<`T3VDm2TAI=nn>JJ)bQowTAMcmUnd19JNz z`WT+UfOgW$86v;d?yWH!#gD_J(aHT;@&YWTd)sl6nALQUvE!_(PoaOom1S98$b~|X zI{~x=N;OL-r&{wRqralQLA42Ofp!Sld~||5+=YhKN6=pNQB}FqXL!l|h^);%sXgxG)mV0u7D9q>do$J%_k_Xah@Rb}Cb`Z1%Eeu6v&b4I_2Pr?eUK?>xqoGrYypFcXW zPriJQ4<~IRCY~}M?JF)CTIf;g&ORjV^lekg5mAHKDl`mG~_vAgj896u0 Y|CS6E3Es8kz@NnLviIJ^bk(Z+A6)JEPXGV_ delta 1678 zcmYk4e`J(#9LK-aU3+$&b!)9oYR#HtvXYr<7cdy+{qv-Tt> zne@k8WVUW5vp+J)B$J$)ldNPilgVhN_VoJPKJoqXy7!OI=lR|pPs&ZXL(@Umx6a}^ zW7YunGMFI$2BJ^~d!ZU+Cx+Gqjcb~;kn)1%B`3(O z&;gy$1=7p8XZc>s%j^;P2@GieTy<1ccE)qQMy&5o5GHjvrJ6yrFaxu&04pH-&U#}C zyfseI@hGkYq?J>yz5=a+!%(Z;G1UgNQN29VjE{5MuEGSa#hP@`?mW^-(*^geNiY5( zJca=n0=Y}hnB`x~4Z*iG@8$Ovf7ID$^c(zupE5bSh+77^!Q`!K2#vrN%`)3-dC3RJ z2jPVFr&Q0O7a{kWUDom%+6o=e33ov*k<)`uLci6e@S`veZ?u1>D$jhtPiy{y&Ra8? z%lVbZi@3yqU$XU(zt&m(N=LN-jY5g$av4@bX-4C44cg%*$o6gY zF7&_y?WC9Ui2Ovm0c-Xg{{miGo$ODLCt)hryS|^ne8~kF`~G+JbLbMRKp>yj6E=hF zY(q<7w`S?&RB1kJ^|k7csWzaep&8;X9|@3$ThKQ3H_%(^@2JX7x8)`Gk(1C5DHwzi zkePiZ=q6zbGLQwCyYewZn1y*QSI|Jnm=HujcDA9V>Z?^_XdTpRmOVKq$xYhDRTF57 z`Zm=YA>-AAi(Pr9Tf08hr0P>u*-5D%v^wcW$Yb!@>ZkA-$ifWFf$Yjzz%PT@kn6lp z;X-FUJ`CxFa8tzlTU void: +func init(card_name: String = "card", own_id:StringName = "-1") -> void: if card_name != "c_void": text = card_name card_id = own_id @@ -139,8 +140,6 @@ func _init(card_name: String = "card", own_id:StringName = "-1") -> void: func _ready(): input_event.connect(_on_input_event) - mouse_entered.connect(_on_mouse_entered) - mouse_exited.connect(_on_mouse_exited) _handle_wiggle(0) _on_text_updated.call_deferred() @@ -149,7 +148,6 @@ func _on_text_updated(): if is_node_ready(): var curr_frame := text.hash() % background_sprite.sprite_frames.get_frame_count(background_sprite.animation) background_sprite.frame = curr_frame - background_sprite.scale = Vector2(0.6, 0.6) if text == "": if background_sprite.get_child_count() == 0: @@ -163,7 +161,7 @@ func _on_text_updated(): wiggle_pos = float(text.hash() % 100) label.rotation = deg_to_rad(transfor_arr[curr_frame].get_rotation()) - label.position = transfor_arr[curr_frame].origin + #label.position = transfor_arr[curr_frame].origin burn_progress = burn_progress @@ -190,25 +188,18 @@ func _handle_wiggle(delta): rotation = noise.get_noise_1d(wiggle_pos)*wiggle_strength -## Deprecated -func replace_with(card: Card): - self.text = card.text - self.compatible_sticky_notes = card.compatible_sticky_notes - self.own_sticky_notes = card.own_sticky_notes - self.voice_line = card.voice_line - self.name = card.name func _input(event: InputEvent) -> void: if event is InputEventMouseButton: if event.button_index == MOUSE_BUTTON_LEFT and not event.pressed: is_dragged = false -func _on_mouse_entered(): +func _on_mouse_entered() -> void: is_mouse_entered = true if not Input.is_action_pressed("mouse_left"): # Do nothing if mouse hovers over sticky_note if has_sticky_note_attached(): - if current_sticky_note.highlighted: + if current_sticky_note and current_sticky_note.highlighted: return highlighted = true if "handle_hover" in owner: diff --git a/src/logic-scenes/board/card.tscn b/src/logic-scenes/board/card.tscn index 2f4a943..0c0c8c5 100644 --- a/src/logic-scenes/board/card.tscn +++ b/src/logic-scenes/board/card.tscn @@ -5,45 +5,38 @@ [ext_resource type="Theme" uid="uid://d1jvpqykmpfyg" path="res://logic-scenes/themes/serif.theme" id="3_mdi7r"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_mai6h"] -size = Vector2(511, 410) +size = Vector2(277, 231) [node name="Card" type="Area2D"] script = ExtResource("1_emip0") text = "asdf" -picked_random = null -wiggle_strength = null -wiggle_speed = null -scale_bump = null -bounce_speed = null -highlighted = null -is_dragable = null -diameter = null -burn_progress = null -burn_state = null -direction = null metadata/_custom_type_script = "uid://ddy8kb2hjvgss" metadata/type = "card" [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +scale = Vector2(0.6, 0.6) sprite_frames = ExtResource("2_mai6h") [node name="Label" type="Label" parent="."] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -offset_left = -203.0 -offset_top = -166.29167 -offset_right = 224.0 -offset_bottom = 173.12498 +offset_left = -126.0 +offset_top = -88.0 +offset_right = 136.0 +offset_bottom = 89.95834 grow_horizontal = 2 grow_vertical = 2 theme = ExtResource("3_mdi7r") theme_type_variation = &"card_text" -text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. " +text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. " horizontal_alignment = 1 vertical_alignment = 1 autowrap_mode = 3 [node name="CollisionShape2D" type="CollisionShape2D" parent="."] -position = Vector2(11, -2) +position = Vector2(5.5, 0) shape = SubResource("RectangleShape2D_mai6h") + +[connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"] +[connection signal="mouse_exited" from="." to="." method="_on_mouse_exited"] diff --git a/src/logic-scenes/board/sticky-note.gd b/src/logic-scenes/board/sticky-note.gd index 5ba4b83..34fd6d7 100644 --- a/src/logic-scenes/board/sticky-note.gd +++ b/src/logic-scenes/board/sticky-note.gd @@ -75,7 +75,7 @@ var mouse_diff: Vector2 @export_range(1.0, 10.0) var bounce_speed: float = 8 var on_board: bool = false -func _init(sticky_name: String = "sticky_note", card_id: StringName = "-1") -> void: +func init(sticky_name: String = "sticky_note", card_id: StringName = "-1") -> void: name = sticky_name text = sticky_name parent_id = StringName(card_id.rsplit(".", false, 1)[0]) diff --git a/src/project.godot b/src/project.godot index 8938105..b4965cf 100644 --- a/src/project.godot +++ b/src/project.godot @@ -27,6 +27,7 @@ Steamworks="*res://dev-util/steamworks.gd" PromptManager="*res://addons/input_prompts/input_prompt_manager.gd" Steam="*res://dev-util/steam.gd" Main="*res://singletons/main/main.tscn" +HardCards="*res://dev-util/hardcoded_cards.tscn" [debug] diff --git a/src/singletons/main/main.tscn b/src/singletons/main/main.tscn index ab226d1..bc967d5 100644 --- a/src/singletons/main/main.tscn +++ b/src/singletons/main/main.tscn @@ -91,6 +91,7 @@ anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +mouse_filter = 2 script = ExtResource("1_rqkns") youth_room_path = "uid://b3b0gyvklqn50" transition_room_path = "uid://fgp3s28h7msy" @@ -107,6 +108,7 @@ offset_bottom = 0.0 [node name="MainMenu" parent="." instance=ExtResource("3_ik73t")] unique_name_in_owner = true +visible = false layout_mode = 1 [node name="FPSLabel" type="Label" parent="."] diff --git a/src/tests/card_tests.tscn b/src/tests/card_tests.tscn new file mode 100644 index 0000000..b156ed5 --- /dev/null +++ b/src/tests/card_tests.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=2 format=3 uid="uid://j1g0cakfiusk"] + +[ext_resource type="PackedScene" uid="uid://dy5rd437h5hsw" path="res://logic-scenes/board/card.tscn" id="1_qc7lg"] + +[node name="CardTests" type="Node2D"] + +[node name="Card" parent="." instance=ExtResource("1_qc7lg")] +position = Vector2(1416, 350) + +[node name="Card2" parent="." instance=ExtResource("1_qc7lg")] +position = Vector2(418, 255) + +[node name="Card3" parent="." instance=ExtResource("1_qc7lg")] +position = Vector2(415, 552) + +[node name="Card4" parent="." instance=ExtResource("1_qc7lg")] +position = Vector2(877, 360)