Added base map drawing
This commit is contained in:
@@ -0,0 +1,207 @@
|
||||
class_name AreaMap
|
||||
extends Node2D
|
||||
|
||||
|
||||
const SECTOR_XS = [
|
||||
64 * 1, 64 * 2, 64 * 3,
|
||||
64 * 4, 64 * 5, 64 * 6,
|
||||
64 * 7, 64 * 8, 64 * 9,
|
||||
]
|
||||
|
||||
const SECTOR_YS_FOR_ONE = [
|
||||
64 * 2
|
||||
]
|
||||
|
||||
const SECTOR_YS_FOR_TWO = [
|
||||
64 * 1.5, 64 * 2.5,
|
||||
]
|
||||
|
||||
const SECTOR_YS_FOR_THREE = [
|
||||
64 * 1, 64 * 2, 64 * 3,
|
||||
]
|
||||
|
||||
const CURRENT_SECTOR_INDICATOR_OFFSET = Vector2(0, 16)
|
||||
|
||||
const SECTOR_SCENES : Dictionary[SectorData.SectorType, PackedScene] = {
|
||||
SectorData.SectorType.EmptySector:
|
||||
preload("res://game/area_map/indicators/sectors/empty_sector_indicator.tscn"),
|
||||
SectorData.SectorType.ShopSector:
|
||||
preload("res://game/area_map/indicators/sectors/shop_sector_indicator.tscn"),
|
||||
SectorData.SectorType.RepairSector:
|
||||
preload("res://game/area_map/indicators/sectors/repair_sector_indicator.tscn"),
|
||||
SectorData.SectorType.DebrisSector:
|
||||
preload("res://game/area_map/indicators/sectors/debris_sector_indicator.tscn"),
|
||||
SectorData.SectorType.StartSector:
|
||||
preload("res://game/area_map/indicators/sectors/start_sector_indicator.tscn"),
|
||||
SectorData.SectorType.BossSector:
|
||||
preload("res://game/area_map/indicators/sectors/boss_sector_indicator.tscn"),
|
||||
}
|
||||
const PASSAGE_SCENES : Dictionary[PassageData.PassageAngle, PackedScene] = {
|
||||
PassageData.PassageAngle.Minus45Grad:
|
||||
preload("res://game/area_map/indicators/passages/minus_45_grad_passage_indicator.tscn"),
|
||||
PassageData.PassageAngle.Minus26Grad:
|
||||
preload("res://game/area_map/indicators/passages/minus_26_grad_passage_indicator.tscn"),
|
||||
PassageData.PassageAngle.ZeroGrad:
|
||||
preload("res://game/area_map/indicators/passages/zero_grad_passage_indicator.tscn"),
|
||||
PassageData.PassageAngle.Plus26Grad:
|
||||
preload("res://game/area_map/indicators/passages/plus_26_grad_passage_indicator.tscn"),
|
||||
PassageData.PassageAngle.Plus45Grad:
|
||||
preload("res://game/area_map/indicators/passages/plus_45_grad_passage_indicator.tscn"),
|
||||
}
|
||||
|
||||
const CURRENT_SECTOR_INDICATOR = \
|
||||
preload("res://game/area_map/indicators/current_sector_indicator.tscn")
|
||||
const SELECTED_SECTOR_INDICATOR = \
|
||||
preload("res://game/area_map/indicators/selected_sector_indicator.tscn")
|
||||
|
||||
|
||||
var area_data : AreaData = null:
|
||||
set = _set_area_data
|
||||
|
||||
var current_sector: SectorData = null:
|
||||
set = _set_current_sector
|
||||
|
||||
var selected_sector: SectorData = null:
|
||||
set = _set_selected_sector
|
||||
|
||||
var sector_positions : Dictionary[SectorData, Vector2] = {}
|
||||
|
||||
var test_rng : RandomNumberGenerator = RandomNumberGenerator.new()
|
||||
|
||||
|
||||
@onready var passages_node : Node2D = $Passages
|
||||
@onready var sectors_node : Node2D = $Sectors
|
||||
|
||||
@onready var current_sector_indicator : CurrentSectorIndicator = $CurrentSectorIndicator
|
||||
@onready var selected_sector_indicator : SelectedSectorIndicator = $SelectedSectorIndicator
|
||||
|
||||
@onready var test_area_generator : AreaGenerator = $TestAreaGenerator
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
area_data = test_area_generator.generate(4)
|
||||
test_rng.seed = 0
|
||||
current_sector = _get_random_sector()
|
||||
selected_sector = _get_random_sector()
|
||||
|
||||
|
||||
func _set_area_data(data: AreaData) -> void:
|
||||
area_data = data
|
||||
|
||||
_fill_map()
|
||||
|
||||
|
||||
func _get_random_sector() -> SectorData:
|
||||
if area_data == null: return null
|
||||
if area_data.stages.size() == 0: return null
|
||||
|
||||
var stage_index := test_rng.randf_range(0, area_data.stages.size() - 1)
|
||||
var stage := area_data.stages[stage_index]
|
||||
|
||||
if stage.sectors.size() == 0: return null
|
||||
var sector_index := test_rng.randf_range(0, stage.sectors.size() - 1)
|
||||
|
||||
return stage.sectors[sector_index]
|
||||
|
||||
|
||||
func _fill_sector_positions() -> void:
|
||||
sector_positions.clear()
|
||||
|
||||
if area_data == null: return
|
||||
|
||||
for stage_index in area_data.stages.size():
|
||||
var stage := area_data.stages[stage_index]
|
||||
|
||||
for sector_index in stage.sectors.size():
|
||||
var sector := stage.sectors[sector_index]
|
||||
|
||||
var sector_position := _get_sector_position(
|
||||
stage_index, sector_index, stage.sectors.size()
|
||||
)
|
||||
sector_positions[sector] = sector_position
|
||||
|
||||
|
||||
func _fill_map() -> void:
|
||||
_clear_node(sectors_node)
|
||||
_clear_node(passages_node)
|
||||
_fill_sector_positions()
|
||||
|
||||
if area_data == null: return
|
||||
|
||||
for stage in area_data.stages:
|
||||
_fill_sectors(stage)
|
||||
|
||||
|
||||
func _fill_sectors(stage: StageData) -> void:
|
||||
for sector_index in stage.sectors.size():
|
||||
var sector := stage.sectors[sector_index]
|
||||
|
||||
if not sector in sector_positions: continue
|
||||
|
||||
var sector_position := sector_positions[sector]
|
||||
|
||||
_fill_passages(sector.next_passages, sector_position)
|
||||
|
||||
if not sector.type in SECTOR_SCENES: continue
|
||||
|
||||
var scene := SECTOR_SCENES[sector.type]
|
||||
var sector_instance : AbstractSectorIndicator = scene.instantiate()
|
||||
sector_instance.position = sector_position
|
||||
sectors_node.add_child(sector_instance)
|
||||
|
||||
|
||||
func _fill_passages(passages: Array[PassageData], sector_position: Vector2) -> void:
|
||||
for passage in passages:
|
||||
if not passage.angle in PASSAGE_SCENES: continue
|
||||
|
||||
var scene := PASSAGE_SCENES[passage.angle]
|
||||
var passage_instance : AbstractPassageIndicator = scene.instantiate()
|
||||
passage_instance.position = sector_position
|
||||
passages_node.add_child(passage_instance)
|
||||
|
||||
|
||||
func _get_sector_position(stage_index: int, sector_index: int, sector_count: int) -> Vector2:
|
||||
var sector_position : Vector2
|
||||
|
||||
sector_position.x = SECTOR_XS[stage_index]
|
||||
match sector_count:
|
||||
1:
|
||||
sector_position.y = SECTOR_YS_FOR_ONE[sector_index]
|
||||
2:
|
||||
sector_position.y = SECTOR_YS_FOR_TWO[sector_index]
|
||||
3:
|
||||
sector_position.y = SECTOR_YS_FOR_THREE[sector_index]
|
||||
|
||||
return sector_position
|
||||
|
||||
|
||||
func _clear_node(node: Node) -> void:
|
||||
for n in node.get_children():
|
||||
node.remove_child(n)
|
||||
n.queue_free()
|
||||
|
||||
|
||||
func _set_current_sector(sector: SectorData) -> void:
|
||||
if not sector in sector_positions:
|
||||
current_sector_indicator.hide()
|
||||
return
|
||||
|
||||
current_sector = sector
|
||||
|
||||
var sector_position := sector_positions[sector]
|
||||
current_sector_indicator.position = sector_position + CURRENT_SECTOR_INDICATOR_OFFSET
|
||||
|
||||
current_sector_indicator.show()
|
||||
|
||||
|
||||
func _set_selected_sector(sector: SectorData) -> void:
|
||||
if not sector in sector_positions:
|
||||
selected_sector_indicator.hide()
|
||||
return
|
||||
|
||||
selected_sector = sector
|
||||
|
||||
var sector_position := sector_positions[sector]
|
||||
selected_sector_indicator.position = sector_position
|
||||
|
||||
selected_sector_indicator.show()
|
||||
@@ -0,0 +1 @@
|
||||
uid://bk8qn34w5cqmj
|
||||
@@ -0,0 +1,19 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://dqkp7nlhnb7sh"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bk8qn34w5cqmj" path="res://game/area_map/area_map.gd" id="1_hkcry"]
|
||||
[ext_resource type="PackedScene" uid="uid://c4l1cv3o25lhv" path="res://game/world/generators/area_generator.tscn" id="2_0o0gd"]
|
||||
[ext_resource type="PackedScene" uid="uid://b8qwok6v44la" path="res://game/area_map/indicators/current_sector_indicator.tscn" id="2_fx4fd"]
|
||||
[ext_resource type="PackedScene" uid="uid://bwru7i7xetjth" path="res://game/area_map/indicators/selected_sector_indicator.tscn" id="3_oxnrh"]
|
||||
|
||||
[node name="AreaMap" type="Node2D"]
|
||||
script = ExtResource("1_hkcry")
|
||||
|
||||
[node name="Passages" type="Node2D" parent="."]
|
||||
|
||||
[node name="Sectors" type="Node2D" parent="."]
|
||||
|
||||
[node name="CurrentSectorIndicator" parent="." instance=ExtResource("2_fx4fd")]
|
||||
|
||||
[node name="SelectedSectorIndicator" parent="." instance=ExtResource("3_oxnrh")]
|
||||
|
||||
[node name="TestAreaGenerator" parent="." instance=ExtResource("2_0o0gd")]
|
||||
@@ -0,0 +1,15 @@
|
||||
class_name AbstractPassageIndicator
|
||||
extends Node2D
|
||||
|
||||
|
||||
@onready var active_texture : Sprite2D = $ActiveTexture
|
||||
@onready var inactive_texture : Sprite2D = $InactiveTexture
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
inactive_texture.hide()
|
||||
|
||||
|
||||
func set_active(is_active: bool) -> void:
|
||||
active_texture.visible = is_active
|
||||
inactive_texture.visible = not is_active
|
||||
@@ -0,0 +1 @@
|
||||
uid://d1043b8skqr0j
|
||||
@@ -0,0 +1,10 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://b03vje74ld8ms"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d1043b8skqr0j" path="res://game/area_map/indicators/absctact_passage_indicator.gd" id="1_c886g"]
|
||||
|
||||
[node name="AbsctactPassageIndicator" type="Node2D"]
|
||||
script = ExtResource("1_c886g")
|
||||
|
||||
[node name="ActiveTexture" type="Sprite2D" parent="."]
|
||||
|
||||
[node name="InactiveTexture" type="Sprite2D" parent="."]
|
||||
@@ -0,0 +1,15 @@
|
||||
class_name AbstractSectorIndicator
|
||||
extends Node2D
|
||||
|
||||
|
||||
@onready var active_texture : Sprite2D = $ActiveTexture
|
||||
@onready var inactive_texture : Sprite2D = $InactiveTexture
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
inactive_texture.hide()
|
||||
|
||||
|
||||
func set_active(is_active: bool) -> void:
|
||||
active_texture.visible = is_active
|
||||
inactive_texture.visible = not is_active
|
||||
@@ -0,0 +1 @@
|
||||
uid://br68v5vl7vyd6
|
||||
@@ -0,0 +1,10 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://bofxdki5oelxe"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://br68v5vl7vyd6" path="res://game/area_map/indicators/abstract_sector_indicator.gd" id="1_mp2r3"]
|
||||
|
||||
[node name="AbstractSectorIndicator" type="Node2D"]
|
||||
script = ExtResource("1_mp2r3")
|
||||
|
||||
[node name="ActiveTexture" type="Sprite2D" parent="."]
|
||||
|
||||
[node name="InactiveTexture" type="Sprite2D" parent="."]
|
||||
@@ -0,0 +1,12 @@
|
||||
class_name CurrentSectorIndicator
|
||||
extends Node2D
|
||||
|
||||
|
||||
const ANIMATION = "animation"
|
||||
|
||||
|
||||
@onready var sprite : AnimatedSprite2D = $AnimatedSprite2D
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
sprite.play(ANIMATION)
|
||||
@@ -0,0 +1 @@
|
||||
uid://yf2bef674enx
|
||||
@@ -0,0 +1,76 @@
|
||||
[gd_scene load_steps=12 format=3 uid="uid://b8qwok6v44la"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://yf2bef674enx" path="res://game/area_map/indicators/current_sector_indicator.gd" id="1_7irmv"]
|
||||
[ext_resource type="Texture2D" uid="uid://orutjsnhhruf" path="res://images/map.png" id="2_l75qw"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_iqys3"]
|
||||
atlas = ExtResource("2_l75qw")
|
||||
region = Rect2(256, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ua7c8"]
|
||||
atlas = ExtResource("2_l75qw")
|
||||
region = Rect2(272, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8a5ox"]
|
||||
atlas = ExtResource("2_l75qw")
|
||||
region = Rect2(288, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nmkab"]
|
||||
atlas = ExtResource("2_l75qw")
|
||||
region = Rect2(304, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_a5b5h"]
|
||||
atlas = ExtResource("2_l75qw")
|
||||
region = Rect2(256, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_gekak"]
|
||||
atlas = ExtResource("2_l75qw")
|
||||
region = Rect2(272, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_02s10"]
|
||||
atlas = ExtResource("2_l75qw")
|
||||
region = Rect2(288, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_do7pi"]
|
||||
atlas = ExtResource("2_l75qw")
|
||||
region = Rect2(304, 16, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_2biry"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 25.0,
|
||||
"texture": SubResource("AtlasTexture_iqys3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ua7c8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8a5ox")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nmkab")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_a5b5h")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_gekak")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_02s10")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_do7pi")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"animation",
|
||||
"speed": 10.0
|
||||
}]
|
||||
|
||||
[node name="CurrentSectorIndicator" type="Node2D"]
|
||||
script = ExtResource("1_7irmv")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_2biry")
|
||||
animation = &"animation"
|
||||
frame_progress = 0.8128894
|
||||
@@ -0,0 +1,22 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://befadmr5b8mij"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://b03vje74ld8ms" path="res://game/area_map/indicators/absctact_passage_indicator.tscn" id="1_6yx0l"]
|
||||
[ext_resource type="Texture2D" uid="uid://orutjsnhhruf" path="res://images/map.png" id="2_ihw22"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dencp"]
|
||||
atlas = ExtResource("2_ihw22")
|
||||
region = Rect2(80, 48, 80, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3eblp"]
|
||||
atlas = ExtResource("2_ihw22")
|
||||
region = Rect2(240, 48, 80, 48)
|
||||
|
||||
[node name="PassageIndicatorMinus26Grad" instance=ExtResource("1_6yx0l")]
|
||||
|
||||
[node name="ActiveTexture" parent="." index="0"]
|
||||
position = Vector2(32, -16)
|
||||
texture = SubResource("AtlasTexture_dencp")
|
||||
|
||||
[node name="InactiveTexture" parent="." index="1"]
|
||||
position = Vector2(32, -16)
|
||||
texture = SubResource("AtlasTexture_3eblp")
|
||||
@@ -0,0 +1,22 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://6wh5paopwa6m"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://b03vje74ld8ms" path="res://game/area_map/indicators/absctact_passage_indicator.tscn" id="1_ejr0u"]
|
||||
[ext_resource type="Texture2D" uid="uid://orutjsnhhruf" path="res://images/map.png" id="2_o52wh"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_auxhg"]
|
||||
atlas = ExtResource("2_o52wh")
|
||||
region = Rect2(80, 96, 80, 80)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8xe3k"]
|
||||
atlas = ExtResource("2_o52wh")
|
||||
region = Rect2(240, 96, 80, 80)
|
||||
|
||||
[node name="PassageIndicatorMinus45Grad" instance=ExtResource("1_ejr0u")]
|
||||
|
||||
[node name="ActiveTexture" parent="." index="0"]
|
||||
position = Vector2(32, -32)
|
||||
texture = SubResource("AtlasTexture_auxhg")
|
||||
|
||||
[node name="InactiveTexture" parent="." index="1"]
|
||||
position = Vector2(32, -32)
|
||||
texture = SubResource("AtlasTexture_8xe3k")
|
||||
@@ -0,0 +1,22 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://chtid8advqc7c"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://b03vje74ld8ms" path="res://game/area_map/indicators/absctact_passage_indicator.tscn" id="1_ke7h2"]
|
||||
[ext_resource type="Texture2D" uid="uid://orutjsnhhruf" path="res://images/map.png" id="2_ugcaf"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_o7a4k"]
|
||||
atlas = ExtResource("2_ugcaf")
|
||||
region = Rect2(0, 48, 80, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ghd4p"]
|
||||
atlas = ExtResource("2_ugcaf")
|
||||
region = Rect2(160, 48, 80, 48)
|
||||
|
||||
[node name="PassageIndicator26Grad" instance=ExtResource("1_ke7h2")]
|
||||
|
||||
[node name="ActiveTexture" parent="." index="0"]
|
||||
position = Vector2(32, 16)
|
||||
texture = SubResource("AtlasTexture_o7a4k")
|
||||
|
||||
[node name="InactiveTexture" parent="." index="1"]
|
||||
position = Vector2(32, 16)
|
||||
texture = SubResource("AtlasTexture_ghd4p")
|
||||
@@ -0,0 +1,22 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://dv68sytyj5bd3"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://b03vje74ld8ms" path="res://game/area_map/indicators/absctact_passage_indicator.tscn" id="1_nk4h4"]
|
||||
[ext_resource type="Texture2D" uid="uid://orutjsnhhruf" path="res://images/map.png" id="2_qtofm"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1wcf5"]
|
||||
atlas = ExtResource("2_qtofm")
|
||||
region = Rect2(0, 96, 80, 80)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_lqbnh"]
|
||||
atlas = ExtResource("2_qtofm")
|
||||
region = Rect2(160, 96, 80, 80)
|
||||
|
||||
[node name="PassageIndicator45Grad" instance=ExtResource("1_nk4h4")]
|
||||
|
||||
[node name="ActiveTexture" parent="." index="0"]
|
||||
position = Vector2(32, 32)
|
||||
texture = SubResource("AtlasTexture_1wcf5")
|
||||
|
||||
[node name="InactiveTexture" parent="." index="1"]
|
||||
position = Vector2(32, 32)
|
||||
texture = SubResource("AtlasTexture_lqbnh")
|
||||
@@ -0,0 +1,22 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://d24hqpbq2yqfn"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://b03vje74ld8ms" path="res://game/area_map/indicators/absctact_passage_indicator.tscn" id="1_q65pt"]
|
||||
[ext_resource type="Texture2D" uid="uid://orutjsnhhruf" path="res://images/map.png" id="2_4t74o"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_f73ej"]
|
||||
atlas = ExtResource("2_4t74o")
|
||||
region = Rect2(0, 32, 80, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_b8pmf"]
|
||||
atlas = ExtResource("2_4t74o")
|
||||
region = Rect2(160, 32, 80, 16)
|
||||
|
||||
[node name="PassageIndicator0Grad" instance=ExtResource("1_q65pt")]
|
||||
|
||||
[node name="ActiveTexture" parent="." index="0"]
|
||||
position = Vector2(32, 0)
|
||||
texture = SubResource("AtlasTexture_f73ej")
|
||||
|
||||
[node name="InactiveTexture" parent="." index="1"]
|
||||
position = Vector2(32, 0)
|
||||
texture = SubResource("AtlasTexture_b8pmf")
|
||||
@@ -0,0 +1,20 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://cf5487fdaju3h"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bofxdki5oelxe" path="res://game/area_map/indicators/abstract_sector_indicator.tscn" id="1_qx624"]
|
||||
[ext_resource type="Texture2D" uid="uid://orutjsnhhruf" path="res://images/map.png" id="2_t7m7p"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qx624"]
|
||||
atlas = ExtResource("2_t7m7p")
|
||||
region = Rect2(80, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_t7m7p"]
|
||||
atlas = ExtResource("2_t7m7p")
|
||||
region = Rect2(80, 16, 16, 16)
|
||||
|
||||
[node name="BossSectorIndicator" instance=ExtResource("1_qx624")]
|
||||
|
||||
[node name="ActiveTexture" parent="." index="0"]
|
||||
texture = SubResource("AtlasTexture_qx624")
|
||||
|
||||
[node name="InactiveTexture" parent="." index="1"]
|
||||
texture = SubResource("AtlasTexture_t7m7p")
|
||||
@@ -0,0 +1,20 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://dysw7f3fxxdgg"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bofxdki5oelxe" path="res://game/area_map/indicators/abstract_sector_indicator.tscn" id="1_1il3o"]
|
||||
[ext_resource type="Texture2D" uid="uid://orutjsnhhruf" path="res://images/map.png" id="2_yiddm"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1il3o"]
|
||||
atlas = ExtResource("2_yiddm")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_yiddm"]
|
||||
atlas = ExtResource("2_yiddm")
|
||||
region = Rect2(48, 16, 16, 16)
|
||||
|
||||
[node name="DebrisSectorIndicator" instance=ExtResource("1_1il3o")]
|
||||
|
||||
[node name="ActiveTexture" parent="." index="0"]
|
||||
texture = SubResource("AtlasTexture_1il3o")
|
||||
|
||||
[node name="InactiveTexture" parent="." index="1"]
|
||||
texture = SubResource("AtlasTexture_yiddm")
|
||||
@@ -0,0 +1,20 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://bmhjspcsdim4a"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bofxdki5oelxe" path="res://game/area_map/indicators/abstract_sector_indicator.tscn" id="1_ywgpn"]
|
||||
[ext_resource type="Texture2D" uid="uid://orutjsnhhruf" path="res://images/map.png" id="2_p04dw"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ywgpn"]
|
||||
atlas = ExtResource("2_p04dw")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_p04dw"]
|
||||
atlas = ExtResource("2_p04dw")
|
||||
region = Rect2(0, 16, 16, 16)
|
||||
|
||||
[node name="EmptySectorIndicator" instance=ExtResource("1_ywgpn")]
|
||||
|
||||
[node name="ActiveTexture" parent="." index="0"]
|
||||
texture = SubResource("AtlasTexture_ywgpn")
|
||||
|
||||
[node name="InactiveTexture" parent="." index="1"]
|
||||
texture = SubResource("AtlasTexture_p04dw")
|
||||
@@ -0,0 +1,20 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://c7d6jylti6bea"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bofxdki5oelxe" path="res://game/area_map/indicators/abstract_sector_indicator.tscn" id="1_5phms"]
|
||||
[ext_resource type="Texture2D" uid="uid://orutjsnhhruf" path="res://images/map.png" id="2_e1mcs"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5phms"]
|
||||
atlas = ExtResource("2_e1mcs")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_e1mcs"]
|
||||
atlas = ExtResource("2_e1mcs")
|
||||
region = Rect2(32, 16, 16, 16)
|
||||
|
||||
[node name="RepairSectorIndicator" instance=ExtResource("1_5phms")]
|
||||
|
||||
[node name="ActiveTexture" parent="." index="0"]
|
||||
texture = SubResource("AtlasTexture_5phms")
|
||||
|
||||
[node name="InactiveTexture" parent="." index="1"]
|
||||
texture = SubResource("AtlasTexture_e1mcs")
|
||||
@@ -0,0 +1,20 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://webm7iahkjgh"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bofxdki5oelxe" path="res://game/area_map/indicators/abstract_sector_indicator.tscn" id="1_4uu3o"]
|
||||
[ext_resource type="Texture2D" uid="uid://orutjsnhhruf" path="res://images/map.png" id="2_j10ah"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4uu3o"]
|
||||
atlas = ExtResource("2_j10ah")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_j10ah"]
|
||||
atlas = ExtResource("2_j10ah")
|
||||
region = Rect2(16, 16, 16, 16)
|
||||
|
||||
[node name="ShopSectorIndicator" instance=ExtResource("1_4uu3o")]
|
||||
|
||||
[node name="ActiveTexture" parent="." index="0"]
|
||||
texture = SubResource("AtlasTexture_4uu3o")
|
||||
|
||||
[node name="InactiveTexture" parent="." index="1"]
|
||||
texture = SubResource("AtlasTexture_j10ah")
|
||||
@@ -0,0 +1,20 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://g05q5dxwktr8"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bofxdki5oelxe" path="res://game/area_map/indicators/abstract_sector_indicator.tscn" id="1_glpdm"]
|
||||
[ext_resource type="Texture2D" uid="uid://orutjsnhhruf" path="res://images/map.png" id="2_37krw"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_glpdm"]
|
||||
atlas = ExtResource("2_37krw")
|
||||
region = Rect2(64, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_37krw"]
|
||||
atlas = ExtResource("2_37krw")
|
||||
region = Rect2(64, 16, 16, 16)
|
||||
|
||||
[node name="StartSectorIndicator" instance=ExtResource("1_glpdm")]
|
||||
|
||||
[node name="ActiveTexture" parent="." index="0"]
|
||||
texture = SubResource("AtlasTexture_glpdm")
|
||||
|
||||
[node name="InactiveTexture" parent="." index="1"]
|
||||
texture = SubResource("AtlasTexture_37krw")
|
||||
@@ -0,0 +1,12 @@
|
||||
class_name SelectedSectorIndicator
|
||||
extends Node2D
|
||||
|
||||
|
||||
const ANIMATION = "animation"
|
||||
|
||||
|
||||
@onready var sprite : AnimatedSprite2D = $AnimatedSprite2D
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
sprite.play(ANIMATION)
|
||||
@@ -0,0 +1 @@
|
||||
uid://d3eqb5341h7y0
|
||||
@@ -0,0 +1,47 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://bwru7i7xetjth"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d3eqb5341h7y0" path="res://game/area_map/indicators/selected_sector_indicator.gd" id="1_06a3o"]
|
||||
[ext_resource type="Texture2D" uid="uid://orutjsnhhruf" path="res://images/map.png" id="2_485wc"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_gx6w1"]
|
||||
atlas = ExtResource("2_485wc")
|
||||
region = Rect2(128, 0, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_igqhl"]
|
||||
atlas = ExtResource("2_485wc")
|
||||
region = Rect2(160, 0, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5vw2o"]
|
||||
atlas = ExtResource("2_485wc")
|
||||
region = Rect2(192, 0, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ih4lp"]
|
||||
atlas = ExtResource("2_485wc")
|
||||
region = Rect2(224, 0, 32, 32)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_5e44l"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 25.0,
|
||||
"texture": SubResource("AtlasTexture_gx6w1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_igqhl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5vw2o")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ih4lp")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"animation",
|
||||
"speed": 10.0
|
||||
}]
|
||||
|
||||
[node name="SelectedSectorIndicator" type="Node2D"]
|
||||
script = ExtResource("1_06a3o")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_5e44l")
|
||||
animation = &"animation"
|
||||
Reference in New Issue
Block a user