added click to place tile
added basic window zoom/drag
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 221 KiB After Width: | Height: | Size: 223 KiB |
@@ -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="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"]
|
||||
|
||||
@@ -16,12 +18,18 @@ noise_texture = SubResource("NoiseTexture2D_8pjar")
|
||||
tile_set = ExtResource("2_sa7dm")
|
||||
format = 2
|
||||
layer_0/name = "ground"
|
||||
layer_1/name = "environment"
|
||||
layer_1/name = "Cursor"
|
||||
layer_1/tile_data = PackedInt32Array()
|
||||
layer_2/name = "buildings"
|
||||
layer_2/name = "environment"
|
||||
layer_2/tile_data = PackedInt32Array()
|
||||
layer_3/name = "buildings"
|
||||
layer_3/tile_data = PackedInt32Array()
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="."]
|
||||
zoom = Vector2(0.05, 0.05)
|
||||
zoom = Vector2(0.3, 0.3)
|
||||
drag_horizontal_enabled = true
|
||||
drag_vertical_enabled = true
|
||||
script = ExtResource("3_bfjot")
|
||||
|
||||
[node name="BuildingManager" type="Node2D" parent="."]
|
||||
script = ExtResource("4_61js3")
|
||||
|
||||
8
scripts/BuildingManager.gd
Normal file
8
scripts/BuildingManager.gd
Normal 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
13
scripts/Window.gd
Normal 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
|
||||
@@ -31,3 +31,8 @@ func _ready():
|
||||
for region in noise_regions.size():
|
||||
prints(region, noise_regions[region], temp_noise_reg.count(region))
|
||||
#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))
|
||||
|
||||
Reference in New Issue
Block a user