From 8de4ebf7fe6cadc6a583b633311b3dfc87e39ed2 Mon Sep 17 00:00:00 2001 From: Mauro Joaquin Escudero Date: Tue, 15 Oct 2024 20:10:27 -0300 Subject: [PATCH] feat: improve godot visualizer (#76) --- .gitignore | 3 +- godot-visualizer/.gitignore | 1 + godot-visualizer/map.gd | 68 - godot-visualizer/map.tscn | 38 - godot-visualizer/orbits.gd | 32 - godot-visualizer/project.godot | 9 +- godot-visualizer/resources/asteria.svg | 1387 +++++++++++++++++ godot-visualizer/resources/asteria.svg.import | 37 + godot-visualizer/resources/cell_empty.png | Bin 0 -> 8472 bytes .../cell_empty.png.import} | 8 +- godot-visualizer/resources/cell_filled.png | Bin 0 -> 8627 bytes .../cell_filled.png.import} | 8 +- godot-visualizer/resources/fonts/DMSans.ttf | Bin 0 -> 56376 bytes .../resources/fonts/DMSans.ttf.import | 34 + .../resources/fonts/JetBrainsMono.ttf | Bin 0 -> 114920 bytes .../resources/fonts/JetBrainsMono.ttf.import | 34 + .../resources/fonts/Monocraft.otf | Bin 0 -> 244256 bytes .../resources/fonts/Monocraft.otf.import | 34 + .../resources/fonts/RobotoMono.ttf | Bin 0 -> 87236 bytes .../resources/fonts/RobotoMono.ttf.import | 34 + godot-visualizer/{ => resources}/fuel.svg | 0 .../{ => resources}/fuel.svg.import | 8 +- godot-visualizer/{ => resources}/icon.svg | 0 .../{ => resources}/icon.svg.import | 8 +- .../resources/icons/icon_close.svg | 6 + .../resources/icons/icon_close.svg.import | 37 + .../resources/icons/icon_copy.svg | 6 + .../resources/icons/icon_copy.svg.import | 37 + .../resources/icons/icon_fuel_active.svg | 20 + .../icons/icon_fuel_active.svg.import | 37 + .../resources/icons/icon_fuel_inactive.svg | 20 + .../icons/icon_fuel_inactive.svg.import | 37 + .../resources/icons/icon_gather_fuel.svg | 10 + .../icons/icon_gather_fuel.svg.import | 37 + .../resources/icons/icon_mine_token.svg | 10 + .../icons/icon_mine_token.svg.import | 37 + .../resources/icons/icon_move.svg | 11 + .../resources/icons/icon_move.svg.import | 37 + .../resources/icons/icon_ship_active.svg | 17 + .../icons/icon_ship_active.svg.import | 37 + .../resources/icons/icon_ship_inactive.svg | 17 + .../icons/icon_ship_inactive.svg.import | 37 + .../resources/icons/icon_token_active.svg | 17 + .../icons/icon_token_active.svg.import | 37 + .../resources/icons/icon_token_inactive.svg | 17 + .../icons/icon_token_inactive.svg.import | 37 + .../{ship.svg => resources/ship_0.svg} | 0 godot-visualizer/resources/ship_0.svg.import | 37 + godot-visualizer/resources/ship_1.svg | 109 ++ godot-visualizer/resources/ship_1.svg.import | 37 + godot-visualizer/resources/ship_2.svg | 99 ++ godot-visualizer/resources/ship_2.svg.import | 37 + godot-visualizer/resources/ship_3.svg | 148 ++ .../ship_3.svg.import} | 8 +- godot-visualizer/resources/ship_4.svg | 136 ++ godot-visualizer/resources/ship_4.svg.import | 37 + godot-visualizer/resources/ship_5.svg | 145 ++ godot-visualizer/resources/ship_5.svg.import | 37 + godot-visualizer/resources/ship_6.svg | 124 ++ godot-visualizer/resources/ship_6.svg.import | 37 + .../{ => resources}/starfield_back.png | Bin .../resources/starfield_back.png.import | 34 + .../{ => resources}/starfield_front.png | Bin .../resources/starfield_front.png.import | 34 + .../resources/textures/button.tres | 8 + .../resources/textures/code_block.tres | 8 + .../resources/textures/minimap.tres | 13 + .../resources/textures/minimap_control.tres | 13 + .../resources/textures/modal.tres | 13 + .../resources/textures/sidebar.tres | 13 + .../resources/textures/tooltip.tres | 13 + godot-visualizer/{ => resources}/token.svg | 0 .../{ => resources}/token.svg.import | 8 +- godot-visualizer/scenes/asteria.tscn | 8 + godot-visualizer/{ => scenes}/fuel.tscn | 2 +- godot-visualizer/scenes/main.tscn | 355 +++++ godot-visualizer/scenes/map.tscn | 155 ++ godot-visualizer/scenes/ship.tscn | 76 + godot-visualizer/{ => scenes}/token.tscn | 2 +- godot-visualizer/{ => scripts}/camera.gd | 37 +- godot-visualizer/scripts/global.gd | 63 + godot-visualizer/scripts/main.gd | 47 + godot-visualizer/scripts/map.gd | 130 ++ godot-visualizer/scripts/minimap.gd | 83 + .../scripts/minimap_background.gd | 7 + godot-visualizer/scripts/modal_panel.gd | 43 + godot-visualizer/scripts/orbits.gd | 14 + godot-visualizer/scripts/ship.gd | 5 + godot-visualizer/ship.tscn | 8 - 89 files changed, 4301 insertions(+), 183 deletions(-) delete mode 100644 godot-visualizer/map.gd delete mode 100644 godot-visualizer/map.tscn delete mode 100644 godot-visualizer/orbits.gd create mode 100644 godot-visualizer/resources/asteria.svg create mode 100644 godot-visualizer/resources/asteria.svg.import create mode 100644 godot-visualizer/resources/cell_empty.png rename godot-visualizer/{starfield_back.png.import => resources/cell_empty.png.import} (68%) create mode 100644 godot-visualizer/resources/cell_filled.png rename godot-visualizer/{starfield_front.png.import => resources/cell_filled.png.import} (68%) create mode 100755 godot-visualizer/resources/fonts/DMSans.ttf create mode 100644 godot-visualizer/resources/fonts/DMSans.ttf.import create mode 100755 godot-visualizer/resources/fonts/JetBrainsMono.ttf create mode 100644 godot-visualizer/resources/fonts/JetBrainsMono.ttf.import create mode 100644 godot-visualizer/resources/fonts/Monocraft.otf create mode 100644 godot-visualizer/resources/fonts/Monocraft.otf.import create mode 100755 godot-visualizer/resources/fonts/RobotoMono.ttf create mode 100644 godot-visualizer/resources/fonts/RobotoMono.ttf.import rename godot-visualizer/{ => resources}/fuel.svg (100%) rename godot-visualizer/{ => resources}/fuel.svg.import (73%) rename godot-visualizer/{ => resources}/icon.svg (100%) rename godot-visualizer/{ => resources}/icon.svg.import (73%) create mode 100644 godot-visualizer/resources/icons/icon_close.svg create mode 100644 godot-visualizer/resources/icons/icon_close.svg.import create mode 100644 godot-visualizer/resources/icons/icon_copy.svg create mode 100644 godot-visualizer/resources/icons/icon_copy.svg.import create mode 100644 godot-visualizer/resources/icons/icon_fuel_active.svg create mode 100644 godot-visualizer/resources/icons/icon_fuel_active.svg.import create mode 100644 godot-visualizer/resources/icons/icon_fuel_inactive.svg create mode 100644 godot-visualizer/resources/icons/icon_fuel_inactive.svg.import create mode 100644 godot-visualizer/resources/icons/icon_gather_fuel.svg create mode 100644 godot-visualizer/resources/icons/icon_gather_fuel.svg.import create mode 100644 godot-visualizer/resources/icons/icon_mine_token.svg create mode 100644 godot-visualizer/resources/icons/icon_mine_token.svg.import create mode 100644 godot-visualizer/resources/icons/icon_move.svg create mode 100644 godot-visualizer/resources/icons/icon_move.svg.import create mode 100644 godot-visualizer/resources/icons/icon_ship_active.svg create mode 100644 godot-visualizer/resources/icons/icon_ship_active.svg.import create mode 100644 godot-visualizer/resources/icons/icon_ship_inactive.svg create mode 100644 godot-visualizer/resources/icons/icon_ship_inactive.svg.import create mode 100644 godot-visualizer/resources/icons/icon_token_active.svg create mode 100644 godot-visualizer/resources/icons/icon_token_active.svg.import create mode 100644 godot-visualizer/resources/icons/icon_token_inactive.svg create mode 100644 godot-visualizer/resources/icons/icon_token_inactive.svg.import rename godot-visualizer/{ship.svg => resources/ship_0.svg} (100%) create mode 100644 godot-visualizer/resources/ship_0.svg.import create mode 100644 godot-visualizer/resources/ship_1.svg create mode 100644 godot-visualizer/resources/ship_1.svg.import create mode 100644 godot-visualizer/resources/ship_2.svg create mode 100644 godot-visualizer/resources/ship_2.svg.import create mode 100644 godot-visualizer/resources/ship_3.svg rename godot-visualizer/{ship.svg.import => resources/ship_3.svg.import} (73%) create mode 100644 godot-visualizer/resources/ship_4.svg create mode 100644 godot-visualizer/resources/ship_4.svg.import create mode 100644 godot-visualizer/resources/ship_5.svg create mode 100644 godot-visualizer/resources/ship_5.svg.import create mode 100644 godot-visualizer/resources/ship_6.svg create mode 100644 godot-visualizer/resources/ship_6.svg.import rename godot-visualizer/{ => resources}/starfield_back.png (100%) create mode 100644 godot-visualizer/resources/starfield_back.png.import rename godot-visualizer/{ => resources}/starfield_front.png (100%) create mode 100644 godot-visualizer/resources/starfield_front.png.import create mode 100644 godot-visualizer/resources/textures/button.tres create mode 100644 godot-visualizer/resources/textures/code_block.tres create mode 100644 godot-visualizer/resources/textures/minimap.tres create mode 100644 godot-visualizer/resources/textures/minimap_control.tres create mode 100644 godot-visualizer/resources/textures/modal.tres create mode 100644 godot-visualizer/resources/textures/sidebar.tres create mode 100644 godot-visualizer/resources/textures/tooltip.tres rename godot-visualizer/{ => resources}/token.svg (100%) rename godot-visualizer/{ => resources}/token.svg.import (73%) create mode 100644 godot-visualizer/scenes/asteria.tscn rename godot-visualizer/{ => scenes}/fuel.tscn (63%) create mode 100644 godot-visualizer/scenes/main.tscn create mode 100644 godot-visualizer/scenes/map.tscn create mode 100644 godot-visualizer/scenes/ship.tscn rename godot-visualizer/{ => scenes}/token.tscn (63%) rename godot-visualizer/{ => scripts}/camera.gd (50%) create mode 100644 godot-visualizer/scripts/global.gd create mode 100644 godot-visualizer/scripts/main.gd create mode 100644 godot-visualizer/scripts/map.gd create mode 100644 godot-visualizer/scripts/minimap.gd create mode 100644 godot-visualizer/scripts/minimap_background.gd create mode 100644 godot-visualizer/scripts/modal_panel.gd create mode 100644 godot-visualizer/scripts/orbits.gd create mode 100644 godot-visualizer/scripts/ship.gd delete mode 100644 godot-visualizer/ship.tscn diff --git a/.gitignore b/.gitignore index bed3abc..9e27a6b 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,5 @@ target # .env files **/.env -.mono \ No newline at end of file +.mono +**/.DS_Store \ No newline at end of file diff --git a/godot-visualizer/.gitignore b/godot-visualizer/.gitignore index 729cc78..d9e5cdb 100644 --- a/godot-visualizer/.gitignore +++ b/godot-visualizer/.gitignore @@ -2,3 +2,4 @@ .godot/ /android/ build/ +**/.DS_Store \ No newline at end of file diff --git a/godot-visualizer/map.gd b/godot-visualizer/map.gd deleted file mode 100644 index 0913ba4..0000000 --- a/godot-visualizer/map.gd +++ /dev/null @@ -1,68 +0,0 @@ -extends Node2D - -@export var ship_scene: PackedScene -@export var fuel_scene: PackedScene -@export var token_scene: PackedScene - -const cell_size = 128 -const grid_size = 50 - -var draw_grid = false -var cells = [] - - -func _ready() -> void: - const center = Vector2(0, 0) - const min_range = -grid_size / 2 - const max_range = +grid_size / 2 - - # TODO: Remove all this test data - for i in range(10): - var fuel = fuel_scene.instantiate() - fuel.position.x = randi_range(min_range, max_range) * cell_size - fuel.position.y = randi_range(min_range, max_range) * cell_size - cells.append(fuel.position) - add_child(fuel) - - var token = token_scene.instantiate() - token.position.x = randi_range(min_range, max_range) * cell_size - token.position.y = randi_range(min_range, max_range) * cell_size - cells.append(token.position) - add_child(token) - - for i in range(20): - var ship = ship_scene.instantiate() - ship.position.x = randi_range(min_range, max_range) * cell_size - ship.position.y = randi_range(min_range, max_range) * cell_size - ship.rotation = ship.position.angle_to_point(center) + PI/2 - cells.append(ship.position) - add_child(ship) - - var token = token_scene.instantiate() - token.position = center - cells.append(token.position) - add_child(token) - - -# TODO: This is only to show the reference grid, it should be removed in the future -func _draw() -> void: - if draw_grid: - const size = Vector2(cell_size, cell_size) - for cell in cells: - draw_rect(Rect2(cell-size/2, size), Color(255,0,0), false, 1, true) - - -# TODO: This is only to show the reference grid, it should be removed in the future -func _process(delta: float) -> void: - if Input.is_action_just_released("ui_down"): - draw_grid = !draw_grid - queue_redraw() - - if Input.is_action_just_released("ui_up"): - $Camera.zoom = Vector2(1, 1) - - if Input.is_action_just_released("ui_left"): - $Camera.zoom -= Vector2(.1, .1) - - if Input.is_action_just_released("ui_right"): - $Camera.zoom += Vector2(.1, .1) diff --git a/godot-visualizer/map.tscn b/godot-visualizer/map.tscn deleted file mode 100644 index fd8cdbd..0000000 --- a/godot-visualizer/map.tscn +++ /dev/null @@ -1,38 +0,0 @@ -[gd_scene load_steps=9 format=3 uid="uid://ch6xqejnd1rqf"] - -[ext_resource type="PackedScene" uid="uid://w6xfts7trly" path="res://ship.tscn" id="1_7owwp"] -[ext_resource type="Script" path="res://map.gd" id="1_n1of1"] -[ext_resource type="PackedScene" uid="uid://q0rcij55u7bg" path="res://fuel.tscn" id="3_ox4nu"] -[ext_resource type="PackedScene" uid="uid://5y7v35p7p3lu" path="res://token.tscn" id="4_77b38"] -[ext_resource type="Script" path="res://camera.gd" id="6_1ih2g"] -[ext_resource type="Texture2D" uid="uid://djnlvjncgvnmd" path="res://starfield_front.png" id="6_cyois"] -[ext_resource type="Texture2D" uid="uid://c5ve1jos1jyel" path="res://starfield_back.png" id="7_rre6e"] -[ext_resource type="Script" path="res://orbits.gd" id="8_uc43w"] - -[node name="Map" type="Node2D"] -script = ExtResource("1_n1of1") -ship_scene = ExtResource("1_7owwp") -fuel_scene = ExtResource("3_ox4nu") -token_scene = ExtResource("4_77b38") - -[node name="Camera" type="Camera2D" parent="."] -script = ExtResource("6_1ih2g") - -[node name="Parallax2D" type="Parallax2D" parent="."] -scroll_scale = Vector2(0.17, 0.17) -repeat_size = Vector2(3840, 2160) -repeat_times = 4 - -[node name="Sprite2D" type="Sprite2D" parent="Parallax2D"] -texture = ExtResource("6_cyois") - -[node name="Parallax2D2" type="Parallax2D" parent="."] -scroll_scale = Vector2(0.1, 0.1) -repeat_size = Vector2(3840, 2160) -repeat_times = 4 - -[node name="Sprite2D" type="Sprite2D" parent="Parallax2D2"] -texture = ExtResource("7_rre6e") - -[node name="Orbits" type="Sprite2D" parent="."] -script = ExtResource("8_uc43w") diff --git a/godot-visualizer/orbits.gd b/godot-visualizer/orbits.gd deleted file mode 100644 index 5c815b1..0000000 --- a/godot-visualizer/orbits.gd +++ /dev/null @@ -1,32 +0,0 @@ -extends Sprite2D - -const cell_size = 128 -const grid_size = 50 - -var draw_grid = false - -func _draw(): - - for i in range(1, grid_size/2, 2): - draw_circle(Vector2(0, 0), i * cell_size + (cell_size/2), Color(255, 247, 93, .2), false, 2, true) - - # TODO: Improve this - for i in range(grid_size/2, grid_size/(PI/2)+PI, 2): - var opacity = (round(grid_size/(PI/2)+PI)-i-2)/(round(grid_size/(PI/2)+PI)-grid_size/2-2) * .2 - draw_circle(Vector2(0, 0), i * cell_size + (cell_size/2), Color(255, 247, 93, opacity), false, 2, true) - - # TODO: This is only a reference grid, it should be removed in the future - if draw_grid: - const min_range = -grid_size / 2 * cell_size - const max_range = (grid_size + 2) / 2 * cell_size - const size = Vector2(cell_size, cell_size) / 2 - for i in range(min_range, max_range+cell_size, cell_size): - draw_line(Vector2(min_range, i)-size, Vector2(max_range, i)-size, Color(255,255,255,.2), 1, true) - draw_line(Vector2(i, min_range)-size, Vector2(i, max_range)-size, Color(255,255,255,.2), 1, true) - - -# TODO: This is only to show the reference grid, it should be removed in the future -func _process(delta: float) -> void: - if Input.is_action_just_released("ui_down"): - draw_grid = !draw_grid - queue_redraw() diff --git a/godot-visualizer/project.godot b/godot-visualizer/project.godot index 11e03f3..2c65d48 100644 --- a/godot-visualizer/project.godot +++ b/godot-visualizer/project.godot @@ -11,15 +11,18 @@ config_version=5 [application] config/name="visualizer" -run/main_scene="res://map.tscn" +run/main_scene="res://scenes/main.tscn" config/features=PackedStringArray("4.3", "GL Compatibility") -config/icon="res://icon.svg" +config/icon="res://resources/icon.svg" + +[autoload] + +Global="*res://scripts/global.gd" [display] window/size/viewport_width=3840 window/size/viewport_height=2160 -window/size/resizable=false [rendering] diff --git a/godot-visualizer/resources/asteria.svg b/godot-visualizer/resources/asteria.svg new file mode 100644 index 0000000..752ab6a --- /dev/null +++ b/godot-visualizer/resources/asteria.svg @@ -0,0 +1,1387 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/godot-visualizer/resources/asteria.svg.import b/godot-visualizer/resources/asteria.svg.import new file mode 100644 index 0000000..992f507 --- /dev/null +++ b/godot-visualizer/resources/asteria.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dn2bbnhfqljgs" +path="res://.godot/imported/asteria.svg-2f19471a91c6c6cb29dcae936debff7f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/asteria.svg" +dest_files=["res://.godot/imported/asteria.svg-2f19471a91c6c6cb29dcae936debff7f.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/godot-visualizer/resources/cell_empty.png b/godot-visualizer/resources/cell_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..5718abcc512a31f3d29a2fdf8cfdfb11631c183b GIT binary patch literal 8472 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 literal 0 HcmV?d00001 diff --git a/godot-visualizer/starfield_front.png.import b/godot-visualizer/resources/cell_filled.png.import similarity index 68% rename from godot-visualizer/starfield_front.png.import rename to godot-visualizer/resources/cell_filled.png.import index bd60605..34bac79 100644 --- a/godot-visualizer/starfield_front.png.import +++ b/godot-visualizer/resources/cell_filled.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://djnlvjncgvnmd" -path="res://.godot/imported/starfield_front.png-6c6eb2955b4b62982759d9ee2b58700e.ctex" +uid="uid://cgamwuuobmt2w" +path="res://.godot/imported/cell_filled.png-739b5cec82bc5ffeb1118443c19160d3.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://starfield_front.png" -dest_files=["res://.godot/imported/starfield_front.png-6c6eb2955b4b62982759d9ee2b58700e.ctex"] +source_file="res://resources/cell_filled.png" +dest_files=["res://.godot/imported/cell_filled.png-739b5cec82bc5ffeb1118443c19160d3.ctex"] [params] diff --git a/godot-visualizer/resources/fonts/DMSans.ttf b/godot-visualizer/resources/fonts/DMSans.ttf new file mode 100755 index 0000000000000000000000000000000000000000..841d31d038c41be0d39f02df191c2a07b0205571 GIT binary patch literal 56376 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 Tk8=9|rSuuKq7Jm4R|ozdoXwx6 literal 0 HcmV?d00001 diff --git a/godot-visualizer/resources/fonts/DMSans.ttf.import b/godot-visualizer/resources/fonts/DMSans.ttf.import new file mode 100644 index 0000000..4372236 --- /dev/null +++ b/godot-visualizer/resources/fonts/DMSans.ttf.import @@ -0,0 +1,34 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://b7vayqoopjyv" +path="res://.godot/imported/DMSans.ttf-1ca0ff37547ea3f6fd39b7244a229299.fontdata" + +[deps] + +source_file="res://resources/fonts/DMSans.ttf" +dest_files=["res://.godot/imported/DMSans.ttf-1ca0ff37547ea3f6fd39b7244a229299.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +disable_embedded_bitmaps=true +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/godot-visualizer/resources/fonts/JetBrainsMono.ttf b/godot-visualizer/resources/fonts/JetBrainsMono.ttf new file mode 100755 index 0000000000000000000000000000000000000000..ad71d92bb1c4dd516e10bc0f5d7c446ea7df6023 GIT binary patch literal 114920 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

FQi39~ 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 WiD&}1U9w};%2Kl9!gJKh^8W$jCY;;= literal 0 HcmV?d00001 diff --git a/godot-visualizer/resources/fonts/RobotoMono.ttf.import b/godot-visualizer/resources/fonts/RobotoMono.ttf.import new file mode 100644 index 0000000..5b5fffb --- /dev/null +++ b/godot-visualizer/resources/fonts/RobotoMono.ttf.import @@ -0,0 +1,34 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://byi50ffeorbd7" +path="res://.godot/imported/RobotoMono.ttf-0ad76197f2bd5bd14713756ec2251ac1.fontdata" + +[deps] + +source_file="res://resources/fonts/RobotoMono.ttf" +dest_files=["res://.godot/imported/RobotoMono.ttf-0ad76197f2bd5bd14713756ec2251ac1.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +disable_embedded_bitmaps=true +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/godot-visualizer/fuel.svg b/godot-visualizer/resources/fuel.svg similarity index 100% rename from godot-visualizer/fuel.svg rename to godot-visualizer/resources/fuel.svg diff --git a/godot-visualizer/fuel.svg.import b/godot-visualizer/resources/fuel.svg.import similarity index 73% rename from godot-visualizer/fuel.svg.import rename to godot-visualizer/resources/fuel.svg.import index eb7de5f..156443f 100644 --- a/godot-visualizer/fuel.svg.import +++ b/godot-visualizer/resources/fuel.svg.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://c8va8sqjmb80f" -path="res://.godot/imported/fuel.svg-29fac8b52e8845235da2498e00ec672a.ctex" +uid="uid://dsuk0k64w3xp7" +path="res://.godot/imported/fuel.svg-12c68426001d8e094a555b9cb813b875.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://fuel.svg" -dest_files=["res://.godot/imported/fuel.svg-29fac8b52e8845235da2498e00ec672a.ctex"] +source_file="res://resources/fuel.svg" +dest_files=["res://.godot/imported/fuel.svg-12c68426001d8e094a555b9cb813b875.ctex"] [params] diff --git a/godot-visualizer/icon.svg b/godot-visualizer/resources/icon.svg similarity index 100% rename from godot-visualizer/icon.svg rename to godot-visualizer/resources/icon.svg diff --git a/godot-visualizer/icon.svg.import b/godot-visualizer/resources/icon.svg.import similarity index 73% rename from godot-visualizer/icon.svg.import rename to godot-visualizer/resources/icon.svg.import index 69dd64b..e64b828 100644 --- a/godot-visualizer/icon.svg.import +++ b/godot-visualizer/resources/icon.svg.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://mgknilsnf8no" -path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +uid="uid://dpxgi2up3m57a" +path="res://.godot/imported/icon.svg-60a93a01b332c0a9192782f1380f6837.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://icon.svg" -dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] +source_file="res://resources/icon.svg" +dest_files=["res://.godot/imported/icon.svg-60a93a01b332c0a9192782f1380f6837.ctex"] [params] diff --git a/godot-visualizer/resources/icons/icon_close.svg b/godot-visualizer/resources/icons/icon_close.svg new file mode 100644 index 0000000..66a6321 --- /dev/null +++ b/godot-visualizer/resources/icons/icon_close.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/godot-visualizer/resources/icons/icon_close.svg.import b/godot-visualizer/resources/icons/icon_close.svg.import new file mode 100644 index 0000000..80e4233 --- /dev/null +++ b/godot-visualizer/resources/icons/icon_close.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://hbgo5cp4jlpy" +path="res://.godot/imported/icon_close.svg-75cbc6cc81cd074791a325698d62abc2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/icons/icon_close.svg" +dest_files=["res://.godot/imported/icon_close.svg-75cbc6cc81cd074791a325698d62abc2.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/godot-visualizer/resources/icons/icon_copy.svg b/godot-visualizer/resources/icons/icon_copy.svg new file mode 100644 index 0000000..e82c1b7 --- /dev/null +++ b/godot-visualizer/resources/icons/icon_copy.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/godot-visualizer/resources/icons/icon_copy.svg.import b/godot-visualizer/resources/icons/icon_copy.svg.import new file mode 100644 index 0000000..0e26640 --- /dev/null +++ b/godot-visualizer/resources/icons/icon_copy.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xhn3u0qbm0b0" +path="res://.godot/imported/icon_copy.svg-97aefc2640189122ae7e6c78f6fcb1db.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/icons/icon_copy.svg" +dest_files=["res://.godot/imported/icon_copy.svg-97aefc2640189122ae7e6c78f6fcb1db.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/godot-visualizer/resources/icons/icon_fuel_active.svg b/godot-visualizer/resources/icons/icon_fuel_active.svg new file mode 100644 index 0000000..bcbfa4d --- /dev/null +++ b/godot-visualizer/resources/icons/icon_fuel_active.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/godot-visualizer/resources/icons/icon_fuel_active.svg.import b/godot-visualizer/resources/icons/icon_fuel_active.svg.import new file mode 100644 index 0000000..2522669 --- /dev/null +++ b/godot-visualizer/resources/icons/icon_fuel_active.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c2u6fpdbxqbrt" +path="res://.godot/imported/icon_fuel_active.svg-78e71cd0426a47ff4f37c5b37480eef8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/icons/icon_fuel_active.svg" +dest_files=["res://.godot/imported/icon_fuel_active.svg-78e71cd0426a47ff4f37c5b37480eef8.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/godot-visualizer/resources/icons/icon_fuel_inactive.svg b/godot-visualizer/resources/icons/icon_fuel_inactive.svg new file mode 100644 index 0000000..705cee6 --- /dev/null +++ b/godot-visualizer/resources/icons/icon_fuel_inactive.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/godot-visualizer/resources/icons/icon_fuel_inactive.svg.import b/godot-visualizer/resources/icons/icon_fuel_inactive.svg.import new file mode 100644 index 0000000..08bc301 --- /dev/null +++ b/godot-visualizer/resources/icons/icon_fuel_inactive.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3ptdeb0ffukj" +path="res://.godot/imported/icon_fuel_inactive.svg-cda5e509bcc5cb59e2a24cb1525c6431.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/icons/icon_fuel_inactive.svg" +dest_files=["res://.godot/imported/icon_fuel_inactive.svg-cda5e509bcc5cb59e2a24cb1525c6431.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/godot-visualizer/resources/icons/icon_gather_fuel.svg b/godot-visualizer/resources/icons/icon_gather_fuel.svg new file mode 100644 index 0000000..038d27d --- /dev/null +++ b/godot-visualizer/resources/icons/icon_gather_fuel.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/godot-visualizer/resources/icons/icon_gather_fuel.svg.import b/godot-visualizer/resources/icons/icon_gather_fuel.svg.import new file mode 100644 index 0000000..15ab165 --- /dev/null +++ b/godot-visualizer/resources/icons/icon_gather_fuel.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bqxqgk3g1ey1a" +path="res://.godot/imported/icon_gather_fuel.svg-e345b4cf645b8dd9ecb0ebc0591929a9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/icons/icon_gather_fuel.svg" +dest_files=["res://.godot/imported/icon_gather_fuel.svg-e345b4cf645b8dd9ecb0ebc0591929a9.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/godot-visualizer/resources/icons/icon_mine_token.svg b/godot-visualizer/resources/icons/icon_mine_token.svg new file mode 100644 index 0000000..ba0628e --- /dev/null +++ b/godot-visualizer/resources/icons/icon_mine_token.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/godot-visualizer/resources/icons/icon_mine_token.svg.import b/godot-visualizer/resources/icons/icon_mine_token.svg.import new file mode 100644 index 0000000..443f837 --- /dev/null +++ b/godot-visualizer/resources/icons/icon_mine_token.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3ctiiwfo7pbr" +path="res://.godot/imported/icon_mine_token.svg-1e4609fb3afc62108848cc4f4563e4b7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/icons/icon_mine_token.svg" +dest_files=["res://.godot/imported/icon_mine_token.svg-1e4609fb3afc62108848cc4f4563e4b7.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/godot-visualizer/resources/icons/icon_move.svg b/godot-visualizer/resources/icons/icon_move.svg new file mode 100644 index 0000000..279abf6 --- /dev/null +++ b/godot-visualizer/resources/icons/icon_move.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/godot-visualizer/resources/icons/icon_move.svg.import b/godot-visualizer/resources/icons/icon_move.svg.import new file mode 100644 index 0000000..bf8386e --- /dev/null +++ b/godot-visualizer/resources/icons/icon_move.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b345rvjpq2yk6" +path="res://.godot/imported/icon_move.svg-5f830dac0c9be9f7a68802c7451d57a2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/icons/icon_move.svg" +dest_files=["res://.godot/imported/icon_move.svg-5f830dac0c9be9f7a68802c7451d57a2.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/godot-visualizer/resources/icons/icon_ship_active.svg b/godot-visualizer/resources/icons/icon_ship_active.svg new file mode 100644 index 0000000..4353903 --- /dev/null +++ b/godot-visualizer/resources/icons/icon_ship_active.svg @@ -0,0 +1,17 @@ + + + + + + + + + \ No newline at end of file diff --git a/godot-visualizer/resources/icons/icon_ship_active.svg.import b/godot-visualizer/resources/icons/icon_ship_active.svg.import new file mode 100644 index 0000000..42c5df6 --- /dev/null +++ b/godot-visualizer/resources/icons/icon_ship_active.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bivcvqtshb7na" +path="res://.godot/imported/icon_ship_active.svg-8b774a8dd05144db87a27d33bedb464d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/icons/icon_ship_active.svg" +dest_files=["res://.godot/imported/icon_ship_active.svg-8b774a8dd05144db87a27d33bedb464d.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/godot-visualizer/resources/icons/icon_ship_inactive.svg b/godot-visualizer/resources/icons/icon_ship_inactive.svg new file mode 100644 index 0000000..69beed6 --- /dev/null +++ b/godot-visualizer/resources/icons/icon_ship_inactive.svg @@ -0,0 +1,17 @@ + + + + + + + + + \ No newline at end of file diff --git a/godot-visualizer/resources/icons/icon_ship_inactive.svg.import b/godot-visualizer/resources/icons/icon_ship_inactive.svg.import new file mode 100644 index 0000000..9270632 --- /dev/null +++ b/godot-visualizer/resources/icons/icon_ship_inactive.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cp4ixcdbrcyhv" +path="res://.godot/imported/icon_ship_inactive.svg-b024bd3f2453750cbe3d185d83ce039f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/icons/icon_ship_inactive.svg" +dest_files=["res://.godot/imported/icon_ship_inactive.svg-b024bd3f2453750cbe3d185d83ce039f.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/godot-visualizer/resources/icons/icon_token_active.svg b/godot-visualizer/resources/icons/icon_token_active.svg new file mode 100644 index 0000000..8da16d8 --- /dev/null +++ b/godot-visualizer/resources/icons/icon_token_active.svg @@ -0,0 +1,17 @@ + + + + + + + + + \ No newline at end of file diff --git a/godot-visualizer/resources/icons/icon_token_active.svg.import b/godot-visualizer/resources/icons/icon_token_active.svg.import new file mode 100644 index 0000000..43a510f --- /dev/null +++ b/godot-visualizer/resources/icons/icon_token_active.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d28tctb3snsau" +path="res://.godot/imported/icon_token_active.svg-9624abd3a6314de18a1f5c2174b7273d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/icons/icon_token_active.svg" +dest_files=["res://.godot/imported/icon_token_active.svg-9624abd3a6314de18a1f5c2174b7273d.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/godot-visualizer/resources/icons/icon_token_inactive.svg b/godot-visualizer/resources/icons/icon_token_inactive.svg new file mode 100644 index 0000000..dcfd94b --- /dev/null +++ b/godot-visualizer/resources/icons/icon_token_inactive.svg @@ -0,0 +1,17 @@ + + + + + + + + + \ No newline at end of file diff --git a/godot-visualizer/resources/icons/icon_token_inactive.svg.import b/godot-visualizer/resources/icons/icon_token_inactive.svg.import new file mode 100644 index 0000000..b6b9fcb --- /dev/null +++ b/godot-visualizer/resources/icons/icon_token_inactive.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://3idp7n15cwd1" +path="res://.godot/imported/icon_token_inactive.svg-79b1db2234166e8ff50e604bc1d97a48.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/icons/icon_token_inactive.svg" +dest_files=["res://.godot/imported/icon_token_inactive.svg-79b1db2234166e8ff50e604bc1d97a48.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/godot-visualizer/ship.svg b/godot-visualizer/resources/ship_0.svg similarity index 100% rename from godot-visualizer/ship.svg rename to godot-visualizer/resources/ship_0.svg diff --git a/godot-visualizer/resources/ship_0.svg.import b/godot-visualizer/resources/ship_0.svg.import new file mode 100644 index 0000000..2861d91 --- /dev/null +++ b/godot-visualizer/resources/ship_0.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dltmh4ynwn83i" +path="res://.godot/imported/ship_0.svg-8d5d717a4823cad792668626528801bf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/ship_0.svg" +dest_files=["res://.godot/imported/ship_0.svg-8d5d717a4823cad792668626528801bf.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/godot-visualizer/resources/ship_1.svg b/godot-visualizer/resources/ship_1.svg new file mode 100644 index 0000000..eb93396 --- /dev/null +++ b/godot-visualizer/resources/ship_1.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/godot-visualizer/resources/ship_1.svg.import b/godot-visualizer/resources/ship_1.svg.import new file mode 100644 index 0000000..3ed6807 --- /dev/null +++ b/godot-visualizer/resources/ship_1.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dls05ajdrko4j" +path="res://.godot/imported/ship_1.svg-92ceb3879ed158244187cce8dbfcfd32.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/ship_1.svg" +dest_files=["res://.godot/imported/ship_1.svg-92ceb3879ed158244187cce8dbfcfd32.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/godot-visualizer/resources/ship_2.svg b/godot-visualizer/resources/ship_2.svg new file mode 100644 index 0000000..4ff929a --- /dev/null +++ b/godot-visualizer/resources/ship_2.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/godot-visualizer/resources/ship_2.svg.import b/godot-visualizer/resources/ship_2.svg.import new file mode 100644 index 0000000..baabb12 --- /dev/null +++ b/godot-visualizer/resources/ship_2.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0eqldqa0aqdu" +path="res://.godot/imported/ship_2.svg-12509c9db82e356a617f947237aab52e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/ship_2.svg" +dest_files=["res://.godot/imported/ship_2.svg-12509c9db82e356a617f947237aab52e.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/godot-visualizer/resources/ship_3.svg b/godot-visualizer/resources/ship_3.svg new file mode 100644 index 0000000..e2ffc9e --- /dev/null +++ b/godot-visualizer/resources/ship_3.svg @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/godot-visualizer/ship.svg.import b/godot-visualizer/resources/ship_3.svg.import similarity index 73% rename from godot-visualizer/ship.svg.import rename to godot-visualizer/resources/ship_3.svg.import index 5e46dcf..60ee189 100644 --- a/godot-visualizer/ship.svg.import +++ b/godot-visualizer/resources/ship_3.svg.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://61jswx2opg0j" -path="res://.godot/imported/ship.svg-b5ef03cb39b509d8bae0e1546d07cd6a.ctex" +uid="uid://drev5b3xhebl" +path="res://.godot/imported/ship_3.svg-f69111389156ee5fdd1dbae57b64727b.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://ship.svg" -dest_files=["res://.godot/imported/ship.svg-b5ef03cb39b509d8bae0e1546d07cd6a.ctex"] +source_file="res://resources/ship_3.svg" +dest_files=["res://.godot/imported/ship_3.svg-f69111389156ee5fdd1dbae57b64727b.ctex"] [params] diff --git a/godot-visualizer/resources/ship_4.svg b/godot-visualizer/resources/ship_4.svg new file mode 100644 index 0000000..929fc68 --- /dev/null +++ b/godot-visualizer/resources/ship_4.svg @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/godot-visualizer/resources/ship_4.svg.import b/godot-visualizer/resources/ship_4.svg.import new file mode 100644 index 0000000..ecb8f57 --- /dev/null +++ b/godot-visualizer/resources/ship_4.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://byya7ak0gn1m0" +path="res://.godot/imported/ship_4.svg-6927c3781e09da68805bfbf7f0989143.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/ship_4.svg" +dest_files=["res://.godot/imported/ship_4.svg-6927c3781e09da68805bfbf7f0989143.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/godot-visualizer/resources/ship_5.svg b/godot-visualizer/resources/ship_5.svg new file mode 100644 index 0000000..57dea25 --- /dev/null +++ b/godot-visualizer/resources/ship_5.svg @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/godot-visualizer/resources/ship_5.svg.import b/godot-visualizer/resources/ship_5.svg.import new file mode 100644 index 0000000..e40d68c --- /dev/null +++ b/godot-visualizer/resources/ship_5.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dp8d4n7kwkc5f" +path="res://.godot/imported/ship_5.svg-9ee2792be744a010ffd391e630cf4e85.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/ship_5.svg" +dest_files=["res://.godot/imported/ship_5.svg-9ee2792be744a010ffd391e630cf4e85.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/godot-visualizer/resources/ship_6.svg b/godot-visualizer/resources/ship_6.svg new file mode 100644 index 0000000..d73a92a --- /dev/null +++ b/godot-visualizer/resources/ship_6.svg @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/godot-visualizer/resources/ship_6.svg.import b/godot-visualizer/resources/ship_6.svg.import new file mode 100644 index 0000000..b72de9f --- /dev/null +++ b/godot-visualizer/resources/ship_6.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqy5r0w0ho1al" +path="res://.godot/imported/ship_6.svg-f19a3a965cc6c62b11f5eae0beee9ee9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/ship_6.svg" +dest_files=["res://.godot/imported/ship_6.svg-f19a3a965cc6c62b11f5eae0beee9ee9.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/godot-visualizer/starfield_back.png b/godot-visualizer/resources/starfield_back.png similarity index 100% rename from godot-visualizer/starfield_back.png rename to godot-visualizer/resources/starfield_back.png diff --git a/godot-visualizer/resources/starfield_back.png.import b/godot-visualizer/resources/starfield_back.png.import new file mode 100644 index 0000000..5b6322c --- /dev/null +++ b/godot-visualizer/resources/starfield_back.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://be8jdo2wq8ogi" +path="res://.godot/imported/starfield_back.png-a793c526c29f99ad256fea9cb2a7c543.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/starfield_back.png" +dest_files=["res://.godot/imported/starfield_back.png-a793c526c29f99ad256fea9cb2a7c543.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 diff --git a/godot-visualizer/starfield_front.png b/godot-visualizer/resources/starfield_front.png similarity index 100% rename from godot-visualizer/starfield_front.png rename to godot-visualizer/resources/starfield_front.png diff --git a/godot-visualizer/resources/starfield_front.png.import b/godot-visualizer/resources/starfield_front.png.import new file mode 100644 index 0000000..e5897f8 --- /dev/null +++ b/godot-visualizer/resources/starfield_front.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cb1air8qyw14i" +path="res://.godot/imported/starfield_front.png-4979518a2f906771c6a1e4ca8f7d53d9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/starfield_front.png" +dest_files=["res://.godot/imported/starfield_front.png-4979518a2f906771c6a1e4ca8f7d53d9.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 diff --git a/godot-visualizer/resources/textures/button.tres b/godot-visualizer/resources/textures/button.tres new file mode 100644 index 0000000..f9b152c --- /dev/null +++ b/godot-visualizer/resources/textures/button.tres @@ -0,0 +1,8 @@ +[gd_resource type="StyleBoxFlat" format=3 uid="uid://crwklp3ly8akb"] + +[resource] +bg_color = Color(0.027451, 0.952941, 0.901961, 1) +corner_radius_top_left = 80 +corner_radius_top_right = 80 +corner_radius_bottom_right = 80 +corner_radius_bottom_left = 80 diff --git a/godot-visualizer/resources/textures/code_block.tres b/godot-visualizer/resources/textures/code_block.tres new file mode 100644 index 0000000..88978ab --- /dev/null +++ b/godot-visualizer/resources/textures/code_block.tres @@ -0,0 +1,8 @@ +[gd_resource type="StyleBoxFlat" format=3 uid="uid://clslw7srsonv1"] + +[resource] +bg_color = Color(0.0745098, 0.0745098, 0.0745098, 1) +corner_radius_top_left = 40 +corner_radius_top_right = 40 +corner_radius_bottom_right = 40 +corner_radius_bottom_left = 40 diff --git a/godot-visualizer/resources/textures/minimap.tres b/godot-visualizer/resources/textures/minimap.tres new file mode 100644 index 0000000..e923c8a --- /dev/null +++ b/godot-visualizer/resources/textures/minimap.tres @@ -0,0 +1,13 @@ +[gd_resource type="StyleBoxFlat" format=3 uid="uid://bwavatvw423ao"] + +[resource] +bg_color = Color(0.0392157, 0.0392157, 0.0392157, 0.784314) +border_width_left = 3 +border_width_top = 3 +border_width_right = 3 +border_width_bottom = 3 +border_color = Color(0.266667, 0.266667, 0.266667, 1) +corner_radius_top_left = 80 +corner_radius_top_right = 80 +corner_radius_bottom_right = 80 +corner_radius_bottom_left = 80 diff --git a/godot-visualizer/resources/textures/minimap_control.tres b/godot-visualizer/resources/textures/minimap_control.tres new file mode 100644 index 0000000..ecf8365 --- /dev/null +++ b/godot-visualizer/resources/textures/minimap_control.tres @@ -0,0 +1,13 @@ +[gd_resource type="StyleBoxFlat" format=3 uid="uid://dgj63ntwqnn7l"] + +[resource] +bg_color = Color(0.0392157, 0.0392157, 0.0392157, 0.784314) +border_width_left = 3 +border_width_top = 3 +border_width_right = 3 +border_width_bottom = 3 +border_color = Color(0.266667, 0.266667, 0.266667, 1) +corner_radius_top_left = 40 +corner_radius_top_right = 40 +corner_radius_bottom_right = 40 +corner_radius_bottom_left = 40 diff --git a/godot-visualizer/resources/textures/modal.tres b/godot-visualizer/resources/textures/modal.tres new file mode 100644 index 0000000..09e83f5 --- /dev/null +++ b/godot-visualizer/resources/textures/modal.tres @@ -0,0 +1,13 @@ +[gd_resource type="StyleBoxFlat" format=3 uid="uid://rxcw47ry73rj"] + +[resource] +bg_color = Color(0, 0, 0, 1) +border_width_left = 3 +border_width_top = 3 +border_width_right = 3 +border_width_bottom = 3 +border_color = Color(0.027451, 0.952941, 0.901961, 1) +corner_radius_top_left = 80 +corner_radius_top_right = 80 +corner_radius_bottom_right = 80 +corner_radius_bottom_left = 80 diff --git a/godot-visualizer/resources/textures/sidebar.tres b/godot-visualizer/resources/textures/sidebar.tres new file mode 100644 index 0000000..171c2d4 --- /dev/null +++ b/godot-visualizer/resources/textures/sidebar.tres @@ -0,0 +1,13 @@ +[gd_resource type="StyleBoxFlat" format=3 uid="uid://cu582sfg7gs6x"] + +[resource] +bg_color = Color(0.027451, 0.952941, 0.901961, 0.0980392) +border_width_left = 3 +border_width_top = 3 +border_width_right = 3 +border_width_bottom = 3 +border_color = Color(0.027451, 0.952941, 0.901961, 1) +corner_radius_top_left = 80 +corner_radius_top_right = 80 +corner_radius_bottom_right = 80 +corner_radius_bottom_left = 80 diff --git a/godot-visualizer/resources/textures/tooltip.tres b/godot-visualizer/resources/textures/tooltip.tres new file mode 100644 index 0000000..a5c2fa8 --- /dev/null +++ b/godot-visualizer/resources/textures/tooltip.tres @@ -0,0 +1,13 @@ +[gd_resource type="StyleBoxFlat" format=3 uid="uid://cuqtwls2gtt0v"] + +[resource] +bg_color = Color(0, 0, 0, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(1, 1, 1, 1) +corner_radius_top_left = 40 +corner_radius_top_right = 40 +corner_radius_bottom_right = 40 +corner_radius_bottom_left = 40 diff --git a/godot-visualizer/token.svg b/godot-visualizer/resources/token.svg similarity index 100% rename from godot-visualizer/token.svg rename to godot-visualizer/resources/token.svg diff --git a/godot-visualizer/token.svg.import b/godot-visualizer/resources/token.svg.import similarity index 73% rename from godot-visualizer/token.svg.import rename to godot-visualizer/resources/token.svg.import index ebd1f4e..69e82c3 100644 --- a/godot-visualizer/token.svg.import +++ b/godot-visualizer/resources/token.svg.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://bl8bk2x8qr6vd" -path="res://.godot/imported/token.svg-4ddb6ada8a319491290300503ece5b6b.ctex" +uid="uid://cyy3qkjasf0tx" +path="res://.godot/imported/token.svg-8ce00107987e9eed0f5f114942c02305.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://token.svg" -dest_files=["res://.godot/imported/token.svg-4ddb6ada8a319491290300503ece5b6b.ctex"] +source_file="res://resources/token.svg" +dest_files=["res://.godot/imported/token.svg-8ce00107987e9eed0f5f114942c02305.ctex"] [params] diff --git a/godot-visualizer/scenes/asteria.tscn b/godot-visualizer/scenes/asteria.tscn new file mode 100644 index 0000000..af0feeb --- /dev/null +++ b/godot-visualizer/scenes/asteria.tscn @@ -0,0 +1,8 @@ +[gd_scene load_steps=2 format=3 uid="uid://dtec1i7ha2aui"] + +[ext_resource type="Texture2D" uid="uid://bwprdtwn2mjqm" path="res://resources/asteria.svg" id="1_mqc4j"] + +[node name="Asteria" type="Node2D"] + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("1_mqc4j") diff --git a/godot-visualizer/fuel.tscn b/godot-visualizer/scenes/fuel.tscn similarity index 63% rename from godot-visualizer/fuel.tscn rename to godot-visualizer/scenes/fuel.tscn index a0ddafc..39e9085 100644 --- a/godot-visualizer/fuel.tscn +++ b/godot-visualizer/scenes/fuel.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://q0rcij55u7bg"] -[ext_resource type="Texture2D" uid="uid://c8va8sqjmb80f" path="res://fuel.svg" id="1_tg1ui"] +[ext_resource type="Texture2D" uid="uid://dsuk0k64w3xp7" path="res://resources/fuel.svg" id="1_tg1ui"] [node name="Fuel" type="Node2D"] diff --git a/godot-visualizer/scenes/main.tscn b/godot-visualizer/scenes/main.tscn new file mode 100644 index 0000000..1d1dd33 --- /dev/null +++ b/godot-visualizer/scenes/main.tscn @@ -0,0 +1,355 @@ +[gd_scene load_steps=30 format=3 uid="uid://b5ypw8og4vdle"] + +[ext_resource type="Script" path="res://scripts/main.gd" id="1_4dsde"] +[ext_resource type="PackedScene" uid="uid://ch6xqejnd1rqf" path="res://scenes/map.tscn" id="1_quhpi"] +[ext_resource type="Script" path="res://scripts/minimap_background.gd" id="3_46wls"] +[ext_resource type="StyleBox" uid="uid://cu582sfg7gs6x" path="res://resources/textures/sidebar.tres" id="3_af3cf"] +[ext_resource type="StyleBox" uid="uid://rxcw47ry73rj" path="res://resources/textures/modal.tres" id="3_m73wt"] +[ext_resource type="Script" path="res://scripts/minimap.gd" id="3_n1hxv"] +[ext_resource type="StyleBox" uid="uid://bwavatvw423ao" path="res://resources/textures/minimap.tres" id="3_n4qh8"] +[ext_resource type="Script" path="res://scripts/modal_panel.gd" id="4_0ugj1"] +[ext_resource type="FontFile" uid="uid://blmuew6tip1jc" path="res://resources/fonts/Monocraft.otf" id="4_r2c3r"] +[ext_resource type="Texture2D" uid="uid://b345rvjpq2yk6" path="res://resources/icons/icon_move.svg" id="4_yky0p"] +[ext_resource type="Texture2D" uid="uid://hbgo5cp4jlpy" path="res://resources/icons/icon_close.svg" id="5_1gbsb"] +[ext_resource type="Texture2D" uid="uid://bqxqgk3g1ey1a" path="res://resources/icons/icon_gather_fuel.svg" id="5_nwrgf"] +[ext_resource type="Texture2D" uid="uid://cp4ixcdbrcyhv" path="res://resources/icons/icon_ship_inactive.svg" id="6_0e6fi"] +[ext_resource type="Texture2D" uid="uid://d3ctiiwfo7pbr" path="res://resources/icons/icon_mine_token.svg" id="6_3xw4f"] +[ext_resource type="StyleBox" uid="uid://dgj63ntwqnn7l" path="res://resources/textures/minimap_control.tres" id="6_fqp1o"] +[ext_resource type="StyleBox" uid="uid://clslw7srsonv1" path="res://resources/textures/code_block.tres" id="6_qbv5r"] +[ext_resource type="FontFile" uid="uid://byi50ffeorbd7" path="res://resources/fonts/RobotoMono.ttf" id="7_nw756"] +[ext_resource type="Texture2D" uid="uid://b3ptdeb0ffukj" path="res://resources/icons/icon_fuel_inactive.svg" id="7_wdsf5"] +[ext_resource type="Texture2D" uid="uid://bivcvqtshb7na" path="res://resources/icons/icon_ship_active.svg" id="8_8e8w0"] +[ext_resource type="StyleBox" uid="uid://crwklp3ly8akb" path="res://resources/textures/button.tres" id="8_gxn1n"] +[ext_resource type="Texture2D" uid="uid://3idp7n15cwd1" path="res://resources/icons/icon_token_inactive.svg" id="8_vjqgv"] +[ext_resource type="Texture2D" uid="uid://c2u6fpdbxqbrt" path="res://resources/icons/icon_fuel_active.svg" id="10_ycgkw"] +[ext_resource type="Texture2D" uid="uid://d28tctb3snsau" path="res://resources/icons/icon_token_active.svg" id="12_dpchl"] + +[sub_resource type="LabelSettings" id="LabelSettings_jrdxu"] +font = ExtResource("4_r2c3r") +font_size = 64 +font_color = Color(0.027451, 0.952941, 0.901961, 1) + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_qgk7r"] + +[sub_resource type="FontVariation" id="FontVariation_wpmnj"] +base_font = ExtResource("4_r2c3r") + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ltxx7"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_aclu6"] +bg_color = Color(0, 0, 0, 0) + +[sub_resource type="ButtonGroup" id="ButtonGroup_1ar33"] + +[node name="Main" type="Node"] +script = ExtResource("1_4dsde") + +[node name="HTTPRequest" type="HTTPRequest" parent="."] + +[node name="MapCanvasLayer" type="CanvasLayer" parent="."] +follow_viewport_enabled = true + +[node name="Map" parent="MapCanvasLayer" instance=ExtResource("1_quhpi")] + +[node name="GUICanvasLayer" type="CanvasLayer" parent="."] +layer = 2 + +[node name="HBoxContainer" type="HBoxContainer" parent="GUICanvasLayer"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +alignment = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="GUICanvasLayer/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 10 +alignment = 2 + +[node name="MarginContainerTop" type="MarginContainer" parent="GUICanvasLayer/HBoxContainer/VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 +theme_override_constants/margin_top = 40 +theme_override_constants/margin_right = 40 +theme_override_constants/margin_bottom = 40 + +[node name="HBoxContainer" type="HBoxContainer" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop"] +layout_mode = 2 +theme_override_constants/separation = 40 +alignment = 2 + +[node name="ModalPanel" type="Panel" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer"] +visible = false +custom_minimum_size = Vector2(1000, 0) +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_styles/panel = ExtResource("3_m73wt") +script = ExtResource("4_0ugj1") + +[node name="MarginContainer" type="MarginContainer" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +theme_override_constants/margin_left = 56 +theme_override_constants/margin_top = 56 +theme_override_constants/margin_right = 56 +theme_override_constants/margin_bottom = 56 + +[node name="VBoxContainer" type="VBoxContainer" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel/MarginContainer"] +layout_mode = 2 +mouse_filter = 2 +theme_override_constants/separation = 64 + +[node name="MarginContainer" type="MarginContainer" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel/MarginContainer/VBoxContainer"] +layout_mode = 2 +mouse_filter = 2 +theme_override_constants/margin_left = 24 +theme_override_constants/margin_top = 32 +theme_override_constants/margin_right = 24 +theme_override_constants/margin_bottom = 8 + +[node name="HBoxContainer" type="HBoxContainer" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel/MarginContainer/VBoxContainer/MarginContainer"] +layout_mode = 2 +mouse_filter = 2 + +[node name="TitleLabel" type="Label" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel/MarginContainer/VBoxContainer/MarginContainer/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 1 +text = "MOVE" +label_settings = SubResource("LabelSettings_jrdxu") +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="CloseButton" type="TextureButton" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel/MarginContainer/VBoxContainer/MarginContainer/HBoxContainer"] +custom_minimum_size = Vector2(64, 64) +layout_mode = 2 +mouse_filter = 1 +texture_normal = ExtResource("5_1gbsb") +ignore_texture_size = true +stretch_mode = 0 + +[node name="Panel" type="Panel" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel/MarginContainer/VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 +mouse_filter = 2 +theme_override_styles/panel = ExtResource("6_qbv5r") + +[node name="MarginContainer" type="MarginContainer" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel/MarginContainer/VBoxContainer/Panel"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +theme_override_constants/margin_left = 32 +theme_override_constants/margin_top = 32 +theme_override_constants/margin_right = 32 +theme_override_constants/margin_bottom = 32 + +[node name="RichTextLabel" type="RichTextLabel" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel/MarginContainer/VBoxContainer/Panel/MarginContainer"] +layout_mode = 2 +focus_mode = 2 +mouse_filter = 1 +theme_override_fonts/normal_font = ExtResource("7_nw756") +theme_override_font_sizes/normal_font_size = 30 +theme_override_styles/focus = SubResource("StyleBoxEmpty_qgk7r") +text = "const { Client } = require(\"pg\");

// replace the following values
async function main() {
const client = new Client({
 ship name: \"dbsync-v3.demeter.run\",
 pilot name: 5432,
 pos_x: \"dmtr_dbsync1jjv9pyqyna\",
 pos_y: \"your_password\",
});

await client.connect();

//query example
const res = await client.query(
 \"SELECT * FROM block ORDER BY id DESC LIMIT 10\"
);

console.log(res.rows);

//remember to close the connection
client.end();
}

main();" +context_menu_enabled = true +selection_enabled = true + +[node name="ButtonMarginContainer" type="MarginContainer" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel/MarginContainer/VBoxContainer"] +layout_mode = 2 +mouse_filter = 2 + +[node name="Panel" type="Panel" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel/MarginContainer/VBoxContainer/ButtonMarginContainer"] +layout_mode = 2 +mouse_filter = 2 +theme_override_styles/panel = ExtResource("8_gxn1n") + +[node name="CopyButton" type="Button" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel/MarginContainer/VBoxContainer/ButtonMarginContainer"] +custom_minimum_size = Vector2(0, 136) +layout_mode = 2 +mouse_filter = 1 +theme_override_colors/font_disabled_color = Color(0.0901961, 0.0901961, 0.0901961, 1) +theme_override_colors/font_hover_pressed_color = Color(0.0901961, 0.0901961, 0.0901961, 1) +theme_override_colors/font_hover_color = Color(0.0901961, 0.0901961, 0.0901961, 1) +theme_override_colors/font_pressed_color = Color(0.0901961, 0.0901961, 0.0901961, 1) +theme_override_colors/font_focus_color = Color(0.0901961, 0.0901961, 0.0901961, 1) +theme_override_colors/font_color = Color(0.0901961, 0.0901961, 0.0901961, 1) +theme_override_fonts/font = SubResource("FontVariation_wpmnj") +theme_override_font_sizes/font_size = 48 +theme_override_styles/focus = SubResource("StyleBoxEmpty_ltxx7") +text = "Copy code" +flat = true + +[node name="SidebarPanel" type="Panel" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer"] +custom_minimum_size = Vector2(320, 960) +layout_mode = 2 +size_flags_horizontal = 8 +size_flags_vertical = 0 +theme_override_styles/panel = ExtResource("3_af3cf") + +[node name="CenterContainer" type="CenterContainer" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/SidebarPanel"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/SidebarPanel/CenterContainer"] +layout_mode = 2 +mouse_filter = 2 +theme_override_constants/separation = 16 +alignment = 1 + +[node name="MoveButton" type="TextureButton" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/SidebarPanel/CenterContainer/VBoxContainer"] +custom_minimum_size = Vector2(264, 264) +layout_mode = 2 +mouse_filter = 1 +texture_normal = ExtResource("4_yky0p") +ignore_texture_size = true +stretch_mode = 0 + +[node name="GatherFuelButton" type="TextureButton" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/SidebarPanel/CenterContainer/VBoxContainer"] +custom_minimum_size = Vector2(264, 264) +layout_mode = 2 +mouse_filter = 1 +texture_normal = ExtResource("5_nwrgf") +ignore_texture_size = true +stretch_mode = 0 + +[node name="MineTokenButton" type="TextureButton" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/SidebarPanel/CenterContainer/VBoxContainer"] +custom_minimum_size = Vector2(264, 264) +layout_mode = 2 +mouse_filter = 1 +texture_normal = ExtResource("6_3xw4f") +ignore_texture_size = true +stretch_mode = 0 + +[node name="MarginContainerBottom" type="MarginContainer" parent="GUICanvasLayer/HBoxContainer/VBoxContainer"] +layout_mode = 2 +theme_override_constants/margin_left = 0 +theme_override_constants/margin_top = 0 +theme_override_constants/margin_right = 40 +theme_override_constants/margin_bottom = 40 + +[node name="VBoxContainer" type="VBoxContainer" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom"] +layout_mode = 2 +size_flags_horizontal = 8 + +[node name="MarginContainer" type="MarginContainer" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer"] +layout_mode = 2 + +[node name="MinimapBackground" type="Panel" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/MarginContainer"] +clip_contents = true +layout_mode = 2 +theme_override_styles/panel = ExtResource("3_n4qh8") +script = ExtResource("3_46wls") + +[node name="MarginContainer" type="MarginContainer" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/MarginContainer"] +clip_contents = true +layout_mode = 2 +theme_override_constants/margin_left = 24 +theme_override_constants/margin_top = 24 +theme_override_constants/margin_right = 24 +theme_override_constants/margin_bottom = 24 + +[node name="Minimap" type="Panel" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/MarginContainer/MarginContainer"] +custom_minimum_size = Vector2(800, 400) +layout_mode = 2 +size_flags_vertical = 10 +theme_override_styles/panel = SubResource("StyleBoxFlat_aclu6") +script = ExtResource("3_n1hxv") + +[node name="CenterContainer" type="CenterContainer" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer"] +layout_mode = 2 + +[node name="MarginContainer" type="MarginContainer" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/CenterContainer"] +layout_mode = 2 +theme_override_constants/margin_top = 40 + +[node name="MinimapControlPanel" type="Panel" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/CenterContainer/MarginContainer"] +custom_minimum_size = Vector2(320, 120) +layout_mode = 2 +theme_override_styles/panel = ExtResource("6_fqp1o") + +[node name="CenterContainer" type="CenterContainer" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/CenterContainer/MarginContainer/MinimapControlPanel"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 + +[node name="HBoxContainer" type="HBoxContainer" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/CenterContainer/MarginContainer/MinimapControlPanel/CenterContainer"] +layout_mode = 2 +mouse_filter = 2 + +[node name="ShipButton" type="TextureButton" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/CenterContainer/MarginContainer/MinimapControlPanel/CenterContainer/HBoxContainer"] +custom_minimum_size = Vector2(88, 88) +layout_mode = 2 +mouse_filter = 1 +toggle_mode = true +action_mode = 0 +button_group = SubResource("ButtonGroup_1ar33") +texture_normal = ExtResource("6_0e6fi") +texture_pressed = ExtResource("8_8e8w0") +ignore_texture_size = true +stretch_mode = 0 + +[node name="FuelButton" type="TextureButton" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/CenterContainer/MarginContainer/MinimapControlPanel/CenterContainer/HBoxContainer"] +custom_minimum_size = Vector2(88, 88) +layout_mode = 2 +mouse_filter = 1 +toggle_mode = true +button_pressed = true +button_group = SubResource("ButtonGroup_1ar33") +texture_normal = ExtResource("7_wdsf5") +texture_pressed = ExtResource("10_ycgkw") +ignore_texture_size = true +stretch_mode = 0 + +[node name="TokenButton" type="TextureButton" parent="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/CenterContainer/MarginContainer/MinimapControlPanel/CenterContainer/HBoxContainer"] +custom_minimum_size = Vector2(88, 88) +layout_mode = 2 +mouse_filter = 1 +toggle_mode = true +button_group = SubResource("ButtonGroup_1ar33") +texture_normal = ExtResource("8_vjqgv") +texture_pressed = ExtResource("12_dpchl") +ignore_texture_size = true +stretch_mode = 0 + +[connection signal="dataset_updated" from="." to="MapCanvasLayer/Map" method="_on_main_dataset_updated"] +[connection signal="dataset_updated" from="." to="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/MarginContainer/MarginContainer/Minimap" method="_on_main_dataset_updated"] +[connection signal="camera_position_changed" from="MapCanvasLayer/Map" to="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/MarginContainer/MarginContainer/Minimap" method="_on_map_camera_position_changed"] +[connection signal="camera_zoom_changed" from="MapCanvasLayer/Map" to="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/MarginContainer/MarginContainer/Minimap" method="_on_map_camera_zoom_changed"] +[connection signal="mouse_entered" from="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel" to="MapCanvasLayer/Map" method="_on_modal_panel_mouse_entered"] +[connection signal="mouse_exited" from="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel" to="MapCanvasLayer/Map" method="_on_modal_panel_mouse_exited"] +[connection signal="pressed" from="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel/MarginContainer/VBoxContainer/MarginContainer/HBoxContainer/CloseButton" to="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel" method="_on_close_button_pressed"] +[connection signal="pressed" from="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel/MarginContainer/VBoxContainer/ButtonMarginContainer/CopyButton" to="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel" method="_on_copy_button_pressed"] +[connection signal="mouse_entered" from="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/SidebarPanel" to="MapCanvasLayer/Map" method="_on_sidebar_panel_mouse_entered"] +[connection signal="mouse_exited" from="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/SidebarPanel" to="MapCanvasLayer/Map" method="_on_sidebar_panel_mouse_exited"] +[connection signal="pressed" from="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/SidebarPanel/CenterContainer/VBoxContainer/MoveButton" to="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel" method="_on_move_button_pressed"] +[connection signal="pressed" from="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/SidebarPanel/CenterContainer/VBoxContainer/GatherFuelButton" to="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel" method="_on_gather_fuel_button_pressed"] +[connection signal="pressed" from="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/SidebarPanel/CenterContainer/VBoxContainer/MineTokenButton" to="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerTop/HBoxContainer/ModalPanel" method="_on_mine_token_button_pressed"] +[connection signal="minimap_position_changed" from="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/MarginContainer/MarginContainer/Minimap" to="MapCanvasLayer/Map" method="_on_minimap_minimap_position_changed"] +[connection signal="mouse_entered" from="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/MarginContainer/MarginContainer/Minimap" to="MapCanvasLayer/Map" method="_on_minimap_mouse_entered"] +[connection signal="mouse_exited" from="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/MarginContainer/MarginContainer/Minimap" to="MapCanvasLayer/Map" method="_on_minimap_mouse_exited"] +[connection signal="mouse_entered" from="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/CenterContainer/MarginContainer/MinimapControlPanel" to="MapCanvasLayer/Map" method="_on_minimap_control_panel_mouse_entered"] +[connection signal="mouse_exited" from="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/CenterContainer/MarginContainer/MinimapControlPanel" to="MapCanvasLayer/Map" method="_on_minimap_control_panel_mouse_exited"] +[connection signal="toggled" from="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/CenterContainer/MarginContainer/MinimapControlPanel/CenterContainer/HBoxContainer/ShipButton" to="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/MarginContainer/MarginContainer/Minimap" method="_on_ship_button_toggled"] +[connection signal="toggled" from="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/CenterContainer/MarginContainer/MinimapControlPanel/CenterContainer/HBoxContainer/FuelButton" to="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/MarginContainer/MarginContainer/Minimap" method="_on_fuel_button_toggled"] +[connection signal="toggled" from="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/CenterContainer/MarginContainer/MinimapControlPanel/CenterContainer/HBoxContainer/TokenButton" to="GUICanvasLayer/HBoxContainer/VBoxContainer/MarginContainerBottom/VBoxContainer/MarginContainer/MarginContainer/Minimap" method="_on_token_button_toggled"] diff --git a/godot-visualizer/scenes/map.tscn b/godot-visualizer/scenes/map.tscn new file mode 100644 index 0000000..4b602b1 --- /dev/null +++ b/godot-visualizer/scenes/map.tscn @@ -0,0 +1,155 @@ +[gd_scene load_steps=17 format=3 uid="uid://ch6xqejnd1rqf"] + +[ext_resource type="PackedScene" uid="uid://w6xfts7trly" path="res://scenes/ship.tscn" id="1_7owwp"] +[ext_resource type="Script" path="res://scripts/map.gd" id="1_n1of1"] +[ext_resource type="PackedScene" uid="uid://q0rcij55u7bg" path="res://scenes/fuel.tscn" id="3_ox4nu"] +[ext_resource type="PackedScene" uid="uid://5y7v35p7p3lu" path="res://scenes/token.tscn" id="4_77b38"] +[ext_resource type="PackedScene" uid="uid://dtec1i7ha2aui" path="res://scenes/asteria.tscn" id="5_66lng"] +[ext_resource type="Script" path="res://scripts/camera.gd" id="6_1ih2g"] +[ext_resource type="Texture2D" uid="uid://cb1air8qyw14i" path="res://resources/starfield_front.png" id="6_cyois"] +[ext_resource type="Texture2D" uid="uid://be8jdo2wq8ogi" path="res://resources/starfield_back.png" id="7_rre6e"] +[ext_resource type="Script" path="res://scripts/orbits.gd" id="8_uc43w"] +[ext_resource type="Texture2D" uid="uid://c5m2uchbr3ryj" path="res://resources/cell_empty.png" id="10_x72s0"] +[ext_resource type="Texture2D" uid="uid://cgamwuuobmt2w" path="res://resources/cell_filled.png" id="11_hooak"] +[ext_resource type="StyleBox" uid="uid://cuqtwls2gtt0v" path="res://resources/textures/tooltip.tres" id="12_nmxok"] +[ext_resource type="FontFile" uid="uid://2ctrem352y4" path="res://resources/fonts/JetBrainsMono.ttf" id="13_8n7ak"] +[ext_resource type="FontFile" uid="uid://b7vayqoopjyv" path="res://resources/fonts/DMSans.ttf" id="14_pk7pu"] + +[sub_resource type="SpriteFrames" id="SpriteFrames_73s6b"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("10_x72s0") +}], +"loop": true, +"name": &"empty", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("11_hooak") +}], +"loop": true, +"name": &"filled", +"speed": 5.0 +}] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ftxwg"] +bg_color = Color(1, 1, 1, 1) + +[node name="Map" type="Node2D"] +script = ExtResource("1_n1of1") +ship_scene = ExtResource("1_7owwp") +fuel_scene = ExtResource("3_ox4nu") +token_scene = ExtResource("4_77b38") +asteria_scene = ExtResource("5_66lng") + +[node name="Camera" type="Camera2D" parent="."] +script = ExtResource("6_1ih2g") + +[node name="Parallax2D" type="Parallax2D" parent="."] +scroll_scale = Vector2(0.17, 0.17) +repeat_size = Vector2(3840, 2160) +repeat_times = 4 + +[node name="Sprite2D" type="Sprite2D" parent="Parallax2D"] +texture = ExtResource("6_cyois") + +[node name="Parallax2D2" type="Parallax2D" parent="."] +scroll_scale = Vector2(0.1, 0.1) +repeat_size = Vector2(3840, 2160) +repeat_times = 4 + +[node name="Sprite2D" type="Sprite2D" parent="Parallax2D2"] +texture = ExtResource("7_rre6e") + +[node name="Orbits" type="Sprite2D" parent="."] +script = ExtResource("8_uc43w") + +[node name="Entities" type="Sprite2D" parent="."] + +[node name="Cell" type="AnimatedSprite2D" parent="."] +sprite_frames = SubResource("SpriteFrames_73s6b") +animation = &"filled" + +[node name="Tooltip" type="Panel" parent="Cell"] +custom_minimum_size = Vector2(560, 392) +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -536.0 +offset_top = -776.0 +offset_right = 24.0 +offset_bottom = -384.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/panel = ExtResource("12_nmxok") + +[node name="MarginContainer" type="MarginContainer" parent="Cell/Tooltip"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/margin_left = 40 +theme_override_constants/margin_top = 40 +theme_override_constants/margin_right = 40 +theme_override_constants/margin_bottom = 40 + +[node name="VBoxContainer" type="VBoxContainer" parent="Cell/Tooltip/MarginContainer"] +layout_mode = 2 +theme_override_constants/separation = 20 + +[node name="Title" type="Label" parent="Cell/Tooltip/MarginContainer/VBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(1, 1, 1, 1) +theme_override_fonts/font = ExtResource("13_8n7ak") +theme_override_font_sizes/font_size = 36 +text = "SHIP" +horizontal_alignment = 1 +text_overrun_behavior = 3 +uppercase = true + +[node name="Panel" type="Panel" parent="Cell/Tooltip/MarginContainer/VBoxContainer"] +custom_minimum_size = Vector2(0, 1) +layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_ftxwg") + +[node name="Position" type="Label" parent="Cell/Tooltip/MarginContainer/VBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.694118, 0.694118, 0.694118, 1) +theme_override_fonts/font = ExtResource("14_pk7pu") +theme_override_font_sizes/font_size = 32 +text = "Position | 0, 0" +text_overrun_behavior = 3 + +[node name="Address" type="Label" parent="Cell/Tooltip/MarginContainer/VBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.694118, 0.694118, 0.694118, 1) +theme_override_fonts/font = ExtResource("14_pk7pu") +theme_override_font_sizes/font_size = 32 +text = "Address | ***1234" +text_overrun_behavior = 3 + +[node name="Fuel" type="Label" parent="Cell/Tooltip/MarginContainer/VBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.694118, 0.694118, 0.694118, 1) +theme_override_fonts/font = ExtResource("14_pk7pu") +theme_override_font_sizes/font_size = 32 +text = "Fuel | 0/0" +text_overrun_behavior = 3 + +[node name="Coins" type="Label" parent="Cell/Tooltip/MarginContainer/VBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.694118, 0.694118, 0.694118, 1) +theme_override_fonts/font = ExtResource("14_pk7pu") +theme_override_font_sizes/font_size = 32 +text = "Coins | 0/0" +text_overrun_behavior = 3 + +[connection signal="minimap_position_changed" from="." to="Camera" method="_on_map_minimap_position_changed"] +[connection signal="mouse_hover_gui" from="." to="Camera" method="_on_map_mouse_hover_gui"] +[connection signal="position_changed" from="Camera" to="." method="_on_camera_position_changed"] diff --git a/godot-visualizer/scenes/ship.tscn b/godot-visualizer/scenes/ship.tscn new file mode 100644 index 0000000..e8b4099 --- /dev/null +++ b/godot-visualizer/scenes/ship.tscn @@ -0,0 +1,76 @@ +[gd_scene load_steps=10 format=3 uid="uid://w6xfts7trly"] + +[ext_resource type="Script" path="res://scripts/ship.gd" id="1_5o6hx"] +[ext_resource type="Texture2D" uid="uid://dltmh4ynwn83i" path="res://resources/ship_0.svg" id="1_trx63"] +[ext_resource type="Texture2D" uid="uid://dls05ajdrko4j" path="res://resources/ship_1.svg" id="2_y17kv"] +[ext_resource type="Texture2D" uid="uid://b0eqldqa0aqdu" path="res://resources/ship_2.svg" id="3_4ekt0"] +[ext_resource type="Texture2D" uid="uid://drev5b3xhebl" path="res://resources/ship_3.svg" id="4_cxswx"] +[ext_resource type="Texture2D" uid="uid://byya7ak0gn1m0" path="res://resources/ship_4.svg" id="5_m1qnp"] +[ext_resource type="Texture2D" uid="uid://dp8d4n7kwkc5f" path="res://resources/ship_5.svg" id="6_8oig4"] +[ext_resource type="Texture2D" uid="uid://dqy5r0w0ho1al" path="res://resources/ship_6.svg" id="7_ps3bj"] + +[sub_resource type="SpriteFrames" id="SpriteFrames_ibl1u"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_trx63") +}], +"loop": true, +"name": &"0", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("2_y17kv") +}], +"loop": true, +"name": &"1", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("3_4ekt0") +}], +"loop": true, +"name": &"2", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("4_cxswx") +}], +"loop": true, +"name": &"3", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("5_m1qnp") +}], +"loop": true, +"name": &"4", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("6_8oig4") +}], +"loop": true, +"name": &"5", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("7_ps3bj") +}], +"loop": true, +"name": &"6", +"speed": 5.0 +}] + +[node name="Ship" type="Node2D"] +script = ExtResource("1_5o6hx") + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +sprite_frames = SubResource("SpriteFrames_ibl1u") +animation = &"0" diff --git a/godot-visualizer/token.tscn b/godot-visualizer/scenes/token.tscn similarity index 63% rename from godot-visualizer/token.tscn rename to godot-visualizer/scenes/token.tscn index 764f481..43f6b61 100644 --- a/godot-visualizer/token.tscn +++ b/godot-visualizer/scenes/token.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://5y7v35p7p3lu"] -[ext_resource type="Texture2D" uid="uid://bl8bk2x8qr6vd" path="res://token.svg" id="1_qkmv5"] +[ext_resource type="Texture2D" uid="uid://cyy3qkjasf0tx" path="res://resources/token.svg" id="1_qkmv5"] [node name="Token" type="Node2D"] diff --git a/godot-visualizer/camera.gd b/godot-visualizer/scripts/camera.gd similarity index 50% rename from godot-visualizer/camera.gd rename to godot-visualizer/scripts/camera.gd index f8a9708..ab94348 100644 --- a/godot-visualizer/camera.gd +++ b/godot-visualizer/scripts/camera.gd @@ -1,11 +1,14 @@ extends Camera2D +signal position_changed(position: Vector2) + var is_mouse_pressed var curr_mouse_position var prev_mouse_position var next_camera_position = null var prev_camera_position = position +var mouse_hover_gui = false var mouse_pressed_timer = Timer.new() const mouse_pressed_threshold: float = 0.2 const camera_drag: float = 0.05 @@ -17,26 +20,46 @@ func _ready(): prev_mouse_position = get_viewport().get_mouse_position() + func _process(delta): curr_mouse_position = get_viewport().get_mouse_position() + if is_mouse_pressed: next_camera_position = position - (curr_mouse_position - prev_mouse_position) / zoom - elif next_camera_position: position = position + (next_camera_position - position) * camera_drag + elif next_camera_position: + position = position + (next_camera_position - position) * camera_drag + position_changed.emit(position) + prev_mouse_position = curr_mouse_position + func _input(event): if event is InputEventMouseButton: - is_mouse_pressed = event.pressed - if is_mouse_pressed: - if mouse_pressed_timer.is_stopped(): - mouse_pressed_timer.start(mouse_pressed_threshold) + if !mouse_hover_gui: + is_mouse_pressed = event.pressed + if is_mouse_pressed: + if mouse_pressed_timer.is_stopped(): + mouse_pressed_timer.start(mouse_pressed_threshold) + else: + if !mouse_pressed_timer.is_stopped(): + mouse_pressed_timer.stop() else: - if !mouse_pressed_timer.is_stopped(): - mouse_pressed_timer.stop() + is_mouse_pressed = false elif event is InputEventMouseMotion: if is_mouse_pressed: if mouse_pressed_timer.is_stopped(): prev_camera_position -= event.relative / zoom position = prev_camera_position + position_changed.emit(position) else: prev_camera_position = position + + +func _on_map_minimap_position_changed(minimap_position: Vector2) -> void: + var cell_size = Vector2(Global.get_cell_size(), Global.get_cell_size()) + var grid_size = Vector2(Global.get_grid_size(), Global.get_grid_size()) + next_camera_position = minimap_position * cell_size * (grid_size / 2) + + +func _on_map_mouse_hover_gui(is_hover: bool) -> void: + mouse_hover_gui = is_hover diff --git a/godot-visualizer/scripts/global.gd b/godot-visualizer/scripts/global.gd new file mode 100644 index 0000000..a46c716 --- /dev/null +++ b/godot-visualizer/scripts/global.gd @@ -0,0 +1,63 @@ +extends Node + +const grid_size = 200 +const cell_size = 128 + +var ships: Array[Ship] = [] +var fuels: Array[Fuel] = [] +var asteria: Asteria = null + + +func init_data(data: Variant): + for item in data["data"]["objectsInRadius"]: + + if item["__typename"] == "Ship": + ships.append(Ship.new(item["id"], Vector2(item["position"]["x"], item["position"]["y"]))) + + if item["__typename"] == "Fuel": + fuels.append(Fuel.new(item["fuel"], Vector2(item["position"]["x"], item["position"]["y"]))) + + if item["__typename"] == "Asteria": + asteria = Asteria.new(item["totalRewards"], Vector2(item["position"]["x"], item["position"]["y"])) + +func get_ships(): + return ships + +func get_fuels(): + return fuels + +func get_asteria(): + return asteria + +func get_grid_size(): + return grid_size + +func get_cell_size(): + return cell_size + + +class Ship: + var id: String = "" + var position: Vector2 = Vector2(0, 0) + + func _init(_id: String, _position: Vector2): + id = _id + position = _position + + +class Fuel: + var fuel: int = 0 + var position: Vector2 = Vector2(0, 0) + + func _init(_fuel: int, _position: Vector2): + fuel = _fuel + position = _position + + +class Asteria: + var totalRewards: int = 0 + var position: Vector2 = Vector2(0, 0) + + func _init(_totalRewards: int, _position: Vector2): + totalRewards = _totalRewards + position = _position diff --git a/godot-visualizer/scripts/main.gd b/godot-visualizer/scripts/main.gd new file mode 100644 index 0000000..33fb648 --- /dev/null +++ b/godot-visualizer/scripts/main.gd @@ -0,0 +1,47 @@ +extends Node + +signal dataset_updated + +const radius = 1000 + +const url = "https://8000-skillful-employee-kb9ou6.us1.demeter.run/graphql" +const headers = ["Content-Type: application/json"] +const query = """ +{ + objectsInRadius(center: { x: 0, y: 0 }, radius: %s) { + __typename, + ... on Ship { + id, + position { + x, + y + } + }, + ... on Fuel { + fuel, + position { + x, + y + } + }, + ... on Asteria { + totalRewards, + position { + x, + y + } + } + } +} +""" % radius + + +func _ready(): + $HTTPRequest.request_completed.connect(_on_request_completed) + $HTTPRequest.request(url, headers, HTTPClient.METHOD_POST, JSON.stringify({ "query": query })) + + +func _on_request_completed(result, response_code, headers, body): + var json = JSON.parse_string(body.get_string_from_utf8()) + Global.init_data(json) + dataset_updated.emit() diff --git a/godot-visualizer/scripts/map.gd b/godot-visualizer/scripts/map.gd new file mode 100644 index 0000000..64a3103 --- /dev/null +++ b/godot-visualizer/scripts/map.gd @@ -0,0 +1,130 @@ +extends Node2D + +@export var ship_scene: PackedScene +@export var fuel_scene: PackedScene +@export var token_scene: PackedScene +@export var asteria_scene: PackedScene + +signal camera_position_changed(position: Vector2) +signal camera_zoom_changed(zoom: Vector2) +signal minimap_position_changed(position: Vector2) +signal mouse_hover_gui(is_hover: bool) + +var mouse_entered_sidebar = false +var mouse_entered_minimap = false +var mouse_entered_minimap_control = false +var mouse_entered_modal = false + + +func _on_main_dataset_updated() -> void: + const center = Vector2(0, 0) + var cell_size = Vector2(Global.get_cell_size(), Global.get_cell_size()) + + for ship_data in Global.get_ships(): + var ship = ship_scene.instantiate() + ship.position = ship_data.position * cell_size + ship.rotation = ship.position.angle_to_point(center) + PI/2 + $Entities.add_child(ship) + + for fuel_data in Global.get_fuels(): + var fuel = fuel_scene.instantiate() + fuel.position = fuel_data.position * cell_size + $Entities.add_child(fuel) + + var asteria = asteria_scene.instantiate() + asteria.position = Global.get_asteria().position * cell_size + $Entities.add_child(asteria) + + +func _process(delta: float) -> void: + var cell_size = Global.get_cell_size() + var mouse_position = get_viewport().get_mouse_position() + var viewport_rect = Rect2(Vector2(0,0), get_viewport().size) + + if viewport_rect.has_point(mouse_position) && !is_mouse_hover_gui(): + var cell_position = round((mouse_position - Vector2(get_viewport().size) / 2 + $Camera.position) / cell_size) + $Cell.position = cell_position * cell_size + + var ships = Global.get_ships().filter(func(ship): return ship.position == cell_position) + var fuels = Global.get_fuels().filter(func(fuel): return fuel.position == cell_position) + + if ships.size() > 0 or fuels.size() > 0: + $Cell.animation = "filled" + $Cell/Tooltip.visible = true + if ships.size() > 0: + $Cell/Tooltip/MarginContainer/VBoxContainer/Title.text = "SHIP" + $Cell/Tooltip/MarginContainer/VBoxContainer/Position.text = "Position | %d, %d" % [ships[0].position.x, ships[0].position.y] + $Cell/Tooltip/MarginContainer/VBoxContainer/Address.text = "Address | %s" % ships[0].id + $Cell/Tooltip/MarginContainer/VBoxContainer/Address.visible = true + $Cell/Tooltip/MarginContainer/VBoxContainer/Coins.visible = true + else: + $Cell/Tooltip/MarginContainer/VBoxContainer/Title.text = "FUEL PELLET" + $Cell/Tooltip/MarginContainer/VBoxContainer/Position.text = "Position | %d, %d" % [fuels[0].position.x, fuels[0].position.y] + $Cell/Tooltip/MarginContainer/VBoxContainer/Address.visible = false + $Cell/Tooltip/MarginContainer/VBoxContainer/Coins.visible = false + else: + $Cell.animation = "empty" + $Cell/Tooltip.visible = false + + $Cell.visible = true + else: + $Cell.visible = false + + +func is_mouse_hover_gui() -> bool: + return (mouse_entered_sidebar || + mouse_entered_minimap || + mouse_entered_minimap_control || + mouse_entered_modal) + + +func emit_mouse_hover_gui() -> void: + mouse_hover_gui.emit(is_mouse_hover_gui()) + + +func _on_camera_position_changed(position: Vector2) -> void: + camera_position_changed.emit(position) + + +func _on_minimap_minimap_position_changed(position: Vector2) -> void: + minimap_position_changed.emit(position) + + +func _on_sidebar_panel_mouse_entered() -> void: + mouse_entered_sidebar = true + emit_mouse_hover_gui() + + +func _on_sidebar_panel_mouse_exited() -> void: + mouse_entered_sidebar = false + emit_mouse_hover_gui() + + +func _on_modal_panel_mouse_entered() -> void: + mouse_entered_modal = true + emit_mouse_hover_gui() + + +func _on_modal_panel_mouse_exited() -> void: + mouse_entered_modal = false + emit_mouse_hover_gui() + + +func _on_minimap_mouse_entered() -> void: + mouse_entered_minimap = true + emit_mouse_hover_gui() + + +func _on_minimap_mouse_exited() -> void: + mouse_entered_minimap = false + emit_mouse_hover_gui() + + +func _on_minimap_control_panel_mouse_entered() -> void: + mouse_entered_modal = true + emit_mouse_hover_gui() + + +func _on_minimap_control_panel_mouse_exited() -> void: + mouse_entered_modal = false + emit_mouse_hover_gui() diff --git a/godot-visualizer/scripts/minimap.gd b/godot-visualizer/scripts/minimap.gd new file mode 100644 index 0000000..84d9ed3 --- /dev/null +++ b/godot-visualizer/scripts/minimap.gd @@ -0,0 +1,83 @@ +extends Panel + +signal minimap_position_changed(position: Vector2) + +var camera_position = Vector2(0, 0) +var camera_zoom = Vector2(1, 1) +var minimap_mode = "fuel" + +var is_mouse_pressed = false +var mouse_pressed_timer = Timer.new() +const mouse_pressed_threshold: float = 0.2 + + +func _draw(): + var grid_size = Vector2(Global.get_grid_size(), Global.get_grid_size()) + var map_scale = size / grid_size + var cell_size = Vector2(Global.get_cell_size(), Global.get_cell_size()) + var viewport_scale = Vector2(get_viewport().size) / cell_size * map_scale / camera_zoom + var camera_position_scale = camera_position / cell_size * map_scale + var map_position = Vector2(size.x/2, size.y/2) + + if minimap_mode == "ship": + for ship in Global.get_ships(): + draw_circle(ship.position*map_scale+map_position, 2, Color("#2EBA00"), true, 0, true) + + if minimap_mode == "fuel": + for fuel in Global.get_fuels(): + draw_circle(fuel.position*map_scale+map_position, 2, Color("#7982FD"), true, 0, true) + + draw_rect(Rect2(camera_position_scale+map_position-viewport_scale/2, viewport_scale), Color("#FE1562", .3), true, -1, true) + + +func _input(event): + if event is InputEventMouseButton: + is_mouse_pressed = event.pressed && is_mouse_inside() + if is_mouse_pressed: + if mouse_pressed_timer.is_stopped(): + mouse_pressed_timer.start(mouse_pressed_threshold) + update_map_position() + else: + if !mouse_pressed_timer.is_stopped(): + mouse_pressed_timer.stop() + elif event is InputEventMouseMotion: + if is_mouse_pressed && is_mouse_inside(): + if mouse_pressed_timer.is_stopped(): + update_map_position() + + +func is_mouse_inside() -> bool: + return Rect2(global_position, size).has_point(get_viewport().get_mouse_position()) + + +func update_map_position() -> void: + minimap_position_changed.emit((get_viewport().get_mouse_position() - global_position) / size * Vector2(2,2) - Vector2(1,1)) + + +func _on_main_dataset_updated() -> void: + queue_redraw() + + +func _on_map_camera_position_changed(position: Vector2) -> void: + camera_position = position + queue_redraw() + + +func _on_map_camera_zoom_changed(zoom: Vector2) -> void: + camera_zoom = zoom + queue_redraw() + + +func _on_ship_button_toggled(toggled_on: bool) -> void: + minimap_mode = "ship" + queue_redraw() + + +func _on_fuel_button_toggled(toggled_on: bool) -> void: + minimap_mode = "fuel" + queue_redraw() + + +func _on_token_button_toggled(toggled_on: bool) -> void: + minimap_mode = "token" + queue_redraw() diff --git a/godot-visualizer/scripts/minimap_background.gd b/godot-visualizer/scripts/minimap_background.gd new file mode 100644 index 0000000..ac7ad69 --- /dev/null +++ b/godot-visualizer/scripts/minimap_background.gd @@ -0,0 +1,7 @@ +extends Panel + +const orbits_count = 10 + +func _draw(): + for i in range(orbits_count): + draw_circle(Vector2(size.x/2, size.y/2), size.y / orbits_count * (i + 1), Color("#FFF75D", .1), false, 1, true) diff --git a/godot-visualizer/scripts/modal_panel.gd b/godot-visualizer/scripts/modal_panel.gd new file mode 100644 index 0000000..73b1b6c --- /dev/null +++ b/godot-visualizer/scripts/modal_panel.gd @@ -0,0 +1,43 @@ +extends Panel + + +var mode = null + + +func _on_close_button_pressed() -> void: + visible = false + mode = null + + +func _on_move_button_pressed() -> void: + if mode != "move": + visible = true + mode = "move" + $MarginContainer/VBoxContainer/MarginContainer/HBoxContainer/TitleLabel.text = "MOVE" + else: + visible = false + mode = null + + +func _on_gather_fuel_button_pressed() -> void: + if mode != "gather-fuel": + visible = true + mode = "gather-fuel" + $MarginContainer/VBoxContainer/MarginContainer/HBoxContainer/TitleLabel.text = "GATHER FUEL" + else: + visible = false + mode = null + + +func _on_mine_token_button_pressed() -> void: + if mode != "mine-token": + visible = true + mode = "mine-token" + $MarginContainer/VBoxContainer/MarginContainer/HBoxContainer/TitleLabel.text = "MINE TOKEN" + else: + visible = false + mode = null + + +func _on_copy_button_pressed() -> void: + DisplayServer.clipboard_set("Sample code") diff --git a/godot-visualizer/scripts/orbits.gd b/godot-visualizer/scripts/orbits.gd new file mode 100644 index 0000000..54e8210 --- /dev/null +++ b/godot-visualizer/scripts/orbits.gd @@ -0,0 +1,14 @@ +extends Sprite2D + + +func _draw(): + var grid_size = Global.get_grid_size() + var cell_size = Global.get_cell_size() + + for i in range(4, grid_size/2, 2): + draw_circle(Vector2(0, 0), i * cell_size + (cell_size/2), Color("#FFF75D", .15), false, 2, true) + + # TODO: Improve this + for i in range(grid_size/2, grid_size/(PI/2)+PI, 2): + var opacity = (round(grid_size/(PI/2)+PI)-i-2)/(round(grid_size/(PI/2)+PI)-grid_size/2-2) * .15 + draw_circle(Vector2(0, 0), i * cell_size + (cell_size/2), Color("#FFF75D", opacity), false, 2, true) diff --git a/godot-visualizer/scripts/ship.gd b/godot-visualizer/scripts/ship.gd new file mode 100644 index 0000000..9436de0 --- /dev/null +++ b/godot-visualizer/scripts/ship.gd @@ -0,0 +1,5 @@ +extends Node2D + + +func _ready() -> void: + $AnimatedSprite2D.play(str(randi_range(0, 6))) diff --git a/godot-visualizer/ship.tscn b/godot-visualizer/ship.tscn deleted file mode 100644 index 81ec7ed..0000000 --- a/godot-visualizer/ship.tscn +++ /dev/null @@ -1,8 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://w6xfts7trly"] - -[ext_resource type="Texture2D" uid="uid://61jswx2opg0j" path="res://ship.svg" id="1_trx63"] - -[node name="Ship" type="Node2D"] - -[node name="Sprite2D" type="Sprite2D" parent="."] -texture = ExtResource("1_trx63")