Added basic placing of building
Added placing of buildings on the tile map using get input, will try to do it using mouse handler
This commit is contained in:
parent
781e9a452a
commit
17f4e92df0
8 changed files with 131 additions and 18 deletions
36
Main.tscn
36
Main.tscn
|
@ -1,10 +1,31 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://5ske2hm55rce"]
|
||||
[gd_scene load_steps=8 format=3 uid="uid://5ske2hm55rce"]
|
||||
|
||||
[ext_resource type="Theme" uid="uid://d035h7upxrw3h" path="res://theme.tres" id="1_xbn5h"]
|
||||
[ext_resource type="Script" path="res://main.gd" id="1_xjws2"]
|
||||
[ext_resource type="Texture2D" uid="uid://bsrh0u02bckhy" path="res://iso_building.png" id="3_qa5pv"]
|
||||
[ext_resource type="Texture2D" uid="uid://bvn5lewpp7pmd" path="res://iso_tile.png" id="4_7pks7"]
|
||||
[ext_resource type="Script" path="res://tile_map.gd" id="5_v47eg"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_dxrqb"]
|
||||
texture = ExtResource("4_7pks7")
|
||||
margins = Vector2i(16, 16)
|
||||
1:1/0 = 0
|
||||
0:0/0 = 0
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_j7eew"]
|
||||
texture = ExtResource("3_qa5pv")
|
||||
margins = Vector2i(15, 14)
|
||||
texture_region_size = Vector2i(18, 20)
|
||||
1:1/0 = 0
|
||||
0:0/0 = 0
|
||||
|
||||
[sub_resource type="TileSet" id="TileSet_2mye8"]
|
||||
tile_shape = 1
|
||||
tile_layout = 5
|
||||
tile_size = Vector2i(16, 8)
|
||||
sources/0 = SubResource("TileSetAtlasSource_dxrqb")
|
||||
sources/1 = SubResource("TileSetAtlasSource_j7eew")
|
||||
|
||||
[node name="Main" type="Node2D"]
|
||||
script = ExtResource("1_xjws2")
|
||||
|
||||
[node name="Control" type="Control" parent="."]
|
||||
layout_mode = 3
|
||||
|
@ -12,3 +33,12 @@ anchors_preset = 0
|
|||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
theme = ExtResource("1_xbn5h")
|
||||
|
||||
[node name="TileMap" type="TileMap" parent="."]
|
||||
tile_set = SubResource("TileSet_2mye8")
|
||||
rendering_quadrant_size = 128
|
||||
format = 2
|
||||
layer_1/name = "Layer1"
|
||||
script = ExtResource("5_v47eg")
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="."]
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://bxf8c2vnv1cs6"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://bi03hh1ousovx" path="res://icon.svg" id="1_5dc4m"]
|
||||
|
||||
[node name="TestBulding" type="Sprite2D"]
|
||||
texture = ExtResource("1_5dc4m")
|
BIN
iso_building.png
Normal file
BIN
iso_building.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 427 B |
34
iso_building.png.import
Normal file
34
iso_building.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bsrh0u02bckhy"
|
||||
path="res://.godot/imported/iso_building.png-07fa6cdf1b52a70a76ecc45b8890244f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://iso_building.png"
|
||||
dest_files=["res://.godot/imported/iso_building.png-07fa6cdf1b52a70a76ecc45b8890244f.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
BIN
iso_tile.png
Normal file
BIN
iso_tile.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 300 B |
34
iso_tile.png.import
Normal file
34
iso_tile.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bvn5lewpp7pmd"
|
||||
path="res://.godot/imported/iso_tile.png-22fe1886c3f7d12f0ecefdbde6a3adae.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://iso_tile.png"
|
||||
dest_files=["res://.godot/imported/iso_tile.png-22fe1886c3f7d12f0ecefdbde6a3adae.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
9
main.gd
9
main.gd
|
@ -1,9 +0,0 @@
|
|||
extends Node2D
|
||||
|
||||
var test_building_scene: PackedScene = preload("res://Test_Building.tscn")
|
||||
|
||||
func _process(_delta):
|
||||
if Input.is_action_just_pressed("lclick"):
|
||||
var test_building: Sprite2D = test_building_scene.instantiate()
|
||||
test_building.position = get_global_mouse_position()
|
||||
$".".add_child(test_building)
|
30
tile_map.gd
Normal file
30
tile_map.gd
Normal file
|
@ -0,0 +1,30 @@
|
|||
extends TileMap
|
||||
|
||||
var GridSize = 16
|
||||
var Dic = {}
|
||||
var placed = []
|
||||
|
||||
func _ready():
|
||||
for x in GridSize:
|
||||
for y in GridSize:
|
||||
Dic[str(Vector2(x,y))] = {
|
||||
"Type": "Ground",
|
||||
"Position": str(Vector2(x,y)),
|
||||
"Placed": false
|
||||
}
|
||||
set_cell(0, Vector2(x, y), 0, Vector2i(0,0), 0)
|
||||
|
||||
func _process(delta):
|
||||
var tile = local_to_map(get_global_mouse_position())
|
||||
|
||||
for x in GridSize:
|
||||
for y in GridSize:
|
||||
if !Dic[str(Vector2(x,y))].get("Placed"):
|
||||
erase_cell(1, Vector2(x,y))
|
||||
|
||||
if Dic.has(str(tile)):
|
||||
set_cell(1, tile, 1, Vector2i(0,0), 0)
|
||||
#print(Dic[str(tile)])
|
||||
|
||||
if Input.is_action_just_pressed("lclick"):
|
||||
Dic[str(tile)]["Placed"] = true
|
Loading…
Reference in a new issue