diff --git a/art_collector.gd b/art_collector.gd new file mode 100644 index 0000000..c5427c1 --- /dev/null +++ b/art_collector.gd @@ -0,0 +1,12 @@ +class_name ArtCollector extends Node2D + +func _ready() -> void: + $ArtCollectorAnimations.set_frame(randi_range(0, 16)) + +func normal_paddle(): + $ArtCollectorAnimations.play("NormalPaddle") + $ArtCollectorAnimations.play("Idle") + +func critical_paddle(): + $ArtCollectorAnimations.play("CriticalPaddle") + $ArtCollectorAnimations.play("Idle") diff --git a/art_collector.gd.uid b/art_collector.gd.uid new file mode 100644 index 0000000..2b8d69e --- /dev/null +++ b/art_collector.gd.uid @@ -0,0 +1 @@ +uid://bbi0th2aq426c diff --git a/art_collector.tscn b/art_collector.tscn new file mode 100644 index 0000000..cfe51d0 --- /dev/null +++ b/art_collector.tscn @@ -0,0 +1,355 @@ +[gd_scene load_steps=47 format=3 uid="uid://dnuvh3k5qxs63"] + +[ext_resource type="Script" uid="uid://bbi0th2aq426c" path="res://art_collector.gd" id="1_dsoqt"] +[ext_resource type="Texture2D" uid="uid://clrqm1hxhq7ru" path="res://assets/character/collector.png" id="1_y6o5m"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_5k0jt"] +atlas = ExtResource("1_y6o5m") +region = Rect2(0, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4aodv"] +atlas = ExtResource("1_y6o5m") +region = Rect2(90, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fwhb1"] +atlas = ExtResource("1_y6o5m") +region = Rect2(180, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xk6fr"] +atlas = ExtResource("1_y6o5m") +region = Rect2(270, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ys5sc"] +atlas = ExtResource("1_y6o5m") +region = Rect2(360, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vp5vb"] +atlas = ExtResource("1_y6o5m") +region = Rect2(450, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4o6uv"] +atlas = ExtResource("1_y6o5m") +region = Rect2(540, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_pabkp"] +atlas = ExtResource("1_y6o5m") +region = Rect2(630, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_t2a8s"] +atlas = ExtResource("1_y6o5m") +region = Rect2(720, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ypxfg"] +atlas = ExtResource("1_y6o5m") +region = Rect2(0, 220, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6cx6j"] +atlas = ExtResource("1_y6o5m") +region = Rect2(90, 220, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wrdlt"] +atlas = ExtResource("1_y6o5m") +region = Rect2(180, 220, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_unhb4"] +atlas = ExtResource("1_y6o5m") +region = Rect2(270, 220, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_pcdte"] +atlas = ExtResource("1_y6o5m") +region = Rect2(360, 220, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_h2xbm"] +atlas = ExtResource("1_y6o5m") +region = Rect2(450, 220, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6btbk"] +atlas = ExtResource("1_y6o5m") +region = Rect2(540, 220, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cbt5b"] +atlas = ExtResource("1_y6o5m") +region = Rect2(630, 220, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rhx06"] +atlas = ExtResource("1_y6o5m") +region = Rect2(90, 0, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mrkjv"] +atlas = ExtResource("1_y6o5m") +region = Rect2(180, 0, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_exac8"] +atlas = ExtResource("1_y6o5m") +region = Rect2(270, 0, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_66dsl"] +atlas = ExtResource("1_y6o5m") +region = Rect2(360, 0, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ts365"] +atlas = ExtResource("1_y6o5m") +region = Rect2(450, 0, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ey2ro"] +atlas = ExtResource("1_y6o5m") +region = Rect2(540, 0, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ll7iv"] +atlas = ExtResource("1_y6o5m") +region = Rect2(630, 0, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mmkm2"] +atlas = ExtResource("1_y6o5m") +region = Rect2(720, 0, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_72d1y"] +atlas = ExtResource("1_y6o5m") +region = Rect2(810, 0, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_e0u8v"] +atlas = ExtResource("1_y6o5m") +region = Rect2(900, 0, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_h8q2l"] +atlas = ExtResource("1_y6o5m") +region = Rect2(990, 0, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_clqv4"] +atlas = ExtResource("1_y6o5m") +region = Rect2(1080, 0, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_r2yan"] +atlas = ExtResource("1_y6o5m") +region = Rect2(1170, 0, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0tay8"] +atlas = ExtResource("1_y6o5m") +region = Rect2(1260, 0, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7rkuu"] +atlas = ExtResource("1_y6o5m") +region = Rect2(1350, 0, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_001ig"] +atlas = ExtResource("1_y6o5m") +region = Rect2(0, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s0ysq"] +atlas = ExtResource("1_y6o5m") +region = Rect2(90, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qu68o"] +atlas = ExtResource("1_y6o5m") +region = Rect2(0, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hjko3"] +atlas = ExtResource("1_y6o5m") +region = Rect2(90, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1eaa2"] +atlas = ExtResource("1_y6o5m") +region = Rect2(180, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vjlcg"] +atlas = ExtResource("1_y6o5m") +region = Rect2(270, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dkjal"] +atlas = ExtResource("1_y6o5m") +region = Rect2(360, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_46kx7"] +atlas = ExtResource("1_y6o5m") +region = Rect2(450, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ln6f4"] +atlas = ExtResource("1_y6o5m") +region = Rect2(540, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hvqxv"] +atlas = ExtResource("1_y6o5m") +region = Rect2(630, 110, 90, 110) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3sebk"] +atlas = ExtResource("1_y6o5m") +region = Rect2(720, 110, 90, 110) + +[sub_resource type="SpriteFrames" id="SpriteFrames_5k0jt"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_5k0jt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4aodv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fwhb1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xk6fr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ys5sc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vp5vb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4o6uv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_pabkp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_t2a8s") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ypxfg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6cx6j") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wrdlt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_unhb4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_pcdte") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_h2xbm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6btbk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cbt5b") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_pabkp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_t2a8s") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_t2a8s") +}], +"loop": false, +"name": &"CriticalPaddle", +"speed": 24.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_rhx06") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mrkjv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_exac8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_66dsl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ts365") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ey2ro") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ll7iv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mmkm2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_72d1y") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_e0u8v") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_h8q2l") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_clqv4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_r2yan") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0tay8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7rkuu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_001ig") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s0ysq") +}], +"loop": true, +"name": &"Idle", +"speed": 24.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_qu68o") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hjko3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1eaa2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vjlcg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_dkjal") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_46kx7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ln6f4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hvqxv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3sebk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3sebk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3sebk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3sebk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3sebk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3sebk") +}], +"loop": false, +"name": &"NormalPaddle", +"speed": 24.0 +}] + +[node name="ArtCollector" type="Node2D"] +script = ExtResource("1_dsoqt") + +[node name="ArtCollectorAnimations" type="AnimatedSprite2D" parent="."] +sprite_frames = SubResource("SpriteFrames_5k0jt") +animation = &"Idle" +autoplay = "Idle" diff --git a/assets/amiga4ever pro.ttf b/assets/amiga4ever pro.ttf new file mode 100644 index 0000000..63bf214 Binary files /dev/null and b/assets/amiga4ever pro.ttf differ diff --git a/assets/amiga4ever pro.ttf.import b/assets/amiga4ever pro.ttf.import new file mode 100644 index 0000000..0f2b37d --- /dev/null +++ b/assets/amiga4ever pro.ttf.import @@ -0,0 +1,36 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://cm28kqtqj3a6n" +path="res://.godot/imported/amiga4ever pro.ttf-0f37dd9bcb138608a27995e7f8e322c9.fontdata" + +[deps] + +source_file="res://assets/amiga4ever pro.ttf" +dest_files=["res://.godot/imported/amiga4ever pro.ttf-0f37dd9bcb138608a27995e7f8e322c9.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +disable_embedded_bitmaps=true +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +modulate_color_glyphs=false +hinting=1 +subpixel_positioning=4 +keep_rounding_remainders=true +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/assets/character/collector.png b/assets/character/collector.png new file mode 100644 index 0000000..dc67a64 Binary files /dev/null and b/assets/character/collector.png differ diff --git a/assets/character/collector.png.import b/assets/character/collector.png.import new file mode 100644 index 0000000..6254a5f --- /dev/null +++ b/assets/character/collector.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://clrqm1hxhq7ru" +path="res://.godot/imported/collector.png-1c0bdf7356757c6ee2eefeec3d609b26.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/character/collector.png" +dest_files=["res://.godot/imported/collector.png-1c0bdf7356757c6ee2eefeec3d609b26.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 diff --git a/audience_manager.gd b/audience_manager.gd index 670aacf..1822cfa 100644 --- a/audience_manager.gd +++ b/audience_manager.gd @@ -37,10 +37,10 @@ func raise_paddle(): func _handle_bid_delay_timeout(): - if randf_range(1.2, 5.3) >= bid_threshold and game_manager.state != game_manager.bidding_state.CLOSED: - raise_paddle() - - timer.stop() + if game_manager.state == game_manager.bidding_state.ASKING: + if randf_range(1.2, 5.3) >= bid_threshold: + raise_paddle() + timer.stop() func _handle_ask_proposed(amount): current_ask = amount diff --git a/audience_manager.tscn b/audience_manager.tscn index 323fa67..8a60c01 100644 --- a/audience_manager.tscn +++ b/audience_manager.tscn @@ -1,11 +1,38 @@ -[gd_scene load_steps=2 format=3 uid="uid://c1acpop6amvcl"] +[gd_scene load_steps=5 format=3 uid="uid://c1acpop6amvcl"] [ext_resource type="Script" uid="uid://b1p0muntqup8a" path="res://audience_manager.gd" id="1_pl31w"] +[ext_resource type="Texture2D" uid="uid://cpj3xw8js3h3" path="res://assets/chairs/chairs_back.png" id="2_rhx06"] +[ext_resource type="PackedScene" uid="uid://dnuvh3k5qxs63" path="res://art_collector.tscn" id="3_rhx06"] +[ext_resource type="Texture2D" uid="uid://d03ot1f34pyhu" path="res://assets/chairs/chairs_front.png" id="4_mrkjv"] -[node name="AudienceManager" type="Node2D" node_paths=PackedStringArray("desk", "timer", "game_manager")] +[node name="AudienceManager" type="Node2D" node_paths=PackedStringArray("timer")] script = ExtResource("1_pl31w") -desk = NodePath("") timer = NodePath("BidDelayTimer") -game_manager = NodePath("") + +[node name="Chairs" type="Node2D" parent="."] + +[node name="ChairsBack" type="Sprite2D" parent="Chairs"] +position = Vector2(640, 360) +texture = ExtResource("2_rhx06") [node name="BidDelayTimer" type="Timer" parent="."] +one_shot = true + +[node name="ArtCollector" parent="." instance=ExtResource("3_rhx06")] +position = Vector2(182, 135) + +[node name="ArtCollector2" parent="." instance=ExtResource("3_rhx06")] +position = Vector2(415, 135) + +[node name="ArtCollector3" parent="." instance=ExtResource("3_rhx06")] +position = Vector2(668, 135) + +[node name="ChairsFront" type="Sprite2D" parent="."] +position = Vector2(640, 360) +texture = ExtResource("4_mrkjv") + +[node name="ArtCollector4" parent="." instance=ExtResource("3_rhx06")] +position = Vector2(252, 157) + +[node name="ArtCollector5" parent="." instance=ExtResource("3_rhx06")] +position = Vector2(589, 157) diff --git a/desk.tscn b/desk.tscn index 8766d1b..ed0558c 100644 --- a/desk.tscn +++ b/desk.tscn @@ -177,6 +177,7 @@ button_value = 11 [node name="ReminderTimer" type="Timer" parent="Numpad"] wait_time = 7.0 +one_shot = true [node name="ErrorSoundPlayer" type="AudioStreamPlayer2D" parent="Numpad"] stream = ExtResource("31_v5y5a") diff --git a/game_manager.gd b/game_manager.gd index d822d76..ed94ded 100644 --- a/game_manager.gd +++ b/game_manager.gd @@ -66,10 +66,12 @@ func _handle_gavel_hit(): if state == bidding_state.CLOSED: state = bidding_state.READY print(str(state)) + current_bid_display.set_text("Starting price: $" + str(starting_price)) elif state == bidding_state.ASKING: if current_bid != 0: state = bidding_state.CLOSED desk.numpad.reminder_timer.stop() + current_bid_display.set_text("Sold for $" + str(current_bid) + "!") sell_painting() print("Congrats on selling your painting for $" + str(current_bid) + "! You have made $" + str(total_sales) + " so far.") current_painting += 1 @@ -102,7 +104,7 @@ func next_painting(a: int): new_painting_displayed.emit() func _handle_ask_accepted(): - current_bid_display.set_text(str(current_bid)) + current_bid_display.set_text("Current bid: $" + str(current_bid)) func end_auction(): #add in logic for displaying/transitioning to score screen diff --git a/main.tscn b/main.tscn index f4bdae1..327919a 100644 --- a/main.tscn +++ b/main.tscn @@ -1,14 +1,17 @@ -[gd_scene load_steps=9 format=3 uid="uid://dt4nq0nkmjiit"] +[gd_scene load_steps=10 format=3 uid="uid://dt4nq0nkmjiit"] [ext_resource type="Script" uid="uid://b5tcsve1oo5ht" path="res://game_manager.gd" id="1_ig7tw"] [ext_resource type="Texture2D" uid="uid://cvqsf1nlfqwpr" path="res://assets/background/background.png" id="1_lquwl"] [ext_resource type="PackedScene" uid="uid://bohp0o2smdkwe" path="res://desk.tscn" id="2_0xm2m"] +[ext_resource type="FontFile" uid="uid://cm28kqtqj3a6n" path="res://assets/amiga4ever pro.ttf" id="2_5vw27"] [ext_resource type="Texture2D" uid="uid://cpj3xw8js3h3" path="res://assets/chairs/chairs_back.png" id="2_7mycd"] [ext_resource type="Texture2D" uid="uid://d03ot1f34pyhu" path="res://assets/chairs/chairs_front.png" id="3_272bh"] [ext_resource type="PackedScene" uid="uid://c1acpop6amvcl" path="res://audience_manager.tscn" id="6_272bh"] [ext_resource type="PackedScene" uid="uid://b8key4hjaldui" path="res://turn_manager.tscn" id="7_272bh"] [sub_resource type="Theme" id="Theme_272bh"] +default_font = ExtResource("2_5vw27") +default_font_size = 12 [node name="Node2D" type="Node2D"] @@ -16,22 +19,6 @@ position = Vector2(640, 360) texture = ExtResource("1_lquwl") -[node name="UI" type="Control" parent="."] -layout_mode = 3 -anchors_preset = 0 -offset_right = 1280.0 -offset_bottom = 720.0 - -[node name="RichTextLabel" type="RichTextLabel" parent="UI"] -layout_mode = 0 -offset_left = 480.0 -offset_top = 434.0 -offset_right = 796.0 -offset_bottom = 457.0 -theme = SubResource("Theme_272bh") -horizontal_alignment = 1 -vertical_alignment = 1 - [node name="Chairs" type="Node2D" parent="."] [node name="ChairsBack" type="Sprite2D" parent="Chairs"] @@ -57,6 +44,21 @@ game_manager = NodePath("../GameManager") turn_manager = NodePath("../TurnManager") audience_manager = NodePath("../AudienceManager") +[node name="UI" type="Control" parent="."] +layout_mode = 3 +anchors_preset = 0 + +[node name="RichTextLabel" type="RichTextLabel" parent="UI"] +layout_mode = 0 +offset_left = 480.0 +offset_top = 434.0 +offset_right = 796.0 +offset_bottom = 457.0 +theme = SubResource("Theme_272bh") +text = "Current Bid: $0" +horizontal_alignment = 1 +vertical_alignment = 1 + [node name="AudienceManager" parent="." node_paths=PackedStringArray("desk", "game_manager") instance=ExtResource("6_272bh")] desk = NodePath("../Desk") game_manager = NodePath("../GameManager")