feat: add upgrade UI + connect it
This commit is contained in:
parent
4303b430ac
commit
c467282cfb
13 changed files with 177 additions and 82 deletions
|
|
@ -25,15 +25,9 @@ func _ready() -> void:
|
|||
troopTimer.timeout.connect(spawnTroop)
|
||||
|
||||
|
||||
func onProjectileShooted(projectile: Projectile, startPosition: Vector3) -> void:
|
||||
add_child(projectile)
|
||||
projectile.global_position = startPosition
|
||||
|
||||
|
||||
func changeState(newState: STATE) -> void:
|
||||
match newState:
|
||||
STATE.SPAWN when [STATE.IDLE, STATE.WAVE_END].has(state):
|
||||
state = newState
|
||||
func _input(event: InputEvent) -> void:
|
||||
if event.is_action_pressed("spawn_next_wave"):
|
||||
changeState(STATE.SPAWN)
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
|
|
@ -55,6 +49,12 @@ func _process(_delta: float) -> void:
|
|||
state = STATE.SPAWN
|
||||
|
||||
|
||||
func changeState(newState: STATE) -> void:
|
||||
match newState:
|
||||
STATE.SPAWN when [STATE.IDLE, STATE.WAVE_END].has(state):
|
||||
state = newState
|
||||
|
||||
|
||||
func spawnNextWave() -> void:
|
||||
currentTroopIdx = 0
|
||||
wave += 1
|
||||
|
|
@ -126,3 +126,8 @@ func addMap(mapScene : PackedScene) -> void:
|
|||
Game.money = level.startingMoney
|
||||
Game.allowedTowers = level.allowedTowers
|
||||
state = STATE.SPAWN if level.auto_start else STATE.IDLE
|
||||
|
||||
|
||||
func onProjectileShooted(projectile: Projectile, startPosition: Vector3) -> void:
|
||||
add_child(projectile)
|
||||
projectile.global_position = startPosition
|
||||
|
|
|
|||
|
|
@ -24,54 +24,54 @@ radius = 5.0
|
|||
script = ExtResource("5_wvh05")
|
||||
type = 0
|
||||
icon = ExtResource("6_wnw3f")
|
||||
text = "Upgrade"
|
||||
text = "Max energy"
|
||||
baseCost = 50
|
||||
value = 50.0
|
||||
maxLevel = -1
|
||||
upgradeDirection = 1
|
||||
upgradeScaleType = 0
|
||||
costScaleType = 0
|
||||
costModificator = 0.0
|
||||
costScaleType = 1
|
||||
costModificator = 10.0
|
||||
metadata/_custom_type_script = "uid://bg0x4egeu17qb"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_556ww"]
|
||||
script = ExtResource("5_wvh05")
|
||||
type = 1
|
||||
icon = ExtResource("6_wnw3f")
|
||||
text = "Upgrade"
|
||||
baseCost = 50
|
||||
text = "Energy regen"
|
||||
baseCost = 150
|
||||
value = 10.0
|
||||
maxLevel = 5
|
||||
upgradeDirection = 1
|
||||
upgradeScaleType = 0
|
||||
costScaleType = 0
|
||||
costModificator = 0.0
|
||||
costScaleType = 1
|
||||
costModificator = 150.0
|
||||
metadata/_custom_type_script = "uid://bg0x4egeu17qb"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_wvh05"]
|
||||
script = ExtResource("5_wvh05")
|
||||
type = 3
|
||||
icon = ExtResource("6_wnw3f")
|
||||
text = "Upgrade"
|
||||
baseCost = 50
|
||||
text = "Damage"
|
||||
baseCost = 100
|
||||
value = 1.0
|
||||
maxLevel = -1
|
||||
upgradeDirection = 1
|
||||
upgradeScaleType = 0
|
||||
costScaleType = 0
|
||||
costModificator = 0.0
|
||||
costScaleType = 1
|
||||
costModificator = 50.0
|
||||
|
||||
[sub_resource type="Resource" id="Resource_wnw3f"]
|
||||
script = ExtResource("5_wvh05")
|
||||
type = 5
|
||||
icon = ExtResource("6_wnw3f")
|
||||
text = "Upgrade"
|
||||
text = "Cooldown"
|
||||
baseCost = 2000
|
||||
value = 0.2
|
||||
maxLevel = 2
|
||||
upgradeDirection = 1
|
||||
upgradeScaleType = 0
|
||||
costScaleType = 0
|
||||
costScaleType = 1
|
||||
costModificator = 0.0
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_r52mr"]
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ func _process(_delta: float) -> void:
|
|||
|
||||
if isTileFree(collider):
|
||||
placeTower()
|
||||
elif tower && (not selected_tower || not selected_tower.builded):
|
||||
elif tower && (not selected_tower || selected_tower.builded):
|
||||
EventBus.tower_selected.emit(tower.type)
|
||||
|
||||
if Input.is_action_just_pressed("rest"):
|
||||
|
|
|
|||
|
|
@ -1,12 +1,15 @@
|
|||
extends HBoxContainer
|
||||
|
||||
|
||||
const upgradeBtnScene : PackedScene = preload("res://UI/upgrade_button.tscn")
|
||||
|
||||
|
||||
var tower : Tower
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
EventBus.tower_selected.connect(onTowerSelected)
|
||||
EventBus.tower_changed.connect(onEnergyChanged)
|
||||
EventBus.tower_changed.connect(onTowerChange)
|
||||
|
||||
|
||||
func onTowerSelected(towerType : Tower.TYPE) -> void:
|
||||
|
|
@ -16,16 +19,31 @@ func onTowerSelected(towerType : Tower.TYPE) -> void:
|
|||
return
|
||||
|
||||
tower = Game.towers.get(towerType)
|
||||
%TowerIcon.texture = tower.icone
|
||||
%TowerName.text = tower.tower_name
|
||||
%TowerDamage.text = "Dmg : %d" % tower.projectileRessource.damage
|
||||
%TowerCooldown.text = "cooldown : %.1f" % tower.action_cooldown
|
||||
# TODO Check for better UI to display it
|
||||
#%TowerBio.text = tower.bio
|
||||
onEnergyChanged(tower)
|
||||
visible = true
|
||||
onTowerChange(tower)
|
||||
if not tower.builded:
|
||||
%UpgradeContainer.visible = false
|
||||
return
|
||||
|
||||
createTowerUpgradeButton()
|
||||
|
||||
|
||||
func onEnergyChanged(_tower : Tower) -> void:
|
||||
func onTowerChange(_tower : Tower) -> void:
|
||||
if _tower == tower:
|
||||
%TowerIcon.texture = tower.icone
|
||||
%TowerName.text = tower.tower_name
|
||||
%TowerDamage.text = "Dmg : %d" % tower.projectileRessource.damage
|
||||
%TowerCooldown.text = "cooldown : %.1f" % tower.action_cooldown
|
||||
# TODO Check for better UI to display it
|
||||
#%TowerBio.text = tower.bio
|
||||
%TowerEnergy.text = "%d/%d" % [ tower.energy, tower.max_energy ]
|
||||
|
||||
|
||||
func createTowerUpgradeButton() -> void:
|
||||
%UpgradeContainer.visible = true
|
||||
%UpgradeContainer.get_children().map(func(btn): btn.queue_free())
|
||||
for upgrade in tower.upgrades:
|
||||
prints(upgrade.baseCost, upgrade.cost)
|
||||
var btn : UpgradeButton = upgradeBtnScene.instantiate()
|
||||
%UpgradeContainer.add_child(btn)
|
||||
btn.setData(tower, upgrade)
|
||||
|
|
|
|||
43
UI/UpgradeButton.gd
Normal file
43
UI/UpgradeButton.gd
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
extends HBoxContainer
|
||||
class_name UpgradeButton
|
||||
|
||||
|
||||
var tower: Tower
|
||||
var upgrade: TowerUpgrade
|
||||
|
||||
|
||||
@onready var upgradeBtn : Button = $UpgradeButton
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
Game.money_changed.connect(moneyChanged)
|
||||
upgradeBtn.pressed.connect(upgradeTower)
|
||||
|
||||
|
||||
func setData(_tower: Tower, _upgrade: TowerUpgrade) -> void:
|
||||
tower = _tower
|
||||
upgrade = _upgrade
|
||||
updateVisuals()
|
||||
|
||||
|
||||
func upgradeTower() -> void:
|
||||
if upgrade.upgrade(tower):
|
||||
updateVisuals()
|
||||
|
||||
|
||||
func updateVisuals() -> void:
|
||||
$UpgradeName.text = upgrade.text
|
||||
if upgrade.isLevelMax:
|
||||
upgradeBtn.visible = false
|
||||
$UpgradeName.text += " Lvl. max"
|
||||
return
|
||||
if upgrade.level:
|
||||
$UpgradeName.text += " Lvl. %d" % upgrade.level
|
||||
|
||||
upgradeBtn.text = "%d €" % upgrade.cost
|
||||
if not upgrade.canUpgrade():
|
||||
upgradeBtn.disabled = true
|
||||
|
||||
|
||||
func moneyChanged() -> void:
|
||||
upgradeBtn.disabled = not upgrade.canUpgrade()
|
||||
1
UI/UpgradeButton.gd.uid
Normal file
1
UI/UpgradeButton.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://bjetiiimo62du
|
||||
31
UI/gui.tscn
31
UI/gui.tscn
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=16 format=3 uid="uid://p6a6rb7sgeqd"]
|
||||
[gd_scene load_steps=15 format=3 uid="uid://p6a6rb7sgeqd"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bhylcok1l6eke" path="res://UI/gui.gd" id="2_sac4j"]
|
||||
[ext_resource type="Script" uid="uid://blnmjxmusrsa7" path="res://UI/GameStyleBoxFlat.gd" id="4_h4fn5"]
|
||||
|
|
@ -10,7 +10,6 @@
|
|||
[ext_resource type="Script" uid="uid://s4t3oa4v87xe" path="res://UI/TowerPanel.gd" id="9_3lugd"]
|
||||
[ext_resource type="Texture2D" uid="uid://b4m5ejfdrm8s0" path="res://Assets/Icones/power-button.svg" id="9_reygo"]
|
||||
[ext_resource type="Texture2D" uid="uid://uptdcefxlv4c" path="res://Assets/Icones/ppdf_bio_image_placeholder_2.png" id="10_parkk"]
|
||||
[ext_resource type="Script" uid="uid://bjetiiimo62du" path="res://UI/UpgradeButton.gd" id="11_parkk"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_h4fn5"]
|
||||
bg_color = Color(0.933333, 0.933333, 0.933333, 1)
|
||||
|
|
@ -233,37 +232,31 @@ mouse_filter = 1
|
|||
theme_override_colors/font_color = Color(0.2, 0.2, 0.2, 1)
|
||||
horizontal_alignment = 2
|
||||
|
||||
[node name="UpgradeContainer" type="PanelContainer" parent="TowerInfoPanel"]
|
||||
[node name="PanelContainer" type="PanelContainer" parent="TowerInfoPanel"]
|
||||
layout_mode = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_3lugd")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="TowerInfoPanel/UpgradeContainer"]
|
||||
[node name="MarginContainer" type="MarginContainer" parent="TowerInfoPanel/PanelContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 10
|
||||
theme_override_constants/margin_top = 10
|
||||
theme_override_constants/margin_right = 10
|
||||
theme_override_constants/margin_bottom = 10
|
||||
|
||||
[node name="ButtonContainer" type="GridContainer" parent="TowerInfoPanel/UpgradeContainer/MarginContainer"]
|
||||
[node name="UpgradeContainer" type="GridContainer" parent="TowerInfoPanel/PanelContainer/MarginContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
columns = 4
|
||||
|
||||
[node name="Button" type="Button" parent="TowerInfoPanel/UpgradeContainer/MarginContainer/ButtonContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 20
|
||||
text = "Améliorer"
|
||||
script = ExtResource("11_parkk")
|
||||
|
||||
[connection signal="pressed" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/CubeBtn" to="." method="_on_button_cube_pressed"]
|
||||
[connection signal="pressed" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/QuitLevelBtn" to="." method="quitLevel"]
|
||||
[connection signal="pressed" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/QuitGameBtn" to="." method="quitGame"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/TowerButton" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/TowerButton" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@71848" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@71848" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@71849" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@71849" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@71850" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@71850" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@71851" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@71851" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@71852" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@71852" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@71853" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@71853" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@71854" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@71854" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@38055" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@38055" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@38056" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@38056" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@38057" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@38057" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@38058" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@38058" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@38059" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@38059" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@38060" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@38060" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@38061" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@38061" method="buttonToggled"]
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
extends Button
|
||||
class_name UpgradeButton
|
||||
|
||||
@export var upgrade : Upgrade
|
||||
@export var towerType : Tower.TYPE
|
||||
|
||||
|
||||
func _on_pressed() -> void:
|
||||
EventBus.tower_upgraded.emit(towerType, upgrade)
|
||||
queue_free()
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://tn3qdhcyaxsg
|
||||
|
|
@ -1,3 +1,23 @@
|
|||
[gd_scene format=3 uid="uid://cpdr2a3xqscfa"]
|
||||
[gd_scene load_steps=2 format=3 uid="uid://dfp5q5gek4ve7"]
|
||||
|
||||
[node name="UpgradeButton" type="Button"]
|
||||
[ext_resource type="Script" uid="uid://bjetiiimo62du" path="res://UI/UpgradeButton.gd" id="1_xoo7y"]
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer"]
|
||||
offset_right = 58.0
|
||||
offset_bottom = 34.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource("1_xoo7y")
|
||||
|
||||
[node name="UpgradeName" type="Label" parent="."]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "test"
|
||||
|
||||
[node name="UpgradeButton" type="Button" parent="."]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 18
|
||||
text = "Lvl. 0
|
||||
"
|
||||
|
|
|
|||
|
|
@ -15,16 +15,19 @@ enum TYPE {
|
|||
@export var type : TYPE
|
||||
|
||||
|
||||
func upgrade(tower: Tower) -> void:
|
||||
func upgrade(tower: Tower) -> bool:
|
||||
if not canUpgrade():
|
||||
return false
|
||||
|
||||
match type:
|
||||
TYPE.MAX_ENERGY: upgradeTowerProperty(tower, "max_energy")
|
||||
TYPE.ENERGY_REGEN: upgradeTowerProperty(tower, "energy_regen")
|
||||
TYPE.ENERGY_COST: upgradeTowerProperty(tower, "energy_cost")
|
||||
TYPE.DAMAGE: upgradeTowerProperty(tower.projectileRessource, "damage")
|
||||
TYPE.AOE_INCREASE: upgradeTowerProperty(tower.projectileRessource.damageArea, "radius")
|
||||
TYPE.COOLDOWN: upgradeTowerProperty(tower, "action_cooldown")
|
||||
TYPE.MAX_ENERGY: upgradeProperty(tower, "max_energy")
|
||||
TYPE.ENERGY_REGEN: upgradeProperty(tower, "energy_regen")
|
||||
TYPE.ENERGY_COST: upgradeProperty(tower, "energy_cost")
|
||||
TYPE.DAMAGE: upgradeProperty(tower.projectileRessource, "damage")
|
||||
TYPE.AOE_INCREASE: upgradeProperty(tower.projectileRessource.damageArea, "radius")
|
||||
TYPE.COOLDOWN: upgradeProperty(tower, "action_cooldown")
|
||||
|
||||
upgradeUpgrade()
|
||||
|
||||
func upgradeTowerProperty(tower: Variant, property: String) -> void:
|
||||
tower.set(property, getNextValue(tower.get(property)))
|
||||
EventBus.tower_changed.emit(tower)
|
||||
return true
|
||||
|
|
|
|||
|
|
@ -2,35 +2,40 @@ extends Resource
|
|||
class_name Upgrade
|
||||
|
||||
|
||||
enum SCALE_TYPE { LINEAR, EXP, LOG }
|
||||
enum SCALE_TYPE { NONE, LINEAR, EXP, LOG }
|
||||
enum UPGRADE_DIRECTION { INCREASE = 1, DECREASE = -1 }
|
||||
|
||||
|
||||
@export var icon : Texture2D = preload("res://Assets/Icones/medal2.png")
|
||||
@export var text : String = "Upgrade"
|
||||
@export var baseCost : int = 50
|
||||
@export var text : String
|
||||
@export var baseCost : int :
|
||||
set(value):
|
||||
baseCost = value
|
||||
cost = value
|
||||
@export_range(0.001, 999, 0.001, "hide_slider") var value : float
|
||||
@export_range(-1, 100, 1, "hide_slider") var maxLevel : int = -1 ##[param -1] for infinite leveling
|
||||
|
||||
@export_group("Upgrade Scaling")
|
||||
@export var upgradeDirection : UPGRADE_DIRECTION = UPGRADE_DIRECTION.INCREASE
|
||||
@export var upgradeScaleType : SCALE_TYPE = SCALE_TYPE.LINEAR
|
||||
@export var upgradeScaleType : SCALE_TYPE = SCALE_TYPE.NONE
|
||||
@export var costScaleType : SCALE_TYPE = SCALE_TYPE.LINEAR
|
||||
@export var costModificator : float
|
||||
|
||||
|
||||
var cost : int = baseCost
|
||||
var cost : int
|
||||
var level : int = 0
|
||||
var isLevelMax : bool :
|
||||
get(): return maxLevel == level
|
||||
|
||||
|
||||
func upgrade(subject) -> void:
|
||||
pass
|
||||
func upgradeProperty(tower: Variant, property: String) -> void:
|
||||
tower.set(property, getNextValue(tower.get(property)))
|
||||
|
||||
|
||||
func upgradeUpgrade() -> void:
|
||||
cost += baseCost
|
||||
level += 1
|
||||
Game.money -= cost
|
||||
cost += costModificator
|
||||
|
||||
|
||||
func canUpgrade():
|
||||
|
|
@ -38,4 +43,6 @@ func canUpgrade():
|
|||
|
||||
|
||||
func getNextValue(oldValue):
|
||||
return oldValue + (value * upgradeDirection * level)
|
||||
match upgradeScaleType:
|
||||
SCALE_TYPE.NONE: return oldValue + value
|
||||
SCALE_TYPE.LINEAR: return oldValue + (value * upgradeDirection * level)
|
||||
|
|
|
|||
|
|
@ -52,6 +52,17 @@ folder_colors={
|
|||
|
||||
[input]
|
||||
|
||||
ui_accept={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194309,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194310,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
ui_select={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":3,"pressure":0.0,"pressed":false,"script":null)
|
||||
]
|
||||
}
|
||||
build={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(344, 20),"global_position":Vector2(353, 68),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null)
|
||||
|
|
@ -62,6 +73,11 @@ rest={
|
|||
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":2,"position":Vector2(263, 18),"global_position":Vector2(272, 66),"factor":1.0,"button_index":2,"canceled":false,"pressed":true,"double_click":false,"script":null)
|
||||
]
|
||||
}
|
||||
spawn_next_wave={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[layer_names]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue