45 lines
1.1 KiB
GDScript
45 lines
1.1 KiB
GDScript
extends Node2D
|
|
|
|
var player_score = 0
|
|
var player_name = "Unknown"
|
|
|
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
func _ready():
|
|
player_name = get_player_name()
|
|
update_player_text()
|
|
|
|
# Update the score text when the score changes
|
|
func update_score_text():
|
|
var score_text = "Score: {score}".format({"score": player_score})
|
|
$ButtonContainer/PlayerScore.text = score_text
|
|
|
|
func update_player_text():
|
|
var player_text = "Hello {name}".format({"name": player_name})
|
|
$ButtonContainer/PlayerName.text = player_text
|
|
|
|
func _on_ClickerButton_pressed():
|
|
player_score += 5
|
|
update_score_text()
|
|
|
|
# Are we running in the web?
|
|
func is_web_env():
|
|
return OS.has_feature('JavaScript')
|
|
|
|
# Get the player name from the HTML shell
|
|
func get_player_name():
|
|
var name = "Unknown"
|
|
if is_web_env():
|
|
name = JavaScript.eval("getPlayerName()")
|
|
return name
|
|
|
|
func exit_game(score):
|
|
if is_web_env():
|
|
JavaScript.eval("finishGame({score})".format({"score": score}))
|
|
else:
|
|
get_tree().quit()
|
|
|
|
|
|
func _on_QuitButton_pressed():
|
|
exit_game(player_score)
|