build tower
This commit is contained in:
parent
21c9145083
commit
bdbffd0799
3 changed files with 46 additions and 29 deletions
|
|
@ -31,3 +31,11 @@ folder_colors={
|
|||
"res://Waves/": "pink",
|
||||
"res://enemies/": "orange"
|
||||
}
|
||||
|
||||
[input]
|
||||
|
||||
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)
|
||||
]
|
||||
}
|
||||
|
|
|
|||
61
world.gd
61
world.gd
|
|
@ -1,32 +1,45 @@
|
|||
extends Node3D
|
||||
|
||||
@onready var tower_blueprint = preload("res://Towers/tower.tscn")
|
||||
|
||||
@onready var cam : Camera3D = $Camera3D
|
||||
#@onready var selector : Node3D = $Selector
|
||||
@onready var selector : Node3D = $Selector
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
$Spawner.spawn_next_wave()
|
||||
#func _ready() -> void:
|
||||
#$Spawner.spawn_next_wave()
|
||||
|
||||
#func _process(delta: float) -> void:
|
||||
#handle_player_controls()
|
||||
func _process(delta: float) -> void:
|
||||
handle_player_controls()
|
||||
if Input.is_action_just_pressed("build"):
|
||||
build_tower(tower_blueprint)
|
||||
|
||||
|
||||
#func handle_player_controls() -> void:
|
||||
#var space_state : PhysicsDirectSpaceState3D = get_world_3d().direct_space_state
|
||||
#var mouse_pos : Vector2 = get_viewport().get_mouse_position()
|
||||
#
|
||||
#var origin : Vector3 = cam.project_ray_origin(mouse_pos)
|
||||
#var end : Vector3 = origin + cam.project_ray_normal(mouse_pos) * 100
|
||||
#var ray : PhysicsRayQueryParameters3D = PhysicsRayQueryParameters3D.create(origin, end)
|
||||
#ray.collide_with_bodies = true
|
||||
#
|
||||
#var ray_result : Dictionary = space_state.intersect_ray(ray)
|
||||
#
|
||||
#if ray_result.is_empty():
|
||||
#selector.visible = false
|
||||
#return
|
||||
#
|
||||
#selector.visible = true
|
||||
#var collider : CollisionObject3D = ray_result.get("collider")
|
||||
#selector.global_position = collider.global_position
|
||||
#selector.global_position += Vector3(0.0,0.2,0.0)
|
||||
func handle_player_controls() -> void:
|
||||
var space_state : PhysicsDirectSpaceState3D = get_world_3d().direct_space_state
|
||||
var mouse_pos : Vector2 = get_viewport().get_mouse_position()
|
||||
|
||||
var origin : Vector3 = cam.project_ray_origin(mouse_pos)
|
||||
var end : Vector3 = origin + cam.project_ray_normal(mouse_pos) * 100
|
||||
var ray : PhysicsRayQueryParameters3D = PhysicsRayQueryParameters3D.create(origin, end)
|
||||
ray.collide_with_bodies = true
|
||||
|
||||
var ray_result : Dictionary = space_state.intersect_ray(ray)
|
||||
|
||||
if ray_result.is_empty():
|
||||
selector.visible = false
|
||||
return
|
||||
|
||||
selector.visible = true
|
||||
var collider : CollisionObject3D = ray_result.get("collider")
|
||||
selector.global_position = collider.global_position
|
||||
selector.global_position += Vector3(0.0,0.2,0.0)
|
||||
|
||||
|
||||
func build_tower(scene : PackedScene) -> void:
|
||||
if !selector.visible:
|
||||
return
|
||||
|
||||
var temp_cannon : Tower = scene.instantiate()
|
||||
add_child(temp_cannon)
|
||||
temp_cannon.global_position = selector.global_position
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
[gd_scene load_steps=12 format=3 uid="uid://ky0uewndeuwv"]
|
||||
[gd_scene load_steps=11 format=3 uid="uid://ky0uewndeuwv"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://qqid42jkpkmv" path="res://world.gd" id="1_fj7yv"]
|
||||
[ext_resource type="PackedScene" uid="uid://d1f6m15niwgt" path="res://Tiles/tile.tscn" id="3_aqk2v"]
|
||||
[ext_resource type="PackedScene" uid="uid://d17sleiqkdoo2" path="res://Assets/GLB format/selection-a.glb" id="3_tlwt5"]
|
||||
[ext_resource type="PackedScene" uid="uid://do7gm1gjhu1t5" path="res://Tiles/road.tscn" id="4_036b0"]
|
||||
[ext_resource type="Script" uid="uid://tpon511km4al" path="res://spawner.gd" id="5_036b0"]
|
||||
[ext_resource type="PackedScene" uid="uid://trg7ag3dqr2l" path="res://Towers/tower.tscn" id="6_dwbse"]
|
||||
[ext_resource type="Script" uid="uid://chu8s12rtdeqx" path="res://Scripts/Wave.gd" id="6_gbfbk"]
|
||||
[ext_resource type="Resource" uid="uid://dkbuy7fetnihs" path="res://Waves/wave_1.tres" id="7_ioo17"]
|
||||
[ext_resource type="Resource" uid="uid://dvw6vm3vbpmdl" path="res://Waves/wave_2.tres" id="8_wse8f"]
|
||||
|
|
@ -153,7 +152,4 @@ environment = SubResource("Environment_036b0")
|
|||
transform = Transform3D(1, 0, 0, 0, 0.258819, 0.965926, 0, -0.965926, 0.258819, 0, 4, 6)
|
||||
light_color = Color(0.823308, 0.863845, 0.742102, 1)
|
||||
|
||||
[node name="Tower" parent="." instance=ExtResource("6_dwbse")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.90244, 0, -0.479361)
|
||||
|
||||
[connection signal="timeout" from="Spawner/SpawnTimer" to="Spawner" method="_on_spawn_timer_timeout"]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue