Shop
This commit is contained in:
parent
06c5fea9bd
commit
cd20f952ce
6 changed files with 116 additions and 68 deletions
|
|
@ -7,9 +7,10 @@ func _ready() -> void:
|
|||
text = str(weapon.cost)
|
||||
|
||||
func _pressed() -> void:
|
||||
var player_data = Session.get_player_data()
|
||||
if player_data["money"] >= weapon.cost:
|
||||
var player: Player = Session.player_nodes[multiplayer.get_unique_id()]
|
||||
|
||||
player_data["money"] -= weapon.cost
|
||||
player.get_node("WeaponSystem").add(weapon.weapon_system_scene.instantiate(),"ability_first")
|
||||
try_server_buy.rpc_id(1)
|
||||
|
||||
@rpc("any_peer","call_local","reliable")
|
||||
func try_server_buy() -> void:
|
||||
if not multiplayer.is_server():
|
||||
return
|
||||
Shop.buy(multiplayer.get_remote_sender_id(),weapon)
|
||||
|
|
|
|||
29
gui/buy_menu/shop.gd
Normal file
29
gui/buy_menu/shop.gd
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
extends Node
|
||||
|
||||
|
||||
func can_buy(player_id: int,weapon: WeaponResource) -> bool:
|
||||
return Session.player_data[player_id]["money"] >= weapon.cost
|
||||
|
||||
func buy(player_id: int, weapon: WeaponResource) -> void:
|
||||
if not multiplayer.is_server() or can_buy(player_id,weapon) == false:
|
||||
return
|
||||
|
||||
var player: Player = Session.player_nodes[player_id]
|
||||
if player.hp == 0:
|
||||
return
|
||||
|
||||
var weapon_system: WeaponSystem = player.get_node("%WeaponSystem")
|
||||
var slot: StringName = ""
|
||||
match weapon.slot:
|
||||
"ability":
|
||||
slot = weapon_system.get_empty_ability_slot()
|
||||
var anything:
|
||||
slot = anything
|
||||
|
||||
if not weapon_system.can_add(slot):
|
||||
return
|
||||
|
||||
var player_data = Session.player_data[player_id]
|
||||
player_data["money"] -= weapon.cost
|
||||
|
||||
weapon_system.add(weapon.weapon_system_scene.instantiate(),slot)
|
||||
1
gui/buy_menu/shop.gd.uid
Normal file
1
gui/buy_menu/shop.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://hyldsai23dh4
|
||||
Loading…
Add table
Add a link
Reference in a new issue