From 503dea0511d641d7cb1d320a8485d1eadb0360ef Mon Sep 17 00:00:00 2001 From: ObeseTermite Date: Sat, 12 Oct 2024 19:56:12 -0700 Subject: [PATCH] started adding mouse selector for mouse editor --- Chunk0_0 | Bin 3088 -> 3112 bytes etc/default_theme.tres | 16 ++++++++-- project.godot | 4 +++ scenes/map_editor.tscn | 44 ++++++++++++++++++++++++-- scenes/world.tscn | 6 +++- scripts/globals.gd | 12 +++++++ scripts/map_editor.gd | 30 ++++++++++++++++++ scripts/world.gd | 12 ++----- sprites/tiles/tile_atlas_texture.tres | 7 ++++ 9 files changed, 117 insertions(+), 14 deletions(-) create mode 100644 scripts/globals.gd create mode 100644 scripts/map_editor.gd create mode 100644 sprites/tiles/tile_atlas_texture.tres diff --git a/Chunk0_0 b/Chunk0_0 index a051bc4a0e48de51544abc2f7574fee8f7f33c24..9479498e5a7d0491b43582d7bb75d5828a4e23fb 100644 GIT binary patch delta 134 zcmbOru|k4Vg@=JbmVtpmY9ps8Gb6)hd1iNJAk8p2lTDEyNP__@13LpqY$jVgBg5pM zY}P=9rtFT4a0MI;Y+wbg9J*l5TRA`qML88288@4AUT2b$V&HF+qZphlhbdmVtqRX(Oj7Gb7_>d1iNJW(Eev$(d}5{6HEg#lXPIzz!rCC(mSy uXJnlGlg%2a(3IVg5w3uPfeoynl|vV-c`FA void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass diff --git a/scripts/map_editor.gd b/scripts/map_editor.gd new file mode 100644 index 0000000..f87da60 --- /dev/null +++ b/scripts/map_editor.gd @@ -0,0 +1,30 @@ +extends Window + + +@export var WorldTiles : TileMapLayer +@export_category("Node Assignments") +@export var LeftMouseSelector : MenuButton +@export var RightMouseSelector : MenuButton + + +var leftMouseTile : int = Globals.WALL +var rightMouseTile : int = Globals.AIR + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + LeftMouseSelector.get_popup().id_pressed.connect(_on_mouse_selector_pressed) + RightMouseSelector.get_popup().id_pressed.connect(_on_mouse_selector_pressed) + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + if Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT): + var setPos : Vector2i = WorldTiles.local_to_map(WorldTiles.get_local_mouse_position()) + WorldTiles.set_cell(setPos,leftMouseTile,Vector2i(0,0)) + + if Input.is_mouse_button_pressed(MOUSE_BUTTON_RIGHT): + var setPos : Vector2i = WorldTiles.local_to_map(WorldTiles.get_local_mouse_position()) + WorldTiles.set_cell(setPos,rightMouseTile,Vector2i(0,0)) + +func _on_mouse_selector_pressed(mouse : int, id: int) -> void: + pass diff --git a/scripts/world.gd b/scripts/world.gd index 2bf143a..e2797c3 100644 --- a/scripts/world.gd +++ b/scripts/world.gd @@ -4,7 +4,7 @@ extends Node2D var chunkPos : Vector2i = Vector2i(0,0) -enum {WALL, AIR} + # Called when the node enters the scene tree for the first time. func _ready() -> void: @@ -13,14 +13,8 @@ func _ready() -> void: # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: - - if Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT): - var setPos : Vector2i = WorldTiles.local_to_map(get_local_mouse_position()) - WorldTiles.set_cell(setPos,WALL,Vector2i(0,0)) - - if Input.is_mouse_button_pressed(MOUSE_BUTTON_RIGHT): - var setPos : Vector2i = WorldTiles.local_to_map(get_local_mouse_position()) - WorldTiles.set_cell(setPos,AIR,Vector2i(0,0)) + pass + func load_game(path:String, tile_map_layer:TileMapLayer) -> void: var file : FileAccess = FileAccess.open(path, FileAccess.READ) diff --git a/sprites/tiles/tile_atlas_texture.tres b/sprites/tiles/tile_atlas_texture.tres new file mode 100644 index 0000000..84db90d --- /dev/null +++ b/sprites/tiles/tile_atlas_texture.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://xy3bire6ba3t"] + +[ext_resource type="Texture2D" uid="uid://c7eq6tbstw18j" path="res://sprites/tiles/tileatlas.png" id="1_71cii"] + +[resource] +atlas = ExtResource("1_71cii") +region = Rect2(0, 0, 16, 16)