This commit is contained in:
Rendo 2025-12-08 21:04:18 +05:00
commit 4e8971b12d
12 changed files with 134 additions and 15 deletions

View file

@ -0,0 +1,7 @@
extends Button
@export var weapon: WeaponResource
func _ready() -> void:
icon = weapon.preview
text = str(weapon.cost)

View file

@ -0,0 +1 @@
uid://bq32y7eee1f63

View file

@ -0,0 +1,17 @@
[gd_scene load_steps=3 format=3 uid="uid://b1ej6kmbjpm78"]
[ext_resource type="Texture2D" uid="uid://dnxw4x3cmu7io" path="res://icon.svg" id="1_apu4l"]
[ext_resource type="Script" uid="uid://bq32y7eee1f63" path="res://scenes/gui/buy_menu/buy_button/buy_button.gd" id="1_impj7"]
[node name="BuyButton" type="Button"]
anchors_preset = -1
anchor_right = 0.035
anchor_bottom = 0.075
offset_right = -4.799999
offset_bottom = -14.000004
text = "3600"
icon = ExtResource("1_apu4l")
icon_alignment = 1
vertical_icon_alignment = 0
expand_icon = true
script = ExtResource("1_impj7")

View file

@ -0,0 +1,29 @@
extends ColorRect
func _ready() -> void:
Session.round_state_changed.connect(on_round_state_changed)
func on_round_state_changed(state: int) -> void:
if state != Session.ROUND_STATES.BUY:
visible = false
if visible:
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
else:
if Session.session_started_flag:
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
else:
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
func _input(event: InputEvent) -> void:
if event.is_action_pressed("plr_buy"):
if Session.round_state == Session.ROUND_STATES.BUY:
visible = not visible
else:
visible = false
if visible:
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
else:
if Session.session_started_flag:
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
else:
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE

View file

@ -0,0 +1 @@
uid://dba17sgimp4j0

View file

@ -0,0 +1,37 @@
[gd_scene load_steps=4 format=3 uid="uid://j5lgbg8c0pq"]
[ext_resource type="PackedScene" uid="uid://b1ej6kmbjpm78" path="res://scenes/gui/buy_menu/buy_button/buy_button.tscn" id="1_8guql"]
[ext_resource type="Script" uid="uid://dba17sgimp4j0" path="res://scenes/gui/buy_menu/buy_menu.gd" id="1_ko0fn"]
[ext_resource type="Resource" uid="uid://b081hg7uxx1wu" path="res://weapons/molikman_molotov.tres" id="2_0gws3"]
[node name="BuyMenu" type="ColorRect"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 0.22745098)
script = ExtResource("1_ko0fn")
[node name="CenterContainer" type="CenterContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
[node name="PanelContainer" type="PanelContainer" parent="CenterContainer"]
layout_mode = 2
[node name="WeaponsContainer" type="GridContainer" parent="CenterContainer/PanelContainer"]
layout_mode = 2
columns = 5
[node name="AbilitiesContainer" type="VBoxContainer" parent="CenterContainer/PanelContainer"]
layout_mode = 2
[node name="BuyButton" parent="CenterContainer/PanelContainer/AbilitiesContainer" instance=ExtResource("1_8guql")]
layout_mode = 2
weapon = ExtResource("2_0gws3")

View file

@ -8769,13 +8769,13 @@ script = ExtResource("10_a8ls1")
max_speed = 6.0
acceleration = 100.0
deceleration = 50.0
step_delay = 0.25
step_speed_curve = SubResource("Curve_fbysy")
player = NodePath("../..")
player_movement = NodePath("../../PlayerMovement")
player_input = NodePath("../../PlayerInput")
weapon_system = NodePath("../../WeaponSystem")
audio = NodePath("../../StepAudio")
step_delay = 0.25
step_speed_curve = SubResource("Curve_fbysy")
[node name="Walk" type="Node" parent="BodyStateMachine" node_paths=PackedStringArray("player", "player_movement", "player_input", "weapon_system")]
script = ExtResource("11_qfm1y")
@ -8789,10 +8789,10 @@ weapon_system = NodePath("../../WeaponSystem")
[node name="Fall" type="Node" parent="BodyStateMachine" node_paths=PackedStringArray("player", "player_movement", "player_input", "weapon_system", "land_sound")]
script = ExtResource("12_fulsm")
acceleration = 25.0
player = NodePath("../..")
player_movement = NodePath("../../PlayerMovement")
player_input = NodePath("../../PlayerInput")
acceleration = 25.0
weapon_system = NodePath("../../WeaponSystem")
land_sound = NodePath("../../LandAudio")
@ -8802,9 +8802,9 @@ animation_player = NodePath("../../AnimationPlayer")
[node name="PlayerMovement" type="Node" parent="." node_paths=PackedStringArray("player", "player_input")]
script = ExtResource("19_70eug")
jump_velocity = 12.0
player = NodePath("..")
player_input = NodePath("../PlayerInput")
jump_velocity = 12.0
[node name="WeaponSystem" type="Node" parent="." node_paths=PackedStringArray("animation_player", "camera", "player", "player_input")]
script = ExtResource("4_qlg0r")
@ -8829,9 +8829,9 @@ libraries = {
[node name="TeamUpdater" type="Node" parent="." node_paths=PackedStringArray("player")]
script = ExtResource("7_a8ls1")
player = NodePath("..")
layer = true
inverse = true
player = NodePath("..")
[node name="PickupRange" type="Area3D" parent="." node_paths=PackedStringArray("weapon_spawner", "weapon_system")]
collision_layer = 0
@ -8847,8 +8847,8 @@ shape = SubResource("CapsuleShape3D_3xmak")
[node name="TeamMaterialSwitcher" type="Node" parent="." node_paths=PackedStringArray("player")]
script = ExtResource("25_1mtds")
material = ExtResource("26_r2jxp")
blue_team_texture = ExtResource("27_j3w78")
player = NodePath("..")
blue_team_texture = ExtResource("27_j3w78")
[node name="Interaction" type="Node" parent="."]
script = ExtResource("37_5amik")
@ -8859,11 +8859,12 @@ script = ExtResource("37_b2eak")
[connection signal="died" from="." to="molikman_ingame/PlayerBasedVisibility" method="reverse_if_own"]
[connection signal="died" from="." to="Camera3D" method="disable"]
[connection signal="died" from="." to="Camera3D/molikman_hands/PlayerBasedVisibility" method="reverse_if_own"]
[connection signal="died" from="." to="Camera3D/DeadSpectator" method="set_active"]
[connection signal="died" from="." to="BodyStateMachine/Death" method="on_death"]
[connection signal="died" from="." to="PlayerMovement" method="disable"]
[connection signal="died" from="." to="WeaponSystem" method="disable"]
[connection signal="died" from="." to="Camera3D/molikman_hands/PlayerBasedVisibility" method="reverse_if_own"]
[connection signal="died" from="." to="PickupRange" method="disable"]
[connection signal="health_changed" from="." to="HUD/Healthbar" method="on_hp_changed"]
[connection signal="ammo_updated" from="WeaponSystem" to="HUD/AmmoDisplay" method="on_ammo_updated"]
[connection signal="interact_begin" from="PlayerInput" to="Interaction" method="on_player_start_interacting"]