WIP: economy: add money system #7
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 starting_gear = preload("res://gears/ball.tscn")
|
||||||
|
|
||||||
|
var ep = PlayerParticipant.new(self)
|
||||||
var suspended = false
|
var suspended = false
|
||||||
var direction = Vector3.ZERO
|
var direction = Vector3.ZERO
|
||||||
var target_velocity = Vector3.ZERO
|
var target_velocity = Vector3.ZERO
|
||||||
|
|
@ -27,13 +28,17 @@ func resize_ui():
|
||||||
$HUD.position.x = 0
|
$HUD.position.x = 0
|
||||||
$HUD.position.y = size.y - hud_h
|
$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 = ""
|
var text = ""
|
||||||
for node in $Backpack.get_children():
|
for node in $Backpack.get_children():
|
||||||
if not node is Gear:
|
if not node is Gear:
|
||||||
continue
|
continue
|
||||||
text += "%s (%s)\n" % [node.gear_name(), node.name]
|
text += "%s (%s)\n" % [node.gear_name(), node.name]
|
||||||
text += "Holding " + $Pivot/Container/Gear.gear_name() + "\n"
|
text += "Holding " + $Pivot/Container/Gear.gear_name() + "\n"
|
||||||
|
text += str(balance) + " ₹ (rupees)\n"
|
||||||
text += str(health()) + " hp"
|
text += str(health()) + " hp"
|
||||||
$HUD.text = text
|
$HUD.text = text
|
||||||
|
|
||||||
|
|
@ -147,6 +152,18 @@ func equip(gear: Gear):
|
||||||
message("Backpack full")
|
message("Backpack full")
|
||||||
return false
|
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
|
# Player mechanics
|
||||||
|
|
||||||
func move_player(x, z):
|
func move_player(x, z):
|
||||||
|
|
@ -217,6 +234,7 @@ func do_gears():
|
||||||
# Engine callbacks
|
# Engine callbacks
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
|
get_tree().current_scene.get_node("Economy").register(ep)
|
||||||
get_viewport().size_changed.connect(resize_ui)
|
get_viewport().size_changed.connect(resize_ui)
|
||||||
resize_ui()
|
resize_ui()
|
||||||
respawn()
|
respawn()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue