Files
ClickerGacha/User Interface/Header.gd

275 lines
8.4 KiB
GDScript

extends Control
var score = 0
var clickAdd = 1
var scorePerSec = 1
var scoreMultiplier = 1
#Click Upgrades Costs
var clickUpgradeReq1 = 10
var clickUpgradeReq10 = 100
var clickUpgradeReq20 = 1000
var clickUpgradeReq40 = 10000
var clickUpgradeReq60 = 100000
var clickUpgradeReq80 = 1000000
var clickUpgradeReq100 = 10000000
var clickUpgradeReq200 = 100000000
var clickUpgradeReq400 = 1000000000
# Click Upgrades Amount
var clickUpgradeAmt1 = 1
var clickUpgradeAmt10 = 10
var clickUpgradeAmt20 = 20
var clickUpgradeAmt40 = 40
var clickUpgradeAmt60 = 60
var clickUpgradeAmt80 = 80
var clickUpgradeAmt100 = 100
var clickUpgradeAmt200 = 200
var clickUpgradeAmt400 = 400
# Passive Upgrades Costs
var passiveUpgradeReq2 = 100
var passiveUpgradeReq10 = 1000
var passiveUpgradeReq20 = 10000
var passiveUpgradeReq50 = 100000
var passiveUpgradeReq100 = 1000000
var passiveUpgradeReq200 = 10000000
var passiveUpgradeReq500 = 100000000
var passiveUpgradeReq1000 = 1000000000
var passiveUpgradeReq10000 = 10000000000
# Passive Upgrades Amount
var passiveUpgradeAmt2 = 2
var passiveUpgradeAmt10 = 10
var passiveUpgradeAmt20 = 20
var passiveUpgradeAmt50 = 50
var passiveUpgradeAmt100 = 100
var passiveUpgradeAmt200 = 200
var passiveUpgradeAmt500 = 500
var passiveUpgradeAmt1000 = 1000
var passiveUpgradeAmt10000 = 10000
# Called when the node enters the scene tree for the first time.
func _ready():
$ClickUpgrades.get_popup().connect("id_pressed",clickUpgrade)
$PassiveUpgrades.get_popup().connect("id_pressed",passiveUpgrade)
$Timer.connect("timeout", _on_Timer_timeout)
#Prints all input events, only for debugging
#func _input(event):
#print(event.as_text())
func _on_Timer_timeout():
Global.globalScore += Global.globalScorePerSec * Global.globalScoreMultiplier
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
#Displays normal numbers until commas are needed
if Global.globalScore > 999:
$Score.text = str(scoreFormat(score))
else:
$Score.text = str(Global.globalScore) #Changes the score number
$ClickAdd.text = str(Global.globalClickAdd)
$PerSec.text = str(Global.globalScorePerSec)
#Pulls the global score data to keep it up to date
#score = Global.globalScore
#Global.globalClickAdd = Global.globalClickAdd
#scorePerSec = Global.globalScorePerSec
#scoreMultiplier = Global.globalScoreMultiplier
#Stores the score stats in a global variable to be called in other scenes
#Global.globalScore = score
#Global.globalClickAdd = Global.globalClickAdd
#Global.globalScorePerSec = scorePerSec
#Global.globalScoreMultiplier = scoreMultiplier
#Get the current status of any screens needed
var teamScreen = get_node(Global.teamScreenPath)
teamScreen.visible = Global.teamScreenVisible
var teamSelection = get_node(Global.teamSelectionPath)
teamSelection.visible = Global.teamSelectionVisible
#This checks any input that comes in
func _input(event):
#Function to record every left click as a "Click" to add to the score
if event.is_action_pressed("left_mouse"):
leftClick()
#_on_button_pressed()
#Formats the score string so commas are inserted
func scoreFormat(score):
# Convert value to string.
var str_value: String = str(Global.globalScore)
# Loop backward starting at the last 3 digits,
# add comma then, repeat every 3rd step.
for i in range(str_value.length()-3, 0, -3):
str_value = str_value.insert(i, ",")
score = str_value
return score
func leftClick():
Global.globalScore += Global.globalClickAdd * Global.globalScoreMultiplier
func clickUpgrade(id):
match id:
0:
if Global.globalScore >= clickUpgradeReq1:
print ("Score sufficient")
Global.globalScore -=clickUpgradeReq1
$ClickUpgrades.get_popup().set_item_disabled(id, true)
Global.globalClickAdd += clickUpgradeAmt1
else:
print("not enough score")
1:
if Global.globalScore >= clickUpgradeReq10:
print ("Score sufficient")
Global.globalScore -=clickUpgradeReq10
$ClickUpgrades.get_popup().set_item_disabled(id, true)
Global.globalClickAdd += clickUpgradeAmt10
else:
print("not enough score")
2:
if Global.globalScore >= clickUpgradeReq20:
print ("Score sufficient")
Global.globalScore -=clickUpgradeReq20
$ClickUpgrades.get_popup().set_item_disabled(id, true)
Global.globalClickAdd += clickUpgradeAmt20
else:
print("not enough score")
3:
if Global.globalScore >= clickUpgradeReq40:
print ("Score sufficient")
Global.globalScore -=clickUpgradeReq40
$ClickUpgrades.get_popup().set_item_disabled(id, true)
Global.globalClickAdd += clickUpgradeAmt40
else:
print("not enough score")
4:
if Global.globalScore >= clickUpgradeReq60:
print ("Score sufficient")
Global.globalScore -=clickUpgradeReq60
$ClickUpgrades.get_popup().set_item_disabled(id, true)
Global.globalClickAdd += clickUpgradeAmt60
else:
print("not enough score")
5:
if Global.globalScore >= clickUpgradeReq80:
print ("Score sufficient")
Global.globalScore -=clickUpgradeReq80
$ClickUpgrades.get_popup().set_item_disabled(id, true)
Global.globalClickAdd += clickUpgradeAmt80
else:
print("not enough score")
6:
if Global.globalScore >= clickUpgradeReq100:
print ("Score sufficient")
Global.globalScore -=clickUpgradeReq100
$ClickUpgrades.get_popup().set_item_disabled(id, true)
Global.globalClickAdd += clickUpgradeAmt100
else:
print("not enough score")
7:
if Global.globalScore >= clickUpgradeReq200:
print ("Score sufficient")
Global.globalScore -=clickUpgradeReq200
$ClickUpgrades.get_popup().set_item_disabled(id, true)
Global.globalClickAdd += clickUpgradeAmt200
else:
print("not enough score")
8:
if Global.globalScore >= clickUpgradeReq400:
print ("Score sufficient")
Global.globalScore -=clickUpgradeReq400
$ClickUpgrades.get_popup().set_item_disabled(id, true)
Global.globalClickAdd += clickUpgradeAmt400
else:
print("not enough score")
func passiveUpgrade(id):
match id:
0:
if Global.globalScore >= passiveUpgradeReq2:
print ("Score sufficient")
Global.globalScore -=passiveUpgradeReq2
$PassiveUpgrades.get_popup().set_item_disabled(id, true)
Global.globalScorePerSec = passiveUpgradeAmt2
else:
print("not enough score")
1:
if Global.globalScore >= passiveUpgradeReq10:
print ("Score sufficient")
Global.globalScore -=passiveUpgradeReq10
$PassiveUpgrades.get_popup().set_item_disabled(id, true)
Global.globalScorePerSec = passiveUpgradeAmt10
else:
print("not enough score")
2:
if Global.globalScore >= passiveUpgradeReq20:
print ("Score sufficient")
Global.globalScore -=passiveUpgradeReq20
$PassiveUpgrades.get_popup().set_item_disabled(id, true)
Global.globalScorePerSec = passiveUpgradeAmt20
else:
print("not enough score")
3:
if Global.globalScore >= passiveUpgradeReq50:
print ("Score sufficient")
Global.globalScore -=passiveUpgradeReq50
$PassiveUpgrades.get_popup().set_item_disabled(id, true)
Global.globalScorePerSec = passiveUpgradeAmt50
else:
print("not enough score")
4:
if Global.globalScore >= passiveUpgradeReq100:
print ("Score sufficient")
Global.globalScore -=passiveUpgradeReq100
$PassiveUpgrades.get_popup().set_item_disabled(id, true)
Global.globalScorePerSec = passiveUpgradeAmt100
else:
print("not enough score")
5:
if Global.globalScore >= passiveUpgradeReq200:
print ("Score sufficient")
Global.globalScore -=passiveUpgradeReq200
$PassiveUpgrades.get_popup().set_item_disabled(id, true)
Global.globalScorePerSec = passiveUpgradeAmt200
else:
print("not enough score")
6:
if Global.globalScore >= passiveUpgradeReq500:
print ("Score sufficient")
Global.globalScore -=passiveUpgradeReq500
$PassiveUpgrades.get_popup().set_item_disabled(id, true)
Global.globalScorePerSec = passiveUpgradeAmt500
else:
print("not enough score")
7:
if Global.globalScore >= passiveUpgradeReq1000:
print ("Score sufficient")
Global.globalScore -=passiveUpgradeReq1000
$PassiveUpgrades.get_popup().set_item_disabled(id, true)
Global.globalScorePerSec = passiveUpgradeAmt1000
else:
print("not enough score")
8:
if Global.globalScore >= passiveUpgradeReq10000:
print ("Score sufficient")
Global.globalScore -=passiveUpgradeReq10000
$PassiveUpgrades.get_popup().set_item_disabled(id, true)
Global.globalScorePerSec = passiveUpgradeAmt10000
else:
print("not enough score")