added click to place tile

added basic window zoom/drag
This commit is contained in:
2024-02-03 16:30:11 -06:00
parent c6d5a8e113
commit 5b546291bf
5 changed files with 38 additions and 4 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 221 KiB

After

Width:  |  Height:  |  Size: 223 KiB

View File

@@ -1,7 +1,9 @@
[gd_scene load_steps=5 format=3 uid="uid://m0us5xqa3gnk"] [gd_scene load_steps=7 format=3 uid="uid://m0us5xqa3gnk"]
[ext_resource type="Script" path="res://scripts/world.gd" id="1_yf6q1"] [ext_resource type="Script" path="res://scripts/world.gd" id="1_yf6q1"]
[ext_resource type="TileSet" uid="uid://d1sh6dy2w10b0" path="res://data/scifi_tileset.tres" id="2_sa7dm"] [ext_resource type="TileSet" uid="uid://d1sh6dy2w10b0" path="res://data/scifi_tileset.tres" id="2_sa7dm"]
[ext_resource type="Script" path="res://scripts/Window.gd" id="3_bfjot"]
[ext_resource type="Script" path="res://scripts/BuildingManager.gd" id="4_61js3"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_teaou"] [sub_resource type="FastNoiseLite" id="FastNoiseLite_teaou"]
@@ -16,12 +18,18 @@ noise_texture = SubResource("NoiseTexture2D_8pjar")
tile_set = ExtResource("2_sa7dm") tile_set = ExtResource("2_sa7dm")
format = 2 format = 2
layer_0/name = "ground" layer_0/name = "ground"
layer_1/name = "environment" layer_1/name = "Cursor"
layer_1/tile_data = PackedInt32Array() layer_1/tile_data = PackedInt32Array()
layer_2/name = "buildings" layer_2/name = "environment"
layer_2/tile_data = PackedInt32Array() layer_2/tile_data = PackedInt32Array()
layer_3/name = "buildings"
layer_3/tile_data = PackedInt32Array()
[node name="Camera2D" type="Camera2D" parent="."] [node name="Camera2D" type="Camera2D" parent="."]
zoom = Vector2(0.05, 0.05) zoom = Vector2(0.3, 0.3)
drag_horizontal_enabled = true drag_horizontal_enabled = true
drag_vertical_enabled = true drag_vertical_enabled = true
script = ExtResource("3_bfjot")
[node name="BuildingManager" type="Node2D" parent="."]
script = ExtResource("4_61js3")

View File

@@ -0,0 +1,8 @@
extends Node2D
@onready var world_grid = $"../world_grid"
func _unhandled_input(event):
if event is InputEventMouseButton and event.is_pressed() and event.button_index == MOUSE_BUTTON_LEFT:
prints(event.position, get_global_mouse_position(), world_grid.local_to_map(event.position), get_global_mouse_position(), world_grid.local_to_map(get_global_mouse_position()))
world_grid.set_cell(2, world_grid.local_to_map(get_global_mouse_position()), 0, Vector2i(16,2))

13
scripts/Window.gd Normal file
View File

@@ -0,0 +1,13 @@
extends Camera2D
@export var drag_sens: float = 2.0
func _unhandled_input(event):
if event is InputEventMouseButton:
match event.button_index:
MOUSE_BUTTON_WHEEL_DOWN:
zoom -= Vector2(0.01, 0.01)
MOUSE_BUTTON_WHEEL_UP:
zoom += Vector2(0.01, 0.01)
if event is InputEventMouseMotion and Input.is_mouse_button_pressed(MOUSE_BUTTON_MIDDLE):
position -= event.relative * drag_sens / zoom

View File

@@ -31,3 +31,8 @@ func _ready():
for region in noise_regions.size(): for region in noise_regions.size():
prints(region, noise_regions[region], temp_noise_reg.count(region)) prints(region, noise_regions[region], temp_noise_reg.count(region))
#get_tree().quit() #get_tree().quit()
func _process(delta):
var mouse_pos = world_grid.local_to_map(get_local_mouse_position())
world_grid.clear_layer(1)
world_grid.set_cell(1, mouse_pos,0,Vector2i(0,7))