upgrade: godot 4.5 #6
13 changed files with 25 additions and 25 deletions
|
|
@ -5,8 +5,9 @@ class_name Enemy
|
||||||
signal died
|
signal died
|
||||||
|
|
||||||
|
|
||||||
@onready var death_vfx_packed : PackedScene = preload("res://VFX/death_particles.tscn")
|
const DEATH_PARTICLE : PackedScene = preload("uid://ddm57pv5ox171")
|
||||||
@onready var sad_vfx_packed : PackedScene = preload("res://VFX/sad_particles.tscn")
|
const SAD_PARTICLE : PackedScene = preload("uid://m0vj2ac5oesx")
|
||||||
|
|
||||||
|
|
||||||
@export var speed : float = 1
|
@export var speed : float = 1
|
||||||
@export var base_attack_damage : int = 1
|
@export var base_attack_damage : int = 1
|
||||||
|
|
@ -62,7 +63,7 @@ func death() -> void:
|
||||||
died.emit()
|
died.emit()
|
||||||
Game.money += money
|
Game.money += money
|
||||||
$Sprite3D.visible = false
|
$Sprite3D.visible = false
|
||||||
var death_vfx : CPUParticles3D = death_vfx_packed.instantiate()
|
var death_vfx : CPUParticles3D = DEATH_PARTICLE.instantiate()
|
||||||
get_tree().current_scene.add_child(death_vfx)
|
get_tree().current_scene.add_child(death_vfx)
|
||||||
death_vfx.global_position = global_position
|
death_vfx.global_position = global_position
|
||||||
path.queue_free()
|
path.queue_free()
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ signal lose
|
||||||
signal allowed_tower_has_change
|
signal allowed_tower_has_change
|
||||||
|
|
||||||
|
|
||||||
var upgrades : Array[CubeUpgrade] = load("res://Upgrades/cube_upgrades.tres").upgrades
|
var upgrades : Array[CubeUpgrade] = load("uid://py454tq2ghgx").upgrades
|
||||||
var towerPackedScenes : Dictionary
|
var towerPackedScenes : Dictionary
|
||||||
var enmies : Dictionary
|
var enmies : Dictionary
|
||||||
var towers : Dictionary
|
var towers : Dictionary
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
class_name Helper
|
class_name Helper
|
||||||
|
|
||||||
|
|
||||||
const confirmPopupScene : PackedScene = preload("res://UI/confirm_popup.tscn")
|
const CONFIRM_POPUP : PackedScene = preload("uid://cxn3x8dq8vawa")
|
||||||
|
|
||||||
|
|
||||||
const SCENE_DIR_PATTERN : String = "res://\\w+/(Scenes|Map \\d+)/$"
|
const SCENE_DIR_PATTERN : String = "res://\\w+/(Scenes|Map \\d+)/$"
|
||||||
|
|
@ -75,7 +75,7 @@ static func showConfirmPopup(
|
||||||
confirmCallback : Callable,
|
confirmCallback : Callable,
|
||||||
cancelCallback : Callable = func(): null
|
cancelCallback : Callable = func(): null
|
||||||
) -> void:
|
) -> void:
|
||||||
var confirmPopup : ConfirmPopup = confirmPopupScene.instantiate()
|
var confirmPopup : ConfirmPopup = CONFIRM_POPUP.instantiate()
|
||||||
nodeToAppend.add_child(confirmPopup)
|
nodeToAppend.add_child(confirmPopup)
|
||||||
confirmPopup.label.text = text
|
confirmPopup.label.text = text
|
||||||
confirmPopup.confirmed.connect(confirmCallback)
|
confirmPopup.confirmed.connect(confirmCallback)
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ extends ColorRect
|
||||||
|
|
||||||
enum LOAD_STATE { NO_LOAD, BASIC_LOAD, MAP_LOAD, MAP_LOADED }
|
enum LOAD_STATE { NO_LOAD, BASIC_LOAD, MAP_LOAD, MAP_LOADED }
|
||||||
|
|
||||||
const worldManager = preload("res://Levels/world_manager.tscn")
|
const WORLD_MANAGER = preload("uid://bph5gpic1arod")
|
||||||
|
|
||||||
@export var opaque := 0.0
|
@export var opaque := 0.0
|
||||||
@export var transparent := 11.0
|
@export var transparent := 11.0
|
||||||
|
|
@ -78,7 +78,7 @@ func _process(_delta: float) -> void:
|
||||||
var scene = ResourceLoader.load_threaded_get(target_scene_path)
|
var scene = ResourceLoader.load_threaded_get(target_scene_path)
|
||||||
if loadState == LOAD_STATE.MAP_LOAD:
|
if loadState == LOAD_STATE.MAP_LOAD:
|
||||||
mapScene = scene
|
mapScene = scene
|
||||||
get_tree().change_scene_to_packed(worldManager)
|
get_tree().change_scene_to_packed(WORLD_MANAGER)
|
||||||
loadState = LOAD_STATE.MAP_LOADED
|
loadState = LOAD_STATE.MAP_LOADED
|
||||||
if loadState == LOAD_STATE.BASIC_LOAD:
|
if loadState == LOAD_STATE.BASIC_LOAD:
|
||||||
get_tree().change_scene_to_packed(scene)
|
get_tree().change_scene_to_packed(scene)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
extends Sprite3D
|
extends Sprite3D
|
||||||
|
|
||||||
var impact : GPUParticles3D = preload("res://Projectiles/Draft/ImpactPierre.tscn").instantiate()
|
var impact : GPUParticles3D = preload("uid://c5rx5scnkh3fb").instantiate()
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
$SFXCreate.play()
|
$SFXCreate.play()
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
extends HBoxContainer
|
extends HBoxContainer
|
||||||
|
|
||||||
|
|
||||||
const upgradeBtnScene : PackedScene = preload("res://UI/upgrade_button.tscn")
|
const UPGRADE_BTN : PackedScene = preload("uid://dfp5q5gek4ve7")
|
||||||
|
|
||||||
var tower : Tower
|
var tower : Tower
|
||||||
|
|
||||||
|
|
@ -59,7 +59,7 @@ func createTowerUpgradeButtons(upgrades : Array) -> void:
|
||||||
%UpgradeContainer.visible = true
|
%UpgradeContainer.visible = true
|
||||||
%UpgradeContainer.get_children().map(func(btn): btn.queue_free())
|
%UpgradeContainer.get_children().map(func(btn): btn.queue_free())
|
||||||
for upgrade in upgrades:
|
for upgrade in upgrades:
|
||||||
var btn : UpgradeButton = upgradeBtnScene.instantiate()
|
var btn : UpgradeButton = UPGRADE_BTN.instantiate()
|
||||||
%UpgradeContainer.add_child(btn)
|
%UpgradeContainer.add_child(btn)
|
||||||
btn.setUpgrade(upgrade)
|
btn.setUpgrade(upgrade)
|
||||||
if tower:
|
if tower:
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ extends Control
|
||||||
|
|
||||||
const BUTTON_QTY = 4
|
const BUTTON_QTY = 4
|
||||||
|
|
||||||
const guiButton : PackedScene = preload("res://UI/gui_button.tscn")
|
const GUI_BUTTON : PackedScene = preload("uid://dqb5o8w7u50hc")
|
||||||
|
|
||||||
@onready var buttonContainer : GridContainer = %ButtonContainer
|
@onready var buttonContainer : GridContainer = %ButtonContainer
|
||||||
@onready var cubeIntegrity : ProgressBar = %CubeIntegrity
|
@onready var cubeIntegrity : ProgressBar = %CubeIntegrity
|
||||||
|
|
@ -77,7 +77,7 @@ func addTowerButtonNodes() -> void:
|
||||||
|
|
||||||
|
|
||||||
func createTowerButton(towerType : Tower.TYPE) -> void:
|
func createTowerButton(towerType : Tower.TYPE) -> void:
|
||||||
var btn : GuiButton = guiButton.instantiate()
|
var btn : GuiButton = GUI_BUTTON.instantiate()
|
||||||
btn.set_meta("dynamicButton", true)
|
btn.set_meta("dynamicButton", true)
|
||||||
|
|
||||||
if towerType:
|
if towerType:
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
extends Resource
|
@abstract
|
||||||
class_name Upgrade
|
class_name Upgrade extends Resource
|
||||||
|
|
||||||
|
|
||||||
enum SCALE_TYPE { LINEAR, EXP, LOG }
|
enum SCALE_TYPE { LINEAR, EXP, LOG }
|
||||||
enum UPGRADE_DIRECTION { INCREASE = 1, DECREASE = -1 }
|
enum UPGRADE_DIRECTION { INCREASE = 1, DECREASE = -1 }
|
||||||
|
|
||||||
|
|
||||||
@export var icon : Texture2D = preload("res://Assets/Icones/medal2.png")
|
@export var icon : Texture2D = preload("uid://dqvou7t7o1t5d")
|
||||||
@export var text : String
|
@export var text : String
|
||||||
@export var baseCost : int :
|
@export var baseCost : int :
|
||||||
set(value):
|
set(value):
|
||||||
|
|
@ -32,9 +32,8 @@ var level : int = 0
|
||||||
func isLevelMax() -> bool :
|
func isLevelMax() -> bool :
|
||||||
return not tierLock.is_empty() && level == tierLock[Game.tier]
|
return not tierLock.is_empty() && level == tierLock[Game.tier]
|
||||||
|
|
||||||
|
@abstract
|
||||||
func upgrade(_subject = null) -> bool:
|
func upgrade(_subject = null) -> bool
|
||||||
return false
|
|
||||||
|
|
||||||
|
|
||||||
func upgradeProperty(subject: Variant, property: String) -> void:
|
func upgradeProperty(subject: Variant, property: String) -> void:
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
extends Path3D
|
extends Path3D
|
||||||
|
|
||||||
var particle_np := preload("res://VFX/paint_brush_particle.tscn")
|
var particle_np := preload("uid://drnc0eus8n2oy")
|
||||||
|
|
||||||
@export var duration : float = 6.0
|
@export var duration : float = 6.0
|
||||||
@export var spawn_timer : float = 0.1
|
@export var spawn_timer : float = 0.1
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ extends Node2D
|
||||||
|
|
||||||
var time := 0.0
|
var time := 0.0
|
||||||
|
|
||||||
var rain_drop_packed := preload("res://VFX/pixel_drop.tscn")
|
const RAIN_DROP : PackedScene = preload("uid://cqn4xrehqnuso")
|
||||||
|
|
||||||
func _physics_process(delta: float) -> void:
|
func _physics_process(delta: float) -> void:
|
||||||
|
|
||||||
|
|
@ -21,7 +21,7 @@ func _physics_process(delta: float) -> void:
|
||||||
|
|
||||||
|
|
||||||
func make_it_rain() -> void:
|
func make_it_rain() -> void:
|
||||||
var rain_drop : RainDrop = rain_drop_packed.instantiate()
|
var rain_drop : RainDrop = RAIN_DROP.instantiate()
|
||||||
var screen_width = get_viewport().get_camera_2d().position.x + get_viewport().size.x/2
|
var screen_width = get_viewport().get_camera_2d().position.x + get_viewport().size.x/2
|
||||||
var screen_height = get_viewport().get_camera_2d().position.y - get_viewport().size.y/2 - 100 #Offset
|
var screen_height = get_viewport().get_camera_2d().position.y - get_viewport().size.y/2 - 100 #Offset
|
||||||
rain_drop.speed = speed
|
rain_drop.speed = speed
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ extends EditorPlugin
|
||||||
|
|
||||||
# Replace this value with a PascalCase autoload name, as per the GDScript style guide.
|
# Replace this value with a PascalCase autoload name, as per the GDScript style guide.
|
||||||
#const AUTOLOAD_NAME = "LevelEditorAutoload"
|
#const AUTOLOAD_NAME = "LevelEditorAutoload"
|
||||||
const ui = preload("res://addons/LevelEditor/wave_maker.tscn")
|
const ui = preload("uid://dh24t8804isms")
|
||||||
|
|
||||||
var main_panel_instance
|
var main_panel_instance
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ class_name WaveMaker
|
||||||
signal spawnQtyChanged(newQty : int)
|
signal spawnQtyChanged(newQty : int)
|
||||||
|
|
||||||
|
|
||||||
const TROOP_SCENE = preload("res://addons/LevelEditor/UI/Troop/Troop.tscn")
|
const TROOP_SCENE = preload("uid://djrbvm8gmhly3")
|
||||||
|
|
||||||
|
|
||||||
var level : Level
|
var level : Level
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ resources_spreadsheet_view/freeze_first_column=true
|
||||||
|
|
||||||
config/name="Pole Pixel Defense Force"
|
config/name="Pole Pixel Defense Force"
|
||||||
run/main_scene="uid://2xw1yn1tmlcy"
|
run/main_scene="uid://2xw1yn1tmlcy"
|
||||||
config/features=PackedStringArray("4.4")
|
config/features=PackedStringArray("4.5")
|
||||||
config/icon="res://icon.svg"
|
config/icon="res://icon.svg"
|
||||||
|
|
||||||
[audio]
|
[audio]
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue