started adding mouse selector for mouse editor
This commit is contained in:
parent
6a2f2b4236
commit
503dea0511
|
@ -1,14 +1,26 @@
|
||||||
[gd_resource type="Theme" load_steps=3 format=3 uid="uid://ypdn3bt0bsw"]
|
[gd_resource type="Theme" load_steps=5 format=3 uid="uid://ypdn3bt0bsw"]
|
||||||
|
|
||||||
[ext_resource type="FontFile" uid="uid://ciqqp7ps6fpm2" path="res://etc/fonts/pixel_operator/PixelOperator8.ttf" id="1_d85by"]
|
[ext_resource type="FontFile" uid="uid://ciqqp7ps6fpm2" path="res://etc/fonts/pixel_operator/PixelOperator8.ttf" id="1_d85by"]
|
||||||
|
|
||||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_71vis"]
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_71vis"]
|
||||||
bg_color = Color(0, 0, 0, 1)
|
bg_color = Color(0, 0, 0, 0)
|
||||||
border_width_left = 2
|
border_width_left = 2
|
||||||
border_width_top = 2
|
border_width_top = 2
|
||||||
border_width_right = 2
|
border_width_right = 2
|
||||||
border_width_bottom = 2
|
border_width_bottom = 2
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_xm34r"]
|
||||||
|
bg_color = Color(0.435192, 0.435192, 0.435192, 1)
|
||||||
|
border_width_left = 2
|
||||||
|
border_width_top = 2
|
||||||
|
border_width_right = 2
|
||||||
|
border_width_bottom = 2
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4ss0k"]
|
||||||
|
bg_color = Color(0, 0, 0, 1)
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
default_font = ExtResource("1_d85by")
|
default_font = ExtResource("1_d85by")
|
||||||
Button/styles/focus = SubResource("StyleBoxFlat_71vis")
|
Button/styles/focus = SubResource("StyleBoxFlat_71vis")
|
||||||
|
Button/styles/pressed = SubResource("StyleBoxFlat_xm34r")
|
||||||
|
PopupMenu/styles/panel = SubResource("StyleBoxFlat_4ss0k")
|
||||||
|
|
|
@ -15,6 +15,10 @@ run/main_scene="res://scenes/world.tscn"
|
||||||
config/features=PackedStringArray("4.3", "GL Compatibility")
|
config/features=PackedStringArray("4.3", "GL Compatibility")
|
||||||
config/icon="res://icon.svg"
|
config/icon="res://icon.svg"
|
||||||
|
|
||||||
|
[autoload]
|
||||||
|
|
||||||
|
Globals="*res://scripts/globals.gd"
|
||||||
|
|
||||||
[debug]
|
[debug]
|
||||||
|
|
||||||
gdscript/warnings/untyped_declaration=2
|
gdscript/warnings/untyped_declaration=2
|
||||||
|
|
|
@ -1,10 +1,25 @@
|
||||||
[gd_scene format=3 uid="uid://b36mrl1orxgqc"]
|
[gd_scene load_steps=6 format=3 uid="uid://b36mrl1orxgqc"]
|
||||||
|
|
||||||
[node name="MapEditor" type="Window"]
|
[ext_resource type="Script" path="res://scripts/map_editor.gd" id="1_5dotd"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://c7eq6tbstw18j" path="res://sprites/tiles/tileatlas.png" id="1_5ghci"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://xy3bire6ba3t" path="res://sprites/tiles/tile_atlas_texture.tres" id="1_m6mu8"]
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_l6av2"]
|
||||||
|
atlas = ExtResource("1_5ghci")
|
||||||
|
region = Rect2(0, 0, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_tg82d"]
|
||||||
|
atlas = ExtResource("1_5ghci")
|
||||||
|
region = Rect2(16, 0, 16, 16)
|
||||||
|
|
||||||
|
[node name="MapEditor" type="Window" node_paths=PackedStringArray("LeftMouseSelector", "RightMouseSelector")]
|
||||||
title = "Map Editor"
|
title = "Map Editor"
|
||||||
initial_position = 1
|
initial_position = 1
|
||||||
size = Vector2i(128, 128)
|
size = Vector2i(128, 128)
|
||||||
unresizable = true
|
unresizable = true
|
||||||
|
script = ExtResource("1_5dotd")
|
||||||
|
LeftMouseSelector = NodePath("List/MouseButtonTiles/Left")
|
||||||
|
RightMouseSelector = NodePath("List/MouseButtonTiles/Right")
|
||||||
|
|
||||||
[node name="List" type="VBoxContainer" parent="."]
|
[node name="List" type="VBoxContainer" parent="."]
|
||||||
anchors_preset = 15
|
anchors_preset = 15
|
||||||
|
@ -20,3 +35,28 @@ text = "TEST"
|
||||||
[node name="Button2" type="Button" parent="List"]
|
[node name="Button2" type="Button" parent="List"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "TEST"
|
text = "TEST"
|
||||||
|
|
||||||
|
[node name="MouseButtonTiles" type="HBoxContainer" parent="List"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Left" type="MenuButton" parent="List/MouseButtonTiles"]
|
||||||
|
layout_mode = 2
|
||||||
|
icon = ExtResource("1_m6mu8")
|
||||||
|
flat = false
|
||||||
|
item_count = 2
|
||||||
|
popup/item_0/text = "Wall"
|
||||||
|
popup/item_0/icon = SubResource("AtlasTexture_l6av2")
|
||||||
|
popup/item_1/text = "Air"
|
||||||
|
popup/item_1/icon = SubResource("AtlasTexture_tg82d")
|
||||||
|
popup/item_1/id = 1
|
||||||
|
|
||||||
|
[node name="Right" type="MenuButton" parent="List/MouseButtonTiles"]
|
||||||
|
layout_mode = 2
|
||||||
|
icon = ExtResource("1_m6mu8")
|
||||||
|
flat = false
|
||||||
|
item_count = 2
|
||||||
|
popup/item_0/text = "Wall"
|
||||||
|
popup/item_0/icon = SubResource("AtlasTexture_l6av2")
|
||||||
|
popup/item_1/text = "Air"
|
||||||
|
popup/item_1/icon = SubResource("AtlasTexture_tg82d")
|
||||||
|
popup/item_1/id = 1
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
[gd_scene load_steps=4 format=4 uid="uid://cj745xdkfs07e"]
|
[gd_scene load_steps=5 format=4 uid="uid://cj745xdkfs07e"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://scripts/world.gd" id="1_esegs"]
|
[ext_resource type="Script" path="res://scripts/world.gd" id="1_esegs"]
|
||||||
[ext_resource type="TileSet" uid="uid://stnhmu4q2gsn" path="res://etc/main_tileset.tres" id="1_xai1s"]
|
[ext_resource type="TileSet" uid="uid://stnhmu4q2gsn" path="res://etc/main_tileset.tres" id="1_xai1s"]
|
||||||
[ext_resource type="PackedScene" uid="uid://qf1tj52hbpvv" path="res://scenes/player.tscn" id="2_6pie4"]
|
[ext_resource type="PackedScene" uid="uid://qf1tj52hbpvv" path="res://scenes/player.tscn" id="2_6pie4"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://b36mrl1orxgqc" path="res://scenes/map_editor.tscn" id="4_hc035"]
|
||||||
|
|
||||||
[node name="World" type="Node2D"]
|
[node name="World" type="Node2D"]
|
||||||
script = ExtResource("1_esegs")
|
script = ExtResource("1_esegs")
|
||||||
|
@ -14,3 +15,6 @@ tile_set = ExtResource("1_xai1s")
|
||||||
|
|
||||||
[node name="Player" parent="." instance=ExtResource("2_6pie4")]
|
[node name="Player" parent="." instance=ExtResource("2_6pie4")]
|
||||||
position = Vector2(128, 128)
|
position = Vector2(128, 128)
|
||||||
|
|
||||||
|
[node name="MapEditor" parent="." node_paths=PackedStringArray("WorldTiles") instance=ExtResource("4_hc035")]
|
||||||
|
WorldTiles = NodePath("../TileMapLayer")
|
||||||
|
|
12
scripts/globals.gd
Normal file
12
scripts/globals.gd
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
extends Node
|
||||||
|
|
||||||
|
enum {WALL, AIR}
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready() -> void:
|
||||||
|
pass # Replace with function body.
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
pass
|
30
scripts/map_editor.gd
Normal file
30
scripts/map_editor.gd
Normal file
|
@ -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
|
|
@ -4,7 +4,7 @@ extends Node2D
|
||||||
|
|
||||||
var chunkPos : Vector2i = Vector2i(0,0)
|
var chunkPos : Vector2i = Vector2i(0,0)
|
||||||
|
|
||||||
enum {WALL, AIR}
|
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
@ -13,14 +13,8 @@ func _ready() -> void:
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
|
pass
|
||||||
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))
|
|
||||||
|
|
||||||
func load_game(path:String, tile_map_layer:TileMapLayer) -> void:
|
func load_game(path:String, tile_map_layer:TileMapLayer) -> void:
|
||||||
var file : FileAccess = FileAccess.open(path, FileAccess.READ)
|
var file : FileAccess = FileAccess.open(path, FileAccess.READ)
|
||||||
|
|
7
sprites/tiles/tile_atlas_texture.tres
Normal file
7
sprites/tiles/tile_atlas_texture.tres
Normal file
|
@ -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)
|
Loading…
Reference in a new issue