player: add Economy integration
This commit is contained in:
parent
7a2e4111ac
commit
4402a72ce2
1 changed files with 19 additions and 1 deletions
|
|
@ -10,6 +10,7 @@ const gear_slots = ["1", "2", "3"]
|
|||
|
||||
var starting_gear = preload("res://gears/ball.tscn")
|
||||
|
||||
var ep = PlayerParticipant.new(self)
|
||||
var suspended = false
|
||||
var direction = Vector3.ZERO
|
||||
var target_velocity = Vector3.ZERO
|
||||
|
|
@ -27,13 +28,17 @@ func resize_ui():
|
|||
$HUD.position.x = 0
|
||||
$HUD.position.y = size.y - hud_h
|
||||
|
||||
func make_hud():
|
||||
func make_hud(balance = ep.balance()):
|
||||
if suspended: # TODO: CHANGE TO DEAD!
|
||||
return
|
||||
|
||||
var text = ""
|
||||
for node in $Backpack.get_children():
|
||||
if not node is Gear:
|
||||
continue
|
||||
text += "%s (%s)\n" % [node.gear_name(), node.name]
|
||||
text += "Holding " + $Pivot/Container/Gear.gear_name() + "\n"
|
||||
text += str(balance) + " ₹ (rupees)\n"
|
||||
text += str(health()) + " hp"
|
||||
$HUD.text = text
|
||||
|
||||
|
|
@ -147,6 +152,18 @@ func equip(gear: Gear):
|
|||
message("Backpack full")
|
||||
return false
|
||||
|
||||
# Economy participant definition
|
||||
|
||||
class PlayerParticipant extends Economy.Participant:
|
||||
var player: Player
|
||||
func _init(p: Player):
|
||||
player = p
|
||||
participant_name = "Player participant"
|
||||
func message(string):
|
||||
player.message(string)
|
||||
func on_balance_update(bal):
|
||||
player.make_hud(bal)
|
||||
|
||||
# Player mechanics
|
||||
|
||||
func move_player(x, z):
|
||||
|
|
@ -217,6 +234,7 @@ func do_gears():
|
|||
# Engine callbacks
|
||||
|
||||
func _ready():
|
||||
get_tree().current_scene.get_node("Economy").register(ep)
|
||||
get_viewport().size_changed.connect(resize_ui)
|
||||
resize_ui()
|
||||
respawn()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue