From 6b25359a38caa58f8ab0e3d461b363fca92936e1 Mon Sep 17 00:00:00 2001 From: Hamcha Date: Tue, 7 Jul 2020 20:42:22 +0200 Subject: [PATCH] Add Scanner and powerstorage ui --- Actors/Objects/Computer/Computer.gd | 1 - Actors/Objects/Computer/Computer.tscn | 26 ++--- Actors/Objects/Computer/UI/ControlComp.gd | 5 +- Actors/Objects/Door/Door.tscn | 34 +++---- Actors/Objects/Engine/Engine.tscn | 14 +-- Actors/Objects/Lightbulb/Lightbulb.tscn | 6 +- Actors/Objects/PowerStorage/PowerStorage.gd | 35 +++++++ Actors/Objects/PowerStorage/PowerStorage.tscn | 90 +++++++++++++++++- Actors/Objects/PowerStorage/UI/PowerUI.gd | 6 ++ Actors/Objects/PowerStorage/UI/PowerUI.tscn | 61 ++++++++++++ Actors/Objects/Scanner/Scanner.gd | 4 + Actors/Objects/Scanner/Scanner.tscn | 19 ++++ Graphics/tgstation/cables.tres | 2 +- Graphics/tgstation/scanner.png | Bin 0 -> 1894 bytes Graphics/tgstation/scanner.png.import | 34 +++++++ Scenes/Maps/runtime.tscn | 16 ++-- project.godot | 6 ++ 17 files changed, 304 insertions(+), 55 deletions(-) create mode 100644 Actors/Objects/PowerStorage/UI/PowerUI.gd create mode 100644 Actors/Objects/PowerStorage/UI/PowerUI.tscn create mode 100644 Actors/Objects/Scanner/Scanner.gd create mode 100644 Actors/Objects/Scanner/Scanner.tscn create mode 100644 Graphics/tgstation/scanner.png create mode 100644 Graphics/tgstation/scanner.png.import diff --git a/Actors/Objects/Computer/Computer.gd b/Actors/Objects/Computer/Computer.gd index 57b1731..56f106b 100644 --- a/Actors/Objects/Computer/Computer.gd +++ b/Actors/Objects/Computer/Computer.gd @@ -90,7 +90,6 @@ func _ui_fade_completed(anim_name): if anim_name == "fadeout": manage_controls(false) - func _force_close_ui(): if open: open = false diff --git a/Actors/Objects/Computer/Computer.tscn b/Actors/Objects/Computer/Computer.tscn index 68fa667..c35318d 100644 --- a/Actors/Objects/Computer/Computer.tscn +++ b/Actors/Objects/Computer/Computer.tscn @@ -7,12 +7,12 @@ [ext_resource path="res://Graphics/light_shadow_light.png" type="Texture" id=5] [ext_resource path="res://Actors/Components/ActivationRange.gd" type="Script" id=6] -[sub_resource type="CanvasItemMaterial" id=1] -blend_mode = 1 - -[sub_resource type="RectangleShape2D" id=2] +[sub_resource type="RectangleShape2D" id=1] extents = Vector2( 16, 16 ) +[sub_resource type="CanvasItemMaterial" id=2] +blend_mode = 1 + [sub_resource type="Animation" id=3] tracks/0/type = "value" tracks/0/path = NodePath("computer/screen:modulate") @@ -48,7 +48,7 @@ tracks/0/keys = { length = 0.2 step = 0.05 tracks/0/type = "value" -tracks/0/path = NodePath("Control:modulate") +tracks/0/path = NodePath("../Control:modulate") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false @@ -60,7 +60,7 @@ tracks/0/keys = { "values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ] } tracks/1/type = "bezier" -tracks/1/path = NodePath("Control:position:y") +tracks/1/path = NodePath("../Control:position:y") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/imported = false @@ -73,7 +73,7 @@ tracks/1/keys = { [sub_resource type="Animation" id=6] length = 0.2 tracks/0/type = "value" -tracks/0/path = NodePath("Control:modulate") +tracks/0/path = NodePath("../Control:modulate") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false @@ -85,7 +85,7 @@ tracks/0/keys = { "values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ] } tracks/1/type = "bezier" -tracks/1/path = NodePath("Control:position:y") +tracks/1/path = NodePath("../Control:position:y") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/imported = false @@ -102,6 +102,10 @@ extents = Vector2( 48, 48 ) input_pickable = true script = ExtResource( 3 ) +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 16, 16 ) +shape = SubResource( 1 ) + [node name="computer" type="Sprite" parent="."] texture = ExtResource( 2 ) centered = false @@ -109,7 +113,7 @@ region_enabled = true region_rect = Rect2( 0, 0, 32, 32 ) [node name="screen" type="Sprite" parent="computer"] -material = SubResource( 1 ) +material = SubResource( 2 ) texture = ExtResource( 1 ) centered = false region_enabled = true @@ -121,10 +125,6 @@ texture = ExtResource( 5 ) texture_scale = 0.5 energy = 0.5 -[node name="CollisionShape2D" type="CollisionShape2D" parent="."] -position = Vector2( 16, 16 ) -shape = SubResource( 2 ) - [node name="ScreenAnimation" type="AnimationPlayer" parent="."] autoplay = "on" anims/off = SubResource( 3 ) diff --git a/Actors/Objects/Computer/UI/ControlComp.gd b/Actors/Objects/Computer/UI/ControlComp.gd index e7ebd20..e5bbb13 100644 --- a/Actors/Objects/Computer/UI/ControlComp.gd +++ b/Actors/Objects/Computer/UI/ControlComp.gd @@ -2,10 +2,7 @@ extends Control onready var scene = $"/root/scene" as GameInstance -func _ready(): - pass - -func _physics_process(delta): +func _physics_process(_delta): var speed_str = "(" + str(round(scene.world.map.current_ship_speed)) + " u/s)" $Container/VelocityBox/HBoxContainer/CurrentSpeed.text = speed_str var dir_str = "(" + str(round(rad2deg(scene.world.map.current_ship_direction))) + " deg)" diff --git a/Actors/Objects/Door/Door.tscn b/Actors/Objects/Door/Door.tscn index a1f39f2..ef7e51a 100644 --- a/Actors/Objects/Door/Door.tscn +++ b/Actors/Objects/Door/Door.tscn @@ -4,42 +4,42 @@ [ext_resource path="res://Graphics/tgstation/opening-sheet.png" type="Texture" id=2] [ext_resource path="res://Actors/Components/ActivationRange.gd" type="Script" id=3] -[sub_resource type="AtlasTexture" id=1] -atlas = ExtResource( 2 ) -region = Rect2( 0, 64, 32, 32 ) +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 16, 16 ) [sub_resource type="AtlasTexture" id=2] atlas = ExtResource( 2 ) -region = Rect2( 32, 32, 32, 32 ) +region = Rect2( 0, 64, 32, 32 ) [sub_resource type="AtlasTexture" id=3] atlas = ExtResource( 2 ) -region = Rect2( 0, 32, 32, 32 ) +region = Rect2( 32, 32, 32, 32 ) [sub_resource type="AtlasTexture" id=4] atlas = ExtResource( 2 ) -region = Rect2( 32, 0, 32, 32 ) +region = Rect2( 0, 32, 32, 32 ) [sub_resource type="AtlasTexture" id=5] atlas = ExtResource( 2 ) +region = Rect2( 32, 0, 32, 32 ) + +[sub_resource type="AtlasTexture" id=6] +atlas = ExtResource( 2 ) region = Rect2( 0, 0, 32, 32 ) -[sub_resource type="SpriteFrames" id=6] +[sub_resource type="SpriteFrames" id=7] animations = [ { -"frames": [ SubResource( 1 ), SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ) ], +"frames": [ SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ) ], "loop": false, "name": "close", "speed": 20.0 }, { -"frames": [ SubResource( 5 ), SubResource( 4 ), SubResource( 3 ), SubResource( 2 ), SubResource( 1 ) ], +"frames": [ SubResource( 6 ), SubResource( 5 ), SubResource( 4 ), SubResource( 3 ), SubResource( 2 ) ], "loop": false, "name": "open", "speed": 20.0 } ] -[sub_resource type="RectangleShape2D" id=7] -extents = Vector2( 16, 16 ) - [sub_resource type="CircleShape2D" id=8] radius = 64.0 @@ -47,17 +47,17 @@ radius = 64.0 input_pickable = true script = ExtResource( 1 ) +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 16, 16 ) +shape = SubResource( 1 ) + [node name="Sprite" type="AnimatedSprite" parent="."] -frames = SubResource( 6 ) +frames = SubResource( 7 ) animation = "close" frame = 4 playing = true centered = false -[node name="CollisionShape2D" type="CollisionShape2D" parent="."] -position = Vector2( 16, 16 ) -shape = SubResource( 7 ) - [node name="Timer" type="Timer" parent="."] wait_time = 5.0 one_shot = true diff --git a/Actors/Objects/Engine/Engine.tscn b/Actors/Objects/Engine/Engine.tscn index b17761d..09868da 100644 --- a/Actors/Objects/Engine/Engine.tscn +++ b/Actors/Objects/Engine/Engine.tscn @@ -5,25 +5,25 @@ [ext_resource path="res://Graphics/tgstation/engine-big.png" type="Texture" id=3] [ext_resource path="res://Graphics/light_shadow_light.png" type="Texture" id=4] -[sub_resource type="RectangleShape2D" id=2] +[sub_resource type="RectangleShape2D" id=1] extents = Vector2( 48, 48 ) -[sub_resource type="RectangleShape2D" id=1] +[sub_resource type="RectangleShape2D" id=2] extents = Vector2( 72, 72 ) [node name="Engine" type="StaticBody2D"] script = ExtResource( 2 ) +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 48, 48 ) +shape = SubResource( 1 ) + [node name="engine" type="Sprite" parent="."] texture = ExtResource( 3 ) centered = false region_enabled = true region_rect = Rect2( 0, 0, 96, 96 ) -[node name="CollisionShape2D" type="CollisionShape2D" parent="."] -position = Vector2( 48, 48 ) -shape = SubResource( 2 ) - [node name="Light2D" type="Light2D" parent="."] position = Vector2( 48, 48 ) texture = ExtResource( 4 ) @@ -37,4 +37,4 @@ script = ExtResource( 1 ) [node name="CollisionShape2D" type="CollisionShape2D" parent="ActivationRange"] position = Vector2( 48, 56 ) -shape = SubResource( 1 ) +shape = SubResource( 2 ) diff --git a/Actors/Objects/Lightbulb/Lightbulb.tscn b/Actors/Objects/Lightbulb/Lightbulb.tscn index 63dc150..44c0ab8 100644 --- a/Actors/Objects/Lightbulb/Lightbulb.tscn +++ b/Actors/Objects/Lightbulb/Lightbulb.tscn @@ -14,6 +14,9 @@ extents = Vector2( 48, 32 ) [node name="Lighttube" type="Area2D"] script = ExtResource( 3 ) +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource( 1 ) + [node name="light" type="Sprite" parent="."] texture = ExtResource( 2 ) region_enabled = true @@ -31,9 +34,6 @@ __meta__ = { "_edit_lock_": true } -[node name="CollisionShape2D" type="CollisionShape2D" parent="."] -shape = SubResource( 1 ) - [node name="ActivationRange" type="Area2D" parent="."] visible = false script = ExtResource( 4 ) diff --git a/Actors/Objects/PowerStorage/PowerStorage.gd b/Actors/Objects/PowerStorage/PowerStorage.gd index ab29213..8541640 100644 --- a/Actors/Objects/PowerStorage/PowerStorage.gd +++ b/Actors/Objects/PowerStorage/PowerStorage.gd @@ -1,3 +1,38 @@ extends StaticBody2D class_name GameObjectPowerStorage + +var open = false +onready var activationRange = $ActivationRange as ActivationRange + +func _ready(): + if not Engine.editor_hint: + activationRange.visible = true + +func _input(event): + if event is InputEventMouseButton and event.pressed and not is_inside and open: + open = false + $UIAnimation.play("fadeout") + +func _input_event(_viewport, event, _shape_idx): + if Engine.editor_hint: + return + if event is InputEventMouseButton and event.pressed and not open: + # Must be in range + if activationRange.in_range(): + open = true + $Control/PowerUI.visible = true + $UIAnimation.play("fadein") + +var is_inside = false +func _ui_focus_changed(entered): + is_inside = entered + +func _ui_fade_completed(anim_name): + if anim_name == "fadeout": + $Control/PowerUI.visible = false + +func _force_close_ui(): + if open: + open = false + $UIAnimation.play("fadeout") diff --git a/Actors/Objects/PowerStorage/PowerStorage.tscn b/Actors/Objects/PowerStorage/PowerStorage.tscn index 498bf14..8f5997f 100644 --- a/Actors/Objects/PowerStorage/PowerStorage.tscn +++ b/Actors/Objects/PowerStorage/PowerStorage.tscn @@ -1,18 +1,102 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=9 format=2] [ext_resource path="res://Actors/Objects/PowerStorage/PowerStorage.gd" type="Script" id=1] [ext_resource path="res://Graphics/tgstation/smes.png" type="Texture" id=2] +[ext_resource path="res://Actors/Components/ActivationRange.gd" type="Script" id=3] +[ext_resource path="res://Actors/Objects/PowerStorage/UI/PowerUI.tscn" type="PackedScene" id=4] [sub_resource type="RectangleShape2D" id=1] extents = Vector2( 16, 16 ) +[sub_resource type="Animation" id=2] +length = 0.2 +step = 0.05 +tracks/0/type = "value" +tracks/0/path = NodePath("Control:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.2 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ] +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Control:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 10, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.2 ) +} + +[sub_resource type="Animation" id=3] +length = 0.2 +tracks/0/type = "value" +tracks/0/path = NodePath("Control:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.2 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ] +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Control:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 10, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.2 ) +} + +[sub_resource type="CircleShape2D" id=4] +radius = 56.0 + [node name="StaticBody2D" type="StaticBody2D"] +input_pickable = true script = ExtResource( 1 ) +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 16, 16 ) +shape = SubResource( 1 ) + [node name="smes" type="Sprite" parent="."] texture = ExtResource( 2 ) centered = false -[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +[node name="UIAnimation" type="AnimationPlayer" parent="."] +anims/fadein = SubResource( 2 ) +anims/fadeout = SubResource( 3 ) + +[node name="Control" type="Node2D" parent="."] +position = Vector2( 16, 0 ) +z_index = 999 + +[node name="PowerUI" parent="Control" instance=ExtResource( 4 )] +visible = false +margin_left = -50.0 +margin_top = -73.0 +margin_right = 150.0 +margin_bottom = 57.0 +rect_scale = Vector2( 0.5, 0.5 ) + +[node name="ActivationRange" type="Area2D" parent="."] +visible = false position = Vector2( 16, 16 ) -shape = SubResource( 1 ) +script = ExtResource( 3 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="ActivationRange"] +shape = SubResource( 4 ) +[connection signal="mouse_entered" from="Control/PowerUI" to="." method="_ui_focus_changed" binds= [ true ]] +[connection signal="mouse_exited" from="Control/PowerUI" to="." method="_ui_focus_changed" binds= [ false ]] +[connection signal="player_left" from="ActivationRange" to="." method="_force_close_ui"] diff --git a/Actors/Objects/PowerStorage/UI/PowerUI.gd b/Actors/Objects/PowerStorage/UI/PowerUI.gd new file mode 100644 index 0000000..a96716d --- /dev/null +++ b/Actors/Objects/PowerStorage/UI/PowerUI.gd @@ -0,0 +1,6 @@ +extends Control + +onready var scene = $"/root/scene" as GameInstance + +func _physics_process(delta): + pass diff --git a/Actors/Objects/PowerStorage/UI/PowerUI.tscn b/Actors/Objects/PowerStorage/UI/PowerUI.tscn new file mode 100644 index 0000000..f19916f --- /dev/null +++ b/Actors/Objects/PowerStorage/UI/PowerUI.tscn @@ -0,0 +1,61 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Actors/Objects/PowerStorage/UI/PowerUI.gd" type="Script" id=1] +[ext_resource path="res://Graphics/UI/ui-popup-panel.png" type="Texture" id=2] +[ext_resource path="res://Graphics/unshaded_mat.tres" type="Material" id=4] + +[node name="PowerUI" type="Control"] +material = ExtResource( 4 ) +margin_left = -100.0 +margin_top = -150.0 +margin_right = 100.0 +margin_bottom = -20.0 +mouse_filter = 1 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextureRect" type="TextureRect" parent="."] +material = ExtResource( 4 ) +anchor_left = 0.5 +anchor_right = 0.5 +margin_left = -8.0 +margin_top = 111.826 +margin_right = 8.27014 +margin_bottom = 143.855 +texture = ExtResource( 2 ) +stretch_mode = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="NinePatchRect" type="NinePatchRect" parent="."] +material = ExtResource( 4 ) +anchor_right = 1.0 +anchor_bottom = 1.0 +texture = ExtResource( 2 ) +region_rect = Rect2( 0, 0, 16, 16 ) +patch_margin_left = 4 +patch_margin_top = 4 +patch_margin_right = 4 +patch_margin_bottom = 5 +axis_stretch_horizontal = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Container" type="VBoxContainer" parent="."] +material = ExtResource( 4 ) +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 10.0 +margin_top = 10.0 +margin_right = -10.0 +margin_bottom = -10.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_constants/separation = 20 +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/Actors/Objects/Scanner/Scanner.gd b/Actors/Objects/Scanner/Scanner.gd new file mode 100644 index 0000000..ab760b7 --- /dev/null +++ b/Actors/Objects/Scanner/Scanner.gd @@ -0,0 +1,4 @@ +extends StaticBody2D + +class_name GameObjectScanner + diff --git a/Actors/Objects/Scanner/Scanner.tscn b/Actors/Objects/Scanner/Scanner.tscn new file mode 100644 index 0000000..841d29e --- /dev/null +++ b/Actors/Objects/Scanner/Scanner.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Graphics/tgstation/scanner.png" type="Texture" id=1] +[ext_resource path="res://Actors/Objects/Scanner/Scanner.gd" type="Script" id=2] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 16, 16 ) + +[node name="StaticBody2D" type="StaticBody2D"] +script = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 16, 16 ) +shape = SubResource( 1 ) + +[node name="scanner" type="Sprite" parent="."] +position = Vector2( -1, 0 ) +texture = ExtResource( 1 ) +centered = false diff --git a/Graphics/tgstation/cables.tres b/Graphics/tgstation/cables.tres index 8709951..ccbe6c5 100644 --- a/Graphics/tgstation/cables.tres +++ b/Graphics/tgstation/cables.tres @@ -10,7 +10,7 @@ 0/region = Rect2( 0, 0, 256, 256 ) 0/tile_mode = 1 0/autotile/bitmask_mode = 1 -0/autotile/bitmask_flags = [ Vector2( 0, 0 ), 24, Vector2( 0, 1 ), 56, Vector2( 0, 2 ), 48, Vector2( 0, 3 ), 152, Vector2( 0, 4 ), 24, Vector2( 0, 6 ), 304, Vector2( 0, 7 ), 216, Vector2( 1, 0 ), 184, Vector2( 1, 1 ), 176, Vector2( 1, 2 ), 144, Vector2( 1, 3 ), 16, Vector2( 1, 4 ), 504, Vector2( 1, 5 ), 432, Vector2( 1, 6 ), 208, Vector2( 2, 0 ), 58, Vector2( 2, 1 ), 50, Vector2( 2, 2 ), 154, Vector2( 2, 3 ), 186, Vector2( 2, 4 ), 63, Vector2( 2, 5 ), 54, Vector2( 2, 6 ), 219, Vector2( 2, 7 ), 511, Vector2( 3, 0 ), 178, Vector2( 3, 1 ), 146, Vector2( 3, 2 ), 18, Vector2( 3, 3 ), 26, Vector2( 3, 4 ), 438, Vector2( 3, 7 ), 27, Vector2( 6, 3 ), 446, Vector2( 6, 7 ), 251 ] +0/autotile/bitmask_flags = [ Vector2( 0, 0 ), 24, Vector2( 0, 1 ), 56, Vector2( 0, 2 ), 48, Vector2( 0, 3 ), 152, Vector2( 0, 4 ), 24, Vector2( 0, 6 ), 304, Vector2( 0, 7 ), 216, Vector2( 1, 0 ), 184, Vector2( 1, 1 ), 176, Vector2( 1, 2 ), 144, Vector2( 1, 3 ), 16, Vector2( 1, 4 ), 504, Vector2( 1, 5 ), 432, Vector2( 1, 6 ), 208, Vector2( 2, 0 ), 58, Vector2( 2, 1 ), 50, Vector2( 2, 2 ), 154, Vector2( 2, 3 ), 186, Vector2( 2, 4 ), 63, Vector2( 2, 5 ), 54, Vector2( 2, 6 ), 219, Vector2( 2, 7 ), 511, Vector2( 3, 0 ), 178, Vector2( 3, 1 ), 146, Vector2( 3, 2 ), 18, Vector2( 3, 3 ), 26, Vector2( 3, 4 ), 438, Vector2( 3, 7 ), 27, Vector2( 5, 0 ), 248, Vector2( 5, 4 ), 440, Vector2( 6, 0 ), 59, Vector2( 6, 2 ), 218, Vector2( 6, 3 ), 446, Vector2( 6, 4 ), 62, Vector2( 6, 6 ), 155, Vector2( 6, 7 ), 251, Vector2( 7, 0 ), 434, Vector2( 7, 4 ), 182 ] 0/autotile/icon_coordinate = Vector2( 2, 7 ) 0/autotile/tile_size = Vector2( 32, 32 ) 0/autotile/spacing = 0 diff --git a/Graphics/tgstation/scanner.png b/Graphics/tgstation/scanner.png new file mode 100644 index 0000000000000000000000000000000000000000..102da4a828150b35cd28c7e8d7cd6401ca33b4fa GIT binary patch literal 1894 zcmZ{kcT|(f8pgjQgc7AJAYdqls~}QB5v7PoC`vORB}D zN>i$#BOpa-i@*ZQkx&*~uAz80(gc>pxL;Q9{p;>`=AGxA_sl#qXU_MVG-vE3aRd?p z0D!oit+flNC_#t{gMCy?%r+<{bQ=%4E0su(#?yiT422wyrw0Y1z?CQ~S`eO2rJ=6r zqtBuZP#V$E(dY(MJaDK@($viCYkXL?ILKVJI?%NTq>3WGW>J zFhU!mjn1J07?i*;&{)F&t&i425vbu2;Dms%pi>RzQ~RKYD4yWv2r3i|U@Plh1Sm-2 zmzto2`Wk{9fT3V35CAhXatF+jcGeg-kL11wS8ZLdC=GOFsLYMbsR;i*y56V4>+MEj zvY-1^carzjPv<5z?%a2KEh~4cw5VLa_q=hehFk1U7j!w&f$9`Qn)gHV%sKbgLH&M2 zoQEVMdzZ)KNzQZR`%QKW7mCOJU`6p*Xz8@Y__f$3=${8Yh118jcUDIaTR56YE0hzm z&75chk!-Z!%Q0@P$b8*>9bx`gmQP#gIuIAb9~+kH~a-&D|8&oC42PduEp1)Rx%U z2mmA!sryZq4YI3Z_E86XNv5HVKOm`vwY3#~uPD~oJSU`j^!i-J3d4l0XJn`K^LyGv zWC>fY&aZ1IO)6j6@~P>J^18%f2+#quS|LS0nZdy=9MP17y;vduNM)Q1tjVw3F=?KE z23^^ot#p_~WG44cI~<}<1#EhlC3H42+0GtsOUUpTU+hf(QWbn41FE-=42*d=a{|JGd3|PZ<7TtF?*QB zzdTSgQQ;P{?5f#R@@(S3iCnfXzTk^3uPc#o29fzMOAs(eeGO2+Z&1LJbspy<$dU>% z5aR~cp#RKM{y*_#c}&S%R@3}laZZ?+fs9e|D;?)!7kQdK|5hL*o6o7Nselj2ZYu9T zhn5O&jD8qfJ{UFG#mY;hZd_oza7l>cKh*dr($V?+H0%dyNs*M5>EmNESH!I=-pTD9 zU?Pq6go>6SKvL4yiiI96KhPEz#1m)e-iNV`@5= z0*)K19+Kg__M+eHiWLDV1+nqS>{+|zU}AZYc|LUAEE|_9^G2~|y_NNStqnf3{%zi_ z8sHyyymsBB!hI7$twT$D3J=#$UqFdwCi#cftLjPj@*zEZ2;lZYKD@g%M@-C)5O@6c18xE8gn0IiZ_cAn3jPgvj1Sh7Vu)LsdT;bt z=n+TtHSR_M>{mVpV7A0d{T?piKAR5M4wdQrP&9TJ03NejtKD7u%mo!P`3`iR^WSz)-;-r7yI$YrTX_zt)zsAdR0PL#Pq=vC zgAMXXXgHvnBy4{IaaGw)DYy*MAmB;;-W3b`zj-RP{udS|FC*ZI^*2xS_%A$_3V1pY z@D$r_^*^3|`Mk=-ec@>q<=~a>rAt3@Ik)PrpS24-{R>Zdju&^d6uDQ%xyD nH|^D<&DHLmLuieBzW<7V!)iGDy8 literal 0 HcmV?d00001 diff --git a/Graphics/tgstation/scanner.png.import b/Graphics/tgstation/scanner.png.import new file mode 100644 index 0000000..b462d4b --- /dev/null +++ b/Graphics/tgstation/scanner.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/scanner.png-e94cdbfaff239713a37ac3a20882f2e0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Graphics/tgstation/scanner.png" +dest_files=[ "res://.import/scanner.png-e94cdbfaff239713a37ac3a20882f2e0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Scenes/Maps/runtime.tscn b/Scenes/Maps/runtime.tscn index 294a312..bc5f2cf 100644 --- a/Scenes/Maps/runtime.tscn +++ b/Scenes/Maps/runtime.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=14 format=2] [ext_resource path="res://Graphics/tgstation/walls.tres" type="TileSet" id=1] [ext_resource path="res://Graphics/tgstation/1x1.tres" type="TileSet" id=2] @@ -7,6 +7,7 @@ [ext_resource path="res://Scenes/Maps/runtime.gd" type="Script" id=5] [ext_resource path="res://Actors/Objects/Computer/Computer.tscn" type="PackedScene" id=6] [ext_resource path="res://Graphics/space.png" type="Texture" id=7] +[ext_resource path="res://Actors/Objects/Scanner/Scanner.tscn" type="PackedScene" id=8] [ext_resource path="res://Graphics/tgstation/floor.tres" type="TileSet" id=9] [ext_resource path="res://Actors/Objects/Engine/Engine.tscn" type="PackedScene" id=10] [ext_resource path="res://Graphics/tgstation/base.tres" type="TileSet" id=11] @@ -16,6 +17,7 @@ light_mode = 1 [node name="map" type="Node2D"] +position = Vector2( -1, 0 ) script = ExtResource( 5 ) [node name="darkness" type="CanvasModulate" parent="."] @@ -45,11 +47,13 @@ script = ExtResource( 3 ) extended_tilemap_node = NodePath("../1x1") [node name="cables" type="TileMap" parent="."] +position = Vector2( -3, 0 ) tile_set = ExtResource( 4 ) cell_size = Vector2( 32, 32 ) cell_quadrant_size = 32 occluder_light_mask = -2147483647 format = 1 +tile_data = PoolIntArray( 524286, 0, 131072, 524287, 0, 65536, 458752, 0, 65536, 458753, 0, 65536, 458754, 0, 65536, 458755, 0, 196608, 524291, 0, 65539, 655355, 0, 131073, 589827, 0, 65539, 720891, 0, 65539, 655363, 0, 131075, 786427, 0, 65538, 786428, 0, 65536, 786429, 0, 262144 ) script = ExtResource( 3 ) extended_tilemap_node = NodePath("../1x1") @@ -87,17 +91,14 @@ __meta__ = { [node name="Engine" parent="engines" instance=ExtResource( 10 )] position = Vector2( -320, 321 ) direction = 0 -strength = 1.0 [node name="Engine2" parent="engines" instance=ExtResource( 10 )] position = Vector2( -320, 208 ) direction = 0 -strength = 1.0 [node name="Engine3" parent="engines" instance=ExtResource( 10 )] position = Vector2( -320, 96 ) direction = 0 -strength = 1.0 [node name="objects" type="Node2D" parent="."] __meta__ = { @@ -132,10 +133,10 @@ position = Vector2( 96, 224 ) computer_type = 6 [node name="StaticBody2D" parent="objects/Computer7" instance=ExtResource( 12 )] -position = Vector2( -256, 96 ) +position = Vector2( -255, 64 ) [node name="StaticBody2D2" parent="objects/Computer7" instance=ExtResource( 12 )] -position = Vector2( -64, 96 ) +position = Vector2( 1, 96 ) [node name="lights" type="Node2D" parent="."] modulate = Color( 0.980392, 0.980392, 0.980392, 1 ) @@ -143,3 +144,6 @@ __meta__ = { "_edit_group_": true, "_edit_lock_": true } + +[node name="StaticBody2D" parent="." instance=ExtResource( 8 )] +position = Vector2( -95, 352 ) diff --git a/project.godot b/project.godot index 6b4c95f..4dbbe54 100644 --- a/project.godot +++ b/project.godot @@ -49,6 +49,11 @@ _global_script_classes=[ { "language": "GDScript", "path": "res://Actors/Objects/PowerStorage/PowerStorage.gd" }, { +"base": "StaticBody2D", +"class": "GameObjectScanner", +"language": "GDScript", +"path": "res://Actors/Objects/Scanner/Scanner.gd" +}, { "base": "Control", "class": "GameUI", "language": "GDScript", @@ -83,6 +88,7 @@ _global_script_class_icons={ "GameObjectEngine": "", "GameObjectLightbulb": "", "GameObjectPowerStorage": "", +"GameObjectScanner": "", "GameUI": "", "GameWorld": "", "MapTiles": "",