diff --git a/Globals/transition.gd b/Globals/transition.gd index 45fd2b7..7c8b964 100644 --- a/Globals/transition.gd +++ b/Globals/transition.gd @@ -6,7 +6,7 @@ const worldManager = preload("res://Levels/world_manager.tscn") @export var opaque := 0.0 @export var transparent := 11.0 -var duration := 1.0 +var duration := .5 var target_scene_path : String var mapScene : PackedScene diff --git a/Levels/Scripts/Camera.gd b/Levels/Scripts/Camera.gd new file mode 100644 index 0000000..4bf5284 --- /dev/null +++ b/Levels/Scripts/Camera.gd @@ -0,0 +1,18 @@ +extends Camera3D + + +const SCREEN_MARGIN : int = 150 + + +func _process(_delta: float) -> void: + var windowSize : Vector2i = get_window().size + var mousePosition : Vector2 = get_viewport().get_mouse_position() + + if mousePosition.x < SCREEN_MARGIN: + position += Vector3(-0.04, 0, 0) + if mousePosition.y < SCREEN_MARGIN: + position += Vector3(0, 0, -0.04) + if mousePosition.x > get_window().size.x - SCREEN_MARGIN: + position += Vector3(0.04, 0, 0) + if mousePosition.y > get_window().size.y - SCREEN_MARGIN: + position += Vector3(0, 0, 0.04) diff --git a/Levels/Scripts/Camera.gd.uid b/Levels/Scripts/Camera.gd.uid new file mode 100644 index 0000000..2525f97 --- /dev/null +++ b/Levels/Scripts/Camera.gd.uid @@ -0,0 +1 @@ +uid://wdyg06i1eb6b diff --git a/Levels/world_manager.tscn b/Levels/world_manager.tscn index abb9688..fdb0756 100644 --- a/Levels/world_manager.tscn +++ b/Levels/world_manager.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=9 format=3 uid="uid://bph5gpic1arod"] +[gd_scene load_steps=10 format=3 uid="uid://bph5gpic1arod"] [ext_resource type="Script" uid="uid://qqid42jkpkmv" path="res://Levels/Scripts/WorldManager.gd" id="1_tk0a6"] [ext_resource type="Script" uid="uid://caf3yamufmhd4" path="res://Towers/TowerManager.gd" id="2_7pixp"] +[ext_resource type="Script" uid="uid://wdyg06i1eb6b" path="res://Levels/Scripts/Camera.gd" id="2_c1rgm"] [ext_resource type="Texture2D" uid="uid://o83munu8dibp" path="res://Assets/Icones/kenney_game_icons_vector.svg" id="3_6dp1o"] [ext_resource type="PackedScene" uid="uid://p6a6rb7sgeqd" path="res://UI/gui.tscn" id="6_ebgat"] @@ -60,7 +61,8 @@ adjustment_saturation = 1.2 script = ExtResource("1_tk0a6") [node name="Camera3D" type="Camera3D" parent="."] -transform = Transform3D(0.944699, 0.159007, -0.28681, -0.00234758, 0.877843, 0.478943, 0.327929, -0.451784, 0.829671, 1.77767, 3.73465, 4.71854) +transform = Transform3D(1, 0, 0, 0, 0.5, 0.866026, 0, -0.866026, 0.5, 0, 10, 0) +script = ExtResource("2_c1rgm") [node name="TowerManager" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.73017, 0.728414, 0) diff --git a/UI/TowerPanel.gd b/UI/TowerPanel.gd index 25a1564..6332ee4 100644 --- a/UI/TowerPanel.gd +++ b/UI/TowerPanel.gd @@ -19,13 +19,9 @@ func onTowerSelected(towerType : Tower.TYPE) -> void: return tower = Game.towers.get(towerType) + %UpgradeContainer.visible = false visible = true onTowerChange(tower) - if not tower.builded: - %UpgradeContainer.visible = false - return - - createTowerUpgradeButton() func onTowerChange(_tower : Tower) -> void: @@ -38,12 +34,14 @@ func onTowerChange(_tower : Tower) -> void: #%TowerBio.text = tower.bio %TowerEnergy.text = "%d/%d" % [ tower.energy, tower.max_energy ] + if tower.builded && not %UpgradeContainer.visible: + createTowerUpgradeButton() + 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) diff --git a/UI/gui.tscn b/UI/gui.tscn index b61b376..f93da4c 100644 --- a/UI/gui.tscn +++ b/UI/gui.tscn @@ -253,10 +253,10 @@ size_flags_vertical = 0 [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@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"] +[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@25818" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@25818" method="buttonToggled"] +[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@25819" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@25819" method="buttonToggled"] +[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@25820" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@25820" method="buttonToggled"] +[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@25821" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@25821" method="buttonToggled"] +[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@25822" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@25822" method="buttonToggled"] +[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@25823" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@25823" method="buttonToggled"] +[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@25824" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@25824" method="buttonToggled"]