diff --git a/Art/bucket.png b/Art/bucket.png new file mode 100644 index 0000000..3090460 Binary files /dev/null and b/Art/bucket.png differ diff --git a/Art/bucket.png.import b/Art/bucket.png.import new file mode 100644 index 0000000..52ec6cf --- /dev/null +++ b/Art/bucket.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://m1mlr1s38on8" +path="res://.godot/imported/bucket.png-4311011eff24918ebca7b2ac543f4bea.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Art/bucket.png" +dest_files=["res://.godot/imported/bucket.png-4311011eff24918ebca7b2ac543f4bea.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Art/bucket_bottom.png b/Art/bucket_bottom.png new file mode 100644 index 0000000..64e3c46 Binary files /dev/null and b/Art/bucket_bottom.png differ diff --git a/Art/bucket_bottom.png.import b/Art/bucket_bottom.png.import new file mode 100644 index 0000000..b73f8d0 --- /dev/null +++ b/Art/bucket_bottom.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dpwvh7kwkyfqi" +path="res://.godot/imported/bucket_bottom.png-5ddd021ef89e7830e28acc827066d67c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Art/bucket_bottom.png" +dest_files=["res://.godot/imported/bucket_bottom.png-5ddd021ef89e7830e28acc827066d67c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Art/bucket_top.png b/Art/bucket_top.png new file mode 100644 index 0000000..43aedd5 Binary files /dev/null and b/Art/bucket_top.png differ diff --git a/Art/bucket_top.png.import b/Art/bucket_top.png.import new file mode 100644 index 0000000..8aa91aa --- /dev/null +++ b/Art/bucket_top.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://baukn3uw3c3c3" +path="res://.godot/imported/bucket_top.png-99768a6b7a98df6d51966e9a1d3b56d2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Art/bucket_top.png" +dest_files=["res://.godot/imported/bucket_top.png-99768a6b7a98df6d51966e9a1d3b56d2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Art/tile_set_hex.png b/Art/tile_set_hex.png new file mode 100644 index 0000000..a617146 Binary files /dev/null and b/Art/tile_set_hex.png differ diff --git a/Art/tile_set_hex.png.import b/Art/tile_set_hex.png.import new file mode 100644 index 0000000..563f68f --- /dev/null +++ b/Art/tile_set_hex.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bekb6ulekgb0b" +path="res://.godot/imported/tile_set_hex.png-4e21f3d721b662d063b200f1e5a89a7d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Art/tile_set_hex.png" +dest_files=["res://.godot/imported/tile_set_hex.png-4e21f3d721b662d063b200f1e5a89a7d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Attack.cs b/Attack.cs index ba51687..f76e401 100644 --- a/Attack.cs +++ b/Attack.cs @@ -5,6 +5,8 @@ public partial class Attack : RigidBody2D { [Signal] public delegate void HitEventHandler(Node NODE); + [Signal] + public delegate void BucketEnteredEventHandler(); public bool _hovered = false; public int _damage = 1; @@ -15,6 +17,7 @@ public partial class Attack : RigidBody2D public override void _Ready() { base._Ready(); + _predictionPath = GetNode("PredictedPath"); } @@ -35,10 +38,14 @@ public partial class Attack : RigidBody2D _predictionPath.Curve.AddPoint(POINTS[i]); } } + + public void EnteredBucket() + { + EmitSignal(SignalName.BucketEntered); + } public void Shoot(Vector2 FORCE){ _speed = FORCE; - // Set("velocity", FORCE); GravityScale = 1; } diff --git a/Bucket.cs b/Bucket.cs new file mode 100644 index 0000000..0bbaa07 --- /dev/null +++ b/Bucket.cs @@ -0,0 +1,27 @@ +using Godot; +using System; + +public partial class Bucket : Node2D +{ + + [Signal] + public delegate void AttackEnteredEventHandler(Attack ATTACK); + public int _minX = -500, _maxX = 500, _movementSign = 1, _movementSpeed = 3; + + public void Move() + { + Position += new Vector2(_movementSign * _movementSpeed, 0); + if (Position.X >= _maxX || Position.X <= _minX) + { + _movementSign *= -1; + } + } + public void OnBodyEntered(Node2D BODY) + { + if (BODY is Attack attack) + { + EmitSignal(SignalName.AttackEntered, attack); + attack.EnteredBucket(); + } + } +} diff --git a/Bucket.cs.uid b/Bucket.cs.uid new file mode 100644 index 0000000..5a502d2 --- /dev/null +++ b/Bucket.cs.uid @@ -0,0 +1 @@ +uid://cn8hskwnfxc8f diff --git a/Commander.cs b/Commander.cs index 4b5b4e1..f2f5580 100644 --- a/Commander.cs +++ b/Commander.cs @@ -21,11 +21,19 @@ public partial class Commander : Sprite2D { _attack.QueueFree(); _attack = null; - EmitSignal(SignalName.ActionsUp); + if (_actions <= 0) + { + EmitSignal(SignalName.ActionsUp); + } } } } + public void AttackEnteredBucket() + { + _actions += (_actions + 1) > _actionsMax ? 0 : 1; + } + public void LoadAttack(Vector2 OFFSET) { if (_attack == null) @@ -34,6 +42,7 @@ public partial class Commander : Sprite2D _attack.Position = OFFSET; _attack._commanderOwner = this; _attack.GravityScale = 0; + _attack.BucketEntered += AttackEnteredBucket; AddChild(_attack); } } diff --git a/EnemyController.cs b/EnemyController.cs index d901af1..e2825e3 100644 --- a/EnemyController.cs +++ b/EnemyController.cs @@ -27,10 +27,29 @@ public partial class EnemyController : TurnController AddChild(newEnemy); } } + public void AddEnemies(List POSITIONS) + { + for (int i = 0; i < POSITIONS.Count; i++) + { + Enemy newEnemy = _enemyScene.Instantiate(); + newEnemy.Death += RemoveEnemy; + + newEnemy._speed = Globals._rng.Next(2,4+1); + newEnemy.Modulate = new Color(newEnemy._speed == 2 ? "#FF0000" : newEnemy._speed == 3 ? "#00FF00" : "#0000FF"); + newEnemy._enemyController = this; + + WarpEnemy(newEnemy, POSITIONS[i]); + _enemies.Add(newEnemy); + AddChild(newEnemy); + } + + } public void Initiate() { - AddEnemies(3); + List positions = [.. _playArea.GetNode("InitialPositions").GetUsedCells()]; + + AddEnemies(positions); } public void MoveEnemies() @@ -38,36 +57,51 @@ public partial class EnemyController : TurnController Tween tween = CreateTween(); tween.SetParallel(); Dictionary> enemyPaths = new(); + Dictionary enemyOffsets = new(); + _enemies = [.. _enemies.OrderBy(e => e._address.Y).ThenBy(e => e._address.X)]; for (int i = 0; i < _enemies.Count; i++) { Enemy enemy = _enemies[i]; List path = _playArea._map.GetPath(enemy._address, new Vector2I(enemy._address.X, _playArea._map._minY)); enemyPaths[enemy] = path; + enemyOffsets[enemy] = 0; } int maxSpeed = _enemies.Max(e => e._speed); for (int i = 0; i < maxSpeed; i++) { - for (int j = 0; j < enemyPaths.Count; j++) + for (int j = 0; j < _enemies.Count; j++) { - Enemy enemy = enemyPaths.ElementAt(j).Key; - if (i >= enemy._speed) + Enemy enemy = _enemies[j]; + int offset = enemyOffsets[enemy]; + if (i >= enemy._speed - offset) { continue; } - List path = enemyPaths.ElementAt(j).Value; - Vector2I cell = path[i]; - enemy._address = cell; - if (j == 0) + List path = enemyPaths[enemy]; + Vector2I cell = path[i - offset]; + + if (_playArea._map.GetOccupant(cell) == null) { - tween.Chain(); + _playArea._map.SetCellEnemy(enemy._address, null); + enemy._address = cell; + _playArea._map.SetCellEnemy(enemy._address, enemy); + if (j == 0) + { + tween.Chain(); + } + else + { + tween.Parallel(); + } + tween.TweenProperty(enemy, "global_position", _playArea._map.GetCellPositionFromAddress(enemy._address), .2f); } else { - tween.Parallel(); + enemyOffsets[enemy]++; } - tween.TweenProperty(enemy, "global_position", _playArea._map.GetCellPositionFromAddress(enemy._address), .2f); + } } @@ -90,7 +124,11 @@ public partial class EnemyController : TurnController public void WarpEnemy(Enemy ENEMY, Vector2I CELL) { + + _playArea._map.SetCellEnemy(ENEMY._address, null); ENEMY._address = CELL; + + _playArea._map.SetCellEnemy(ENEMY._address, ENEMY); ENEMY.GlobalPosition = _playArea._map.GetCellPositionFromAddress(CELL); } } diff --git a/Map.cs b/Map.cs index 82d6d64..221f0c4 100644 --- a/Map.cs +++ b/Map.cs @@ -11,6 +11,7 @@ public partial class Map : TileMapLayer public Vector2I _pathTakenAtlasCoordinates = new Vector2I(4, 0); public List _leftmostColumn, _rightmostColumn, _topRow, _bottomRow; public AStarGrid2D _astar = new(); + public Dictionary _addressOccupants = new(); public override void _Ready() { @@ -25,21 +26,35 @@ public partial class Map : TileMapLayer _rightmostColumn = [.. cells.Where(c => c.X == _maxX)]; _topRow = [.. cells.Where(c => c.Y == _minY)]; _bottomRow = [.. cells.Where(c => c.Y == _maxY)]; - + cells.ForEach(c => SetCellEnemy(c, null)); _sizeInCells = new Vector2(_topRow.Count, _leftmostColumn.Count); _sizeInPixels = _sizeInCells * _cellSize; SetupAstar(); } + public Vector2 GetCellPositionFromAddress(Vector2I CELL_ADDRESS) { return GlobalPosition + CELL_ADDRESS * _cellSize + _cellSize / 2; } + public Enemy GetOccupant(Vector2I CELL_TO_CHECK) + { + return _addressOccupants[CELL_TO_CHECK]; + } + public bool IsCellSolid(Vector2I CELL_TO_CHECK) { - return (bool)GetCellTileData(CELL_TO_CHECK).GetCustomData(_isSolidString); + bool hasOccupant = GetOccupant(CELL_TO_CHECK) != null; + bool isSolid = (bool)GetCellTileData(CELL_TO_CHECK).GetCustomData(_isSolidString); + return hasOccupant || isSolid; + } + + public void SetCellEnemy(Vector2I ADDRESS, Enemy ENEMY) + { + _addressOccupants[ADDRESS] = ENEMY; + IsCellSolid(ADDRESS); } public void SetupAstar() diff --git a/PlayArea.cs b/PlayArea.cs index be6f516..2dd9ed8 100644 --- a/PlayArea.cs +++ b/PlayArea.cs @@ -8,10 +8,12 @@ public partial class PlayArea : Node2D public Node2D _leftEdge, _rightEdge; public Area2D _region; public Map _map; + public Bucket _bucket; public override void _Ready() { base._Ready(); + _bucket = GetNode("Bucket"); _region = GetNode("Region"); _leftEdge = GetNode("LeftEdge"); @@ -21,5 +23,11 @@ public partial class PlayArea : Node2D _map = GetNode("Map"); } + + public override void _Process(double delta) + { + base._Process(delta); + _bucket.Move(); + } } diff --git a/PlayArea.tscn b/PlayArea.tscn index acaaaa7..2598d0d 100644 --- a/PlayArea.tscn +++ b/PlayArea.tscn @@ -1,11 +1,12 @@ [gd_scene format=4 uid="uid://dumcridek4xy3"] [ext_resource type="Script" uid="uid://bnaxgcafcvtfv" path="res://PlayArea.cs" id="1_lq4m8"] -[ext_resource type="PackedScene" path="res://Map.tscn" id="2_wqv88"] +[ext_resource type="PackedScene" uid="uid://mjinvqj25wha" path="res://Map.tscn" id="2_wqv88"] [ext_resource type="Texture2D" uid="uid://cf554xlykq1o4" path="res://Art/tile_set.png" id="3_md2b6"] +[ext_resource type="PackedScene" uid="uid://b2mb7mimdu5ad" path="res://bucket.tscn" id="5_vqhsw"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_q4dkg"] -size = Vector2(640, 800) +size = Vector2(1200, 800) [sub_resource type="RectangleShape2D" id="RectangleShape2D_wqv88"] size = Vector2(400, 1000) @@ -13,7 +14,7 @@ size = Vector2(400, 1000) [sub_resource type="RectangleShape2D" id="RectangleShape2D_7h2rc"] size = Vector2(400, 80) -[sub_resource type="TileMapPattern" id="TileMapPattern_xy0lb"] +[sub_resource type="TileMapPattern" id="TileMapPattern_vqhsw"] tile_data = PackedInt32Array(0, 0, 0, 65536, 0, 1, 1, 0, 1, 65537, 0, 0) [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_vqhsw"] @@ -28,16 +29,34 @@ texture_region_size = Vector2i(40, 40) 0:1/0 = 0 1:1/0 = 0 2:1/0 = 0 -2:1/0/custom_data_0 = true 3:1/0 = 0 4:1/0 = 0 [sub_resource type="TileSet" id="TileSet_he03c"] +tile_offset_axis = 1 tile_size = Vector2i(40, 40) custom_data_layer_0/name = "is_solid" custom_data_layer_0/type = 1 sources/0 = SubResource("TileSetAtlasSource_vqhsw") -pattern_0 = SubResource("TileMapPattern_xy0lb") +pattern_0 = SubResource("TileMapPattern_vqhsw") + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_xy0lb"] +texture = ExtResource("3_md2b6") +texture_region_size = Vector2i(40, 40) +0:0/0 = 0 +1:0/0 = 0 +2:0/0 = 0 +3:0/0 = 0 +4:0/0 = 0 +0:1/0 = 0 +1:1/0 = 0 +2:1/0 = 0 +3:1/0 = 0 +4:1/0 = 0 + +[sub_resource type="TileSet" id="TileSet_vqhsw"] +tile_size = Vector2i(40, 40) +sources/0 = SubResource("TileSetAtlasSource_xy0lb") [node name="PlayArea" type="Node2D" unique_id=1123610167] script = ExtResource("1_lq4m8") @@ -54,76 +73,76 @@ shape = SubResource("RectangleShape2D_q4dkg") [node name="Collision" type="StaticBody2D" parent="LeftEdge" unique_id=1584516089] [node name="CollisionShape2D" type="CollisionShape2D" parent="LeftEdge/Collision" unique_id=1557835667] -position = Vector2(-523, 0) +position = Vector2(-800, 0) shape = SubResource("RectangleShape2D_wqv88") [node name="Section1" type="Area2D" parent="LeftEdge" unique_id=430038177] [node name="Bounds" type="CollisionShape2D" parent="LeftEdge/Section1" unique_id=1546734575] -position = Vector2(-480, -360) +position = Vector2(-757, -360) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Section2" type="Area2D" parent="LeftEdge" unique_id=61057132] [node name="Bounds" type="CollisionShape2D" parent="LeftEdge/Section2" unique_id=1682498045] -position = Vector2(-480, -280) +position = Vector2(-757, -280) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Section3" type="Area2D" parent="LeftEdge" unique_id=868122440] [node name="Bounds" type="CollisionShape2D" parent="LeftEdge/Section3" unique_id=902262355] -position = Vector2(-480, -200) +position = Vector2(-757, -200) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Section4" type="Area2D" parent="LeftEdge" unique_id=1842242245] [node name="Bounds" type="CollisionShape2D" parent="LeftEdge/Section4" unique_id=1316706017] -position = Vector2(-480, -120) +position = Vector2(-757, -120) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Section5" type="Area2D" parent="LeftEdge" unique_id=936374910] [node name="Bounds" type="CollisionShape2D" parent="LeftEdge/Section5" unique_id=1628834606] -position = Vector2(-480, -40) +position = Vector2(-757, -40) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Section6" type="Area2D" parent="LeftEdge" unique_id=2146055078] [node name="Bounds" type="CollisionShape2D" parent="LeftEdge/Section6" unique_id=53765240] -position = Vector2(-480, 40) +position = Vector2(-757, 40) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Section7" type="Area2D" parent="LeftEdge" unique_id=1447981252] [node name="Bounds" type="CollisionShape2D" parent="LeftEdge/Section7" unique_id=1258555334] -position = Vector2(-480, 120) +position = Vector2(-757, 120) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Section8" type="Area2D" parent="LeftEdge" unique_id=337373465] [node name="Bounds" type="CollisionShape2D" parent="LeftEdge/Section8" unique_id=1274223146] -position = Vector2(-480, 200) +position = Vector2(-757, 200) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Section9" type="Area2D" parent="LeftEdge" unique_id=1702636605] [node name="Bounds" type="CollisionShape2D" parent="LeftEdge/Section9" unique_id=781702202] -position = Vector2(-480, 280) +position = Vector2(-757, 280) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Section10" type="Area2D" parent="LeftEdge" unique_id=2136154270] [node name="Bounds" type="CollisionShape2D" parent="LeftEdge/Section10" unique_id=1298321736] -position = Vector2(-480, 360) +position = Vector2(-757, 360) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) @@ -132,79 +151,87 @@ debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Collision" type="StaticBody2D" parent="RightEdge" unique_id=741866416] [node name="CollisionShape2D" type="CollisionShape2D" parent="RightEdge/Collision" unique_id=180709933] -position = Vector2(522, 0) +position = Vector2(800, 0) shape = SubResource("RectangleShape2D_wqv88") [node name="Section1" type="Area2D" parent="RightEdge" unique_id=252540847] [node name="Bounds" type="CollisionShape2D" parent="RightEdge/Section1" unique_id=1820961127] -position = Vector2(480, -360) +position = Vector2(758, -360) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Section2" type="Area2D" parent="RightEdge" unique_id=267891984] [node name="Bounds" type="CollisionShape2D" parent="RightEdge/Section2" unique_id=804691774] -position = Vector2(480, -280) +position = Vector2(758, -280) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Section3" type="Area2D" parent="RightEdge" unique_id=121529244] [node name="Bounds" type="CollisionShape2D" parent="RightEdge/Section3" unique_id=50380052] -position = Vector2(480, -200) +position = Vector2(758, -200) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Section4" type="Area2D" parent="RightEdge" unique_id=989416428] [node name="Bounds" type="CollisionShape2D" parent="RightEdge/Section4" unique_id=166799963] -position = Vector2(480, -120) +position = Vector2(758, -120) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Section5" type="Area2D" parent="RightEdge" unique_id=559247798] [node name="Bounds" type="CollisionShape2D" parent="RightEdge/Section5" unique_id=1711739887] -position = Vector2(480, -40) +position = Vector2(758, -40) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Section6" type="Area2D" parent="RightEdge" unique_id=1703456342] [node name="Bounds" type="CollisionShape2D" parent="RightEdge/Section6" unique_id=1898050073] -position = Vector2(480, 40) +position = Vector2(758, 40) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Section7" type="Area2D" parent="RightEdge" unique_id=217445677] [node name="Bounds" type="CollisionShape2D" parent="RightEdge/Section7" unique_id=1089776683] -position = Vector2(480, 120) +position = Vector2(758, 120) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Section8" type="Area2D" parent="RightEdge" unique_id=1351019631] [node name="Bounds" type="CollisionShape2D" parent="RightEdge/Section8" unique_id=1913911859] -position = Vector2(480, 200) +position = Vector2(758, 200) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Section9" type="Area2D" parent="RightEdge" unique_id=351144802] [node name="Bounds" type="CollisionShape2D" parent="RightEdge/Section9" unique_id=931389292] -position = Vector2(480, 280) +position = Vector2(758, 280) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Section10" type="Area2D" parent="RightEdge" unique_id=2002509833] [node name="Bounds" type="CollisionShape2D" parent="RightEdge/Section10" unique_id=1347884847] -position = Vector2(480, 360) +position = Vector2(758, 360) shape = SubResource("RectangleShape2D_7h2rc") debug_color = Color(0.98836404, 0, 0.30800217, 0.41960785) [node name="Map" parent="." unique_id=1033871459 instance=ExtResource("2_wqv88")] -tile_map_data = PackedByteArray("AAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAD//wAAAAAAAAEAAAAAAP//AAAAAAEAAAD///3/AAAAAAAAAAD///7/AAAAAAEAAAAAAP3/AAAAAAEAAAAAAP7/AAAAAAAAAAD///v/AAAAAAAAAAD///z/AAAAAAEAAAAAAPv/AAAAAAEAAAAAAPz/AAAAAAAAAAD///n/AAAAAAAAAAD///r/AAAAAAEAAAAAAPn/AAAAAAEAAAAAAPr/AAAAAAAAAAD///b/AAAAAAEAAAAAAPb/AAAAAAAAAAD///f/AAAAAAAAAAD///j/AAAAAAEAAAAAAPf/AAAAAAEAAAAAAPj/AAAAAAAAAAD//wEAAAAAAAAAAAD//wIAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAIAAAAAAAAAAAD//wMAAAAAAAAAAAD//wQAAAAAAAEAAAAAAAMAAAAAAAEAAAAAAAQAAAAAAAAAAAD//wUAAAAAAAAAAAD//wYAAAAAAAEAAAAAAAUAAAAAAAEAAAAAAAYAAAAAAAAAAAD//wcAAAAAAAAAAAD//wgAAAAAAAEAAAAAAAcAAAAAAAEAAAAAAAgAAAAAAAAAAAD//wkAAAAAAAAAAAAAAAkAAAAAAAEAAAD4//b/AAAAAAAAAAD4//f/AAAAAAEAAAD4//j/AAAAAAAAAAD4//n/AAAAAAEAAAD4//r/AAAAAAAAAAD4//v/AAAAAAEAAAD4//z/AAAAAAAAAAD4//3/AAAAAAEAAAD4//7/AAAAAAAAAAD4////AAAAAAEAAAD4/wAAAAAAAAAAAAD4/wEAAAAAAAEAAAD4/wIAAAAAAAAAAAD4/wMAAAAAAAEAAAD4/wQAAAAAAAAAAAD4/wUAAAAAAAEAAAD4/wYAAAAAAAAAAAD4/wcAAAAAAAEAAAD4/wgAAAAAAAAAAAD4/wkAAAAAAAEAAAD5//b/AAAAAAEAAAD5//f/AAAAAAAAAAD6//b/AAAAAAAAAAD6//f/AAAAAAEAAAD5//j/AAAAAAEAAAD5//n/AAAAAAAAAAD6//j/AAAAAAAAAAD6//n/AAAAAAEAAAD5//r/AAAAAAEAAAD5//v/AAAAAAAAAAD6//r/AAAAAAAAAAD6//v/AAAAAAEAAAD5//z/AAAAAAEAAAD5//3/AAAAAAAAAAD6//z/AAAAAAAAAAD6//3/AAAAAAEAAAD5//7/AAAAAAEAAAD5////AAAAAAAAAAD6//7/AAAAAAAAAAD6////AAAAAAEAAAD5/wAAAAAAAAEAAAD5/wEAAAAAAAAAAAD6/wAAAAAAAAAAAAD6/wEAAAAAAAEAAAD5/wIAAAAAAAEAAAD5/wMAAAAAAAAAAAD6/wIAAAAAAAAAAAD6/wMAAAAAAAEAAAD5/wQAAAAAAAEAAAD5/wUAAAAAAAAAAAD6/wQAAAAAAAAAAAD6/wUAAAAAAAEAAAD5/wYAAAAAAAEAAAD5/wcAAAAAAAAAAAD6/wYAAAAAAAAAAAD6/wcAAAAAAAEAAAD5/wgAAAAAAAEAAAD5/wkAAAAAAAAAAAD6/wgAAAAAAAAAAAD6/wkAAAAAAAEAAAD7//b/AAAAAAEAAAD7//f/AAAAAAAAAAD8//b/AAAAAAAAAAD8//f/AAAAAAEAAAD7//j/AAAAAAEAAAD7//n/AAAAAAAAAAD8//j/AAAAAAAAAAD8//n/AAAAAAEAAAD7//r/AAAAAAEAAAD7//v/AAAAAAAAAAD8//r/AAAAAAAAAAD8//v/AAAAAAEAAAD7//z/AAAAAAEAAAD7//3/AAAAAAAAAAD8//z/AAAAAAAAAAD8//3/AAAAAAEAAAD7//7/AAAAAAEAAAD7////AAAAAAAAAAD8//7/AAAAAAAAAAD8////AAAAAAEAAAD7/wAAAAAAAAEAAAD7/wEAAAAAAAAAAAD8/wAAAAAAAAAAAAD8/wEAAAAAAAEAAAD7/wIAAAAAAAEAAAD7/wMAAAAAAAAAAAD8/wIAAAAAAAAAAAD8/wMAAAAAAAEAAAD7/wQAAAAAAAEAAAD7/wUAAAAAAAAAAAD8/wQAAAAAAAAAAAD8/wUAAAAAAAEAAAD7/wYAAAAAAAEAAAD7/wcAAAAAAAAAAAD8/wYAAAAAAAAAAAD8/wcAAAAAAAEAAAD7/wgAAAAAAAEAAAD7/wkAAAAAAAAAAAD8/wgAAAAAAAAAAAD8/wkAAAAAAAEAAAD9//b/AAAAAAEAAAD9//f/AAAAAAAAAAD+//b/AAAAAAAAAAD+//f/AAAAAAEAAAD9//j/AAAAAAEAAAD9//n/AAAAAAAAAAD+//j/AAAAAAAAAAD+//n/AAAAAAEAAAD9//r/AAAAAAEAAAD9//v/AAAAAAAAAAD+//r/AAAAAAAAAAD+//v/AAAAAAEAAAD9//z/AAAAAAEAAAD9//3/AAAAAAAAAAD+//z/AAAAAAAAAAD+//3/AAAAAAEAAAD9//7/AAAAAAEAAAD9////AAAAAAAAAAD+//7/AAAAAAAAAAD+////AAAAAAEAAAD9/wAAAAAAAAEAAAD9/wEAAAAAAAAAAAD+/wAAAAAAAAAAAAD+/wEAAAAAAAEAAAD9/wIAAAAAAAEAAAD9/wMAAAAAAAAAAAD+/wIAAAAAAAAAAAD+/wMAAAAAAAEAAAD9/wQAAAAAAAEAAAD9/wUAAAAAAAAAAAD+/wQAAAAAAAAAAAD+/wUAAAAAAAEAAAD9/wYAAAAAAAEAAAD9/wcAAAAAAAAAAAD+/wYAAAAAAAAAAAD+/wcAAAAAAAEAAAD9/wgAAAAAAAEAAAD9/wkAAAAAAAAAAAD+/wgAAAAAAAAAAAD+/wkAAAAAAAEAAAABAPb/AAAAAAEAAAABAPf/AAAAAAAAAAABAPj/AAAAAAEAAAABAPn/AAAAAAAAAAABAPr/AAAAAAEAAAABAPv/AAAAAAAAAAABAPz/AAAAAAEAAAABAP3/AAAAAAAAAAABAP7/AAAAAAEAAAABAP//AAAAAAAAAAABAAAAAAAAAAEAAAABAAEAAAAAAAAAAAABAAIAAAAAAAEAAAABAAMAAAAAAAAAAAABAAQAAAAAAAEAAAABAAUAAAAAAAAAAAABAAYAAAAAAAEAAAABAAcAAAAAAAAAAAABAAgAAAAAAAEAAAABAAkAAAAAAAAAAAACAPb/AAAAAAAAAAACAPf/AAAAAAEAAAADAPb/AAAAAAEAAAADAPf/AAAAAAAAAAACAPj/AAAAAAAAAAACAPn/AAAAAAEAAAADAPj/AAAAAAEAAAADAPn/AAAAAAAAAAACAPr/AAAAAAAAAAACAPv/AAAAAAEAAAADAPr/AAAAAAEAAAADAPv/AAAAAAAAAAACAPz/AAAAAAAAAAACAP3/AAAAAAEAAAADAPz/AAAAAAEAAAADAP3/AAAAAAAAAAACAP7/AAAAAAAAAAACAP//AAAAAAEAAAADAP7/AAAAAAEAAAADAP//AAAAAAAAAAACAAAAAAAAAAAAAAACAAEAAAAAAAEAAAADAAAAAAAAAAEAAAADAAEAAAAAAAAAAAACAAIAAAAAAAAAAAACAAMAAAAAAAEAAAADAAIAAAAAAAEAAAADAAMAAAAAAAAAAAACAAQAAAAAAAAAAAACAAUAAAAAAAEAAAADAAQAAAAAAAEAAAADAAUAAAAAAAAAAAACAAYAAAAAAAAAAAACAAcAAAAAAAEAAAADAAYAAAAAAAEAAAADAAcAAAAAAAAAAAACAAgAAAAAAAAAAAACAAkAAAAAAAEAAAADAAgAAAAAAAEAAAADAAkAAAAAAAAAAAAEAPb/AAAAAAAAAAAEAPf/AAAAAAEAAAAFAPb/AAAAAAEAAAAFAPf/AAAAAAAAAAAEAPj/AAAAAAAAAAAEAPn/AAAAAAEAAAAFAPj/AAAAAAEAAAAFAPn/AAAAAAAAAAAEAPr/AAAAAAAAAAAEAPv/AAAAAAEAAAAFAPr/AAAAAAEAAAAFAPv/AAAAAAAAAAAEAPz/AAAAAAAAAAAEAP3/AAAAAAEAAAAFAPz/AAAAAAEAAAAFAP3/AAAAAAAAAAAEAP7/AAAAAAAAAAAEAP//AAAAAAEAAAAFAP7/AAAAAAEAAAAFAP//AAAAAAAAAAAEAAAAAAAAAAAAAAAEAAEAAAAAAAEAAAAFAAAAAAAAAAEAAAAFAAEAAAAAAAAAAAAEAAIAAAAAAAAAAAAEAAMAAAAAAAEAAAAFAAIAAAAAAAEAAAAFAAMAAAAAAAAAAAAEAAQAAAAAAAAAAAAEAAUAAAAAAAEAAAAFAAQAAAAAAAEAAAAFAAUAAAAAAAAAAAAEAAYAAAAAAAAAAAAEAAcAAAAAAAEAAAAFAAYAAAAAAAEAAAAFAAcAAAAAAAAAAAAEAAgAAAAAAAAAAAAEAAkAAAAAAAEAAAAFAAgAAAAAAAEAAAAFAAkAAAAAAAAAAAAGAPb/AAAAAAAAAAAGAPf/AAAAAAEAAAAHAPb/AAAAAAEAAAAHAPf/AAAAAAAAAAAGAPj/AAAAAAAAAAAGAPn/AAAAAAEAAAAHAPj/AAAAAAEAAAAHAPn/AAAAAAAAAAAGAPr/AAAAAAAAAAAGAPv/AAAAAAEAAAAHAPr/AAAAAAEAAAAHAPv/AAAAAAAAAAAGAPz/AAAAAAAAAAAGAP3/AAAAAAEAAAAHAPz/AAAAAAEAAAAHAP3/AAAAAAAAAAAGAP7/AAAAAAAAAAAGAP//AAAAAAEAAAAHAP7/AAAAAAEAAAAHAP//AAAAAAAAAAAGAAAAAAAAAAAAAAAGAAEAAAAAAAEAAAAHAAAAAAAAAAEAAAAHAAEAAAAAAAAAAAAGAAIAAAAAAAAAAAAGAAMAAAAAAAEAAAAHAAIAAAAAAAEAAAAHAAMAAAAAAAAAAAAGAAQAAAAAAAAAAAAGAAUAAAAAAAEAAAAHAAQAAAAAAAEAAAAHAAUAAAAAAAAAAAAGAAYAAAAAAAAAAAAGAAcAAAAAAAEAAAAHAAYAAAAAAAEAAAAHAAcAAAAAAAAAAAAGAAgAAAAAAAAAAAAGAAkAAAAAAAEAAAAHAAgAAAAAAAEAAAAHAAkAAAAAAAAAAAA=") +modulate = Color(1, 1, 1, 0.39215687) +tile_map_data = PackedByteArray("AAAAAAAAAAADAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAEAAAAAAAMAAAAAAAAAAAAAAAQAAAAAAAEAAAAAAAUAAAAAAAAAAAAAAAYAAAAAAAEAAAAAAAcAAAAAAAAAAAAAAAgAAAAAAAEAAAAAAAkAAAAAAAAAAAABAAAAAAAAAAAAAAABAAEAAAAAAAEAAAABAAIAAAAAAAAAAAABAAMAAAAAAAEAAAABAAQAAAAAAAAAAAABAAUAAAAAAAEAAAABAAYAAAAAAAAAAAABAAcAAAAAAAEAAAABAAgAAAAAAAAAAAABAAkAAAAAAAEAAAACAAAAAAAAAAEAAAACAAEAAAAAAAAAAAACAAIAAAAAAAEAAAACAAMAAAAAAAAAAAACAAQAAAAAAAEAAAACAAUAAAAAAAAAAAACAAYAAAAAAAEAAAACAAcAAAAAAAAAAAACAAgAAAAAAAEAAAACAAkAAAAAAAAAAAADAAAAAAAAAAAAAAADAAEAAAAAAAEAAAADAAIAAAAAAAAAAAADAAMAAAAAAAEAAAADAAQAAAAAAAAAAAADAAUAAAAAAAEAAAADAAYAAAAAAAAAAAADAAcAAAAAAAEAAAADAAgAAAAAAAAAAAADAAkAAAAAAAEAAAAEAAAAAAAAAAEAAAAEAAEAAAAAAAAAAAAEAAIAAAAAAAEAAAAEAAMAAAAAAAAAAAAEAAQAAAAAAAEAAAAEAAUAAAAAAAAAAAAEAAYAAAAAAAEAAAAEAAcAAAAAAAAAAAAEAAgAAAAAAAEAAAAEAAkAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAEAAAAAAAEAAAAFAAIAAAAAAAAAAAAFAAMAAAAAAAEAAAAFAAQAAAAAAAAAAAAFAAUAAAAAAAEAAAAFAAYAAAAAAAAAAAAFAAcAAAAAAAEAAAAFAAgAAAAAAAAAAAAFAAkAAAAAAAEAAAAGAAAAAAAAAAEAAAAGAAEAAAAAAAAAAAAGAAIAAAAAAAEAAAAGAAMAAAAAAAAAAAAGAAQAAAAAAAEAAAAGAAUAAAAAAAAAAAAGAAYAAAAAAAEAAAAGAAcAAAAAAAAAAAAGAAgAAAAAAAEAAAAGAAkAAAAAAAAAAAAHAAAAAAAAAAAAAAAHAAEAAAAAAAEAAAAHAAIAAAAAAAAAAAAHAAMAAAAAAAEAAAAHAAQAAAAAAAAAAAAHAAUAAAAAAAEAAAAHAAYAAAAAAAAAAAAHAAcAAAAAAAEAAAAHAAgAAAAAAAAAAAAHAAkAAAAAAAEAAAAIAAAAAAAAAAEAAAAIAAEAAAAAAAAAAAAIAAIAAAAAAAEAAAAIAAMAAAAAAAAAAAAIAAQAAAAAAAEAAAAIAAUAAAAAAAAAAAAIAAYAAAAAAAEAAAAIAAcAAAAAAAAAAAAIAAgAAAAAAAEAAAAIAAkAAAAAAAAAAAAJAAAAAAAAAAAAAAAJAAEAAAAAAAEAAAAJAAIAAAAAAAAAAAAJAAMAAAAAAAEAAAAJAAQAAAAAAAAAAAAJAAUAAAAAAAEAAAAJAAYAAAAAAAAAAAAJAAcAAAAAAAEAAAAJAAgAAAAAAAAAAAAJAAkAAAAAAAEAAAAKAAAAAAAAAAEAAAAKAAEAAAAAAAAAAAAKAAIAAAAAAAEAAAAKAAMAAAAAAAAAAAAKAAQAAAAAAAEAAAAKAAUAAAAAAAAAAAAKAAYAAAAAAAEAAAAKAAcAAAAAAAAAAAAKAAgAAAAAAAEAAAAKAAkAAAAAAAAAAAALAAAAAAAAAAAAAAALAAEAAAAAAAEAAAALAAIAAAAAAAAAAAALAAMAAAAAAAEAAAALAAQAAAAAAAAAAAALAAUAAAAAAAEAAAALAAYAAAAAAAAAAAALAAcAAAAAAAEAAAALAAgAAAAAAAAAAAALAAkAAAAAAAEAAAAMAAAAAAAAAAEAAAAMAAEAAAAAAAAAAAAMAAIAAAAAAAEAAAAMAAMAAAAAAAAAAAAMAAQAAAAAAAEAAAAMAAUAAAAAAAAAAAAMAAYAAAAAAAEAAAAMAAcAAAAAAAAAAAAMAAgAAAAAAAEAAAAMAAkAAAAAAAAAAAANAAAAAAAAAAAAAAANAAEAAAAAAAEAAAANAAIAAAAAAAAAAAANAAMAAAAAAAEAAAANAAQAAAAAAAAAAAANAAUAAAAAAAEAAAANAAYAAAAAAAAAAAANAAcAAAAAAAEAAAANAAgAAAAAAAAAAAANAAkAAAAAAAEAAAAOAAAAAAAAAAEAAAAOAAEAAAAAAAAAAAAOAAIAAAAAAAEAAAAOAAMAAAAAAAAAAAAOAAQAAAAAAAEAAAAOAAUAAAAAAAAAAAAOAAYAAAAAAAEAAAAOAAcAAAAAAAAAAAAOAAgAAAAAAAEAAAAOAAkAAAAAAAAAAADx//b/AAAAAAAAAADx//f/AAAAAAEAAADx//j/AAAAAAAAAADx//n/AAAAAAEAAADx//r/AAAAAAAAAADx//v/AAAAAAEAAADx//z/AAAAAAAAAADx//3/AAAAAAEAAADx//7/AAAAAAAAAADx////AAAAAAEAAADx/wAAAAAAAAAAAADx/wEAAAAAAAEAAADx/wIAAAAAAAAAAADx/wMAAAAAAAEAAADx/wQAAAAAAAAAAADx/wUAAAAAAAEAAADx/wYAAAAAAAAAAADx/wcAAAAAAAEAAADx/wgAAAAAAAAAAADx/wkAAAAAAAEAAADy//b/AAAAAAEAAADy//f/AAAAAAAAAADy//j/AAAAAAEAAADy//n/AAAAAAAAAADy//r/AAAAAAEAAADy//v/AAAAAAAAAADy//z/AAAAAAEAAADy//3/AAAAAAAAAADy//7/AAAAAAEAAADy////AAAAAAAAAADy/wAAAAAAAAEAAADy/wEAAAAAAAAAAADy/wIAAAAAAAEAAADy/wMAAAAAAAAAAADy/wQAAAAAAAEAAADy/wUAAAAAAAAAAADy/wYAAAAAAAEAAADy/wcAAAAAAAAAAADy/wgAAAAAAAEAAADy/wkAAAAAAAAAAADz//b/AAAAAAAAAADz//f/AAAAAAEAAADz//j/AAAAAAAAAADz//n/AAAAAAEAAADz//r/AAADAAAAAADz//v/AAAAAAEAAADz//z/AAAAAAAAAADz//3/AAAAAAEAAADz//7/AAAAAAAAAADz////AAAAAAEAAADz/wAAAAAAAAAAAADz/wEAAAAAAAEAAADz/wIAAAAAAAAAAADz/wMAAAAAAAEAAADz/wQAAAAAAAAAAADz/wUAAAAAAAEAAADz/wYAAAAAAAAAAADz/wcAAAAAAAEAAADz/wgAAAAAAAAAAADz/wkAAAAAAAEAAAD0//b/AAAAAAEAAAD0//f/AAAAAAAAAAD0//j/AAAAAAEAAAD0//n/AAADAAAAAAD0//r/AAAAAAEAAAD0//v/AAAAAAAAAAD0//z/AAAAAAEAAAD0//3/AAAAAAAAAAD0//7/AAAAAAEAAAD0////AAAAAAAAAAD0/wAAAAAAAAEAAAD0/wEAAAAAAAAAAAD0/wIAAAAAAAEAAAD0/wMAAAAAAAAAAAD0/wQAAAAAAAEAAAD0/wUAAAAAAAAAAAD0/wYAAAAAAAEAAAD0/wcAAAAAAAAAAAD0/wgAAAAAAAEAAAD0/wkAAAAAAAAAAAD1//b/AAAAAAAAAAD1//f/AAAAAAEAAAD1//j/AAAAAAAAAAD1//n/AAADAAAAAAD1//r/AAAAAAAAAAD1//v/AAAAAAEAAAD1//z/AAAAAAAAAAD1//3/AAAAAAEAAAD1//7/AAAAAAAAAAD1////AAAAAAEAAAD1/wAAAAAAAAAAAAD1/wEAAAAAAAEAAAD1/wIAAAAAAAAAAAD1/wMAAAAAAAEAAAD1/wQAAAAAAAAAAAD1/wUAAAAAAAEAAAD1/wYAAAAAAAAAAAD1/wcAAAAAAAEAAAD1/wgAAAAAAAAAAAD1/wkAAAAAAAEAAAD2//b/AAAAAAEAAAD2//f/AAAAAAAAAAD2//j/AAAAAAEAAAD2//n/AAADAAAAAAD2//r/AAAAAAEAAAD2//v/AAAAAAAAAAD2//z/AAAAAAEAAAD2//3/AAAAAAAAAAD2//7/AAAAAAEAAAD2////AAAAAAAAAAD2/wAAAAAAAAEAAAD2/wEAAAAAAAAAAAD2/wIAAAAAAAEAAAD2/wMAAAAAAAAAAAD2/wQAAAAAAAEAAAD2/wUAAAAAAAAAAAD2/wYAAAAAAAEAAAD2/wcAAAAAAAAAAAD2/wgAAAAAAAEAAAD2/wkAAAAAAAAAAAD3//b/AAAAAAAAAAD3//f/AAAAAAEAAAD3//j/AAAAAAAAAAD3//n/AAAAAAEAAAD3//r/AAADAAAAAAD3//v/AAAAAAEAAAD3//z/AAAAAAAAAAD3//3/AAAAAAEAAAD3//7/AAAAAAAAAAD3////AAAAAAEAAAD3/wAAAAAAAAAAAAD3/wEAAAAAAAEAAAD3/wIAAAAAAAAAAAD3/wMAAAAAAAEAAAD3/wQAAAAAAAAAAAD3/wUAAAAAAAEAAAD3/wYAAAAAAAAAAAD3/wcAAAAAAAEAAAD3/wgAAAAAAAAAAAD3/wkAAAAAAAEAAAD4//b/AAAAAAEAAAD4//f/AAAAAAAAAAD4//j/AAAAAAEAAAD4//n/AAAAAAAAAAD4//r/AAAAAAEAAAD4//v/AAAAAAAAAAD4//z/AAAAAAEAAAD4//3/AAAAAAAAAAD4//7/AAAAAAEAAAD4////AAAAAAAAAAD4/wAAAAAAAAEAAAD4/wEAAAAAAAAAAAD4/wIAAAAAAAEAAAD4/wMAAAAAAAAAAAD4/wQAAAAAAAEAAAD4/wUAAAAAAAAAAAD4/wYAAAAAAAEAAAD4/wcAAAAAAAAAAAD4/wgAAAAAAAEAAAD4/wkAAAAAAAAAAAD5//b/AAAAAAAAAAD5//f/AAAAAAEAAAD5//j/AAAAAAAAAAD5//n/AAAAAAEAAAD5//r/AAAAAAAAAAD5//v/AAAAAAEAAAD5//z/AAAAAAAAAAD5//3/AAAAAAEAAAD5//7/AAAAAAAAAAD5////AAAAAAEAAAD5/wAAAAAAAAAAAAD5/wEAAAAAAAEAAAD5/wIAAAAAAAAAAAD5/wMAAAAAAAEAAAD5/wQAAAAAAAAAAAD5/wUAAAAAAAEAAAD5/wYAAAAAAAAAAAD5/wcAAAAAAAEAAAD5/wgAAAAAAAAAAAD5/wkAAAAAAAEAAAD6//b/AAAAAAEAAAD6//f/AAAAAAAAAAD6//j/AAAAAAEAAAD6//n/AAAAAAAAAAD6//r/AAAAAAEAAAD6//v/AAAAAAAAAAD6//z/AAAAAAEAAAD6//3/AAAAAAAAAAD6//7/AAAAAAEAAAD6////AAAAAAAAAAD6/wAAAAAAAAEAAAD6/wEAAAAAAAAAAAD6/wIAAAAAAAEAAAD6/wMAAAAAAAAAAAD6/wQAAAAAAAEAAAD6/wUAAAAAAAAAAAD6/wYAAAAAAAEAAAD6/wcAAAAAAAAAAAD6/wgAAAAAAAEAAAD6/wkAAAAAAAAAAAD7//b/AAAAAAAAAAD7//f/AAAAAAEAAAD7//j/AAAAAAAAAAD7//n/AAAAAAEAAAD7//r/AAAAAAAAAAD7//v/AAAAAAEAAAD7//z/AAAAAAAAAAD7//3/AAAAAAEAAAD7//7/AAAAAAAAAAD7////AAAAAAEAAAD7/wAAAAAAAAAAAAD7/wEAAAAAAAEAAAD7/wIAAAAAAAAAAAD7/wMAAAAAAAEAAAD7/wQAAAAAAAAAAAD7/wUAAAAAAAEAAAD7/wYAAAAAAAAAAAD7/wcAAAAAAAEAAAD7/wgAAAAAAAAAAAD7/wkAAAAAAAEAAAD8//b/AAAAAAEAAAD8//f/AAAAAAAAAAD8//j/AAAAAAEAAAD8//n/AAAAAAAAAAD8//r/AAAAAAEAAAD8//v/AAAAAAAAAAD8//z/AAAAAAEAAAD8//3/AAAAAAAAAAD8//7/AAAAAAEAAAD8////AAAAAAAAAAD8/wAAAAAAAAEAAAD8/wEAAAAAAAAAAAD8/wIAAAAAAAEAAAD8/wMAAAAAAAAAAAD8/wQAAAAAAAEAAAD8/wUAAAAAAAAAAAD8/wYAAAAAAAEAAAD8/wcAAAAAAAAAAAD8/wgAAAAAAAEAAAD8/wkAAAAAAAAAAAD9//b/AAAAAAAAAAD9//f/AAAAAAEAAAD9//j/AAAAAAAAAAD9//n/AAAAAAEAAAD9//r/AAAAAAAAAAD9//v/AAAAAAEAAAD9//z/AAAAAAAAAAD9//3/AAAAAAEAAAD9//7/AAAAAAAAAAD9////AAAAAAEAAAD9/wAAAAAAAAAAAAD9/wEAAAAAAAEAAAD9/wIAAAAAAAAAAAD9/wMAAAAAAAEAAAD9/wQAAAAAAAAAAAD9/wUAAAAAAAEAAAD9/wYAAAAAAAAAAAD9/wcAAAAAAAEAAAD9/wgAAAAAAAAAAAD9/wkAAAAAAAEAAAD+//b/AAAAAAEAAAD+//f/AAAAAAAAAAD+//j/AAAAAAEAAAD+//n/AAAAAAAAAAD+//r/AAAAAAEAAAD+//v/AAAAAAAAAAD+//z/AAAAAAEAAAD+//3/AAAAAAAAAAD+//7/AAAAAAEAAAD+////AAAAAAAAAAD+/wAAAAAAAAEAAAD+/wEAAAAAAAAAAAD+/wIAAAAAAAEAAAD+/wMAAAAAAAAAAAD+/wQAAAAAAAEAAAD+/wUAAAAAAAAAAAD+/wYAAAAAAAEAAAD+/wcAAAAAAAAAAAD+/wgAAAAAAAEAAAD+/wkAAAAAAAAAAAD///b/AAAAAAAAAAD///f/AAAAAAEAAAD///j/AAAAAAAAAAD///n/AAAAAAEAAAD///r/AAAAAAAAAAD///v/AAAAAAEAAAD///z/AAAAAAAAAAD///3/AAAAAAEAAAD///7/AAAAAAAAAAD/////AAABAAAAAAD//wAAAAAEAAAAAAD//wEAAAAAAAEAAAD//wIAAAAAAAAAAAD//wMAAAAAAAEAAAD//wQAAAAAAAAAAAD//wUAAAAAAAEAAAD//wYAAAAAAAAAAAD//wcAAAAAAAEAAAD//wgAAAAAAAAAAAD//wkAAAAAAAEAAAAAAPb/AAAAAAEAAAAAAPf/AAAAAAAAAAAAAPj/AAAAAAEAAAAAAPn/AAAAAAAAAAAAAPr/AAAAAAEAAAAAAPv/AAAAAAAAAAAAAPz/AAAAAAEAAAAAAP3/AAAAAAAAAAAAAP7/AAAAAAEAAAAAAP//AAACAAAAAAABAPb/AAAAAAAAAAABAPf/AAAAAAEAAAABAPj/AAAAAAAAAAABAPn/AAAAAAEAAAABAPr/AAAAAAAAAAABAPv/AAAAAAEAAAABAPz/AAAAAAAAAAABAP3/AAAAAAEAAAABAP7/AAAAAAAAAAABAP//AAAAAAEAAAACAPb/AAAAAAEAAAACAPf/AAAAAAAAAAACAPj/AAAAAAEAAAACAPn/AAAAAAAAAAACAPr/AAAAAAEAAAACAPv/AAAAAAAAAAACAPz/AAAAAAEAAAACAP3/AAAAAAAAAAACAP7/AAAAAAEAAAACAP//AAAAAAAAAAADAPb/AAAAAAAAAAADAPf/AAAAAAEAAAADAPj/AAAAAAAAAAADAPn/AAAAAAEAAAADAPr/AAAAAAAAAAADAPv/AAAAAAEAAAADAPz/AAAAAAAAAAADAP3/AAAAAAEAAAADAP7/AAAAAAAAAAADAP//AAAAAAEAAAAEAPb/AAAAAAEAAAAEAPf/AAAAAAAAAAAEAPj/AAAAAAEAAAAEAPn/AAAAAAAAAAAEAPr/AAAAAAEAAAAEAPv/AAAAAAAAAAAEAPz/AAAAAAEAAAAEAP3/AAAAAAAAAAAEAP7/AAAAAAEAAAAEAP//AAAAAAAAAAAFAPb/AAAAAAAAAAAFAPf/AAAAAAEAAAAFAPj/AAAAAAAAAAAFAPn/AAAAAAEAAAAFAPr/AAAAAAAAAAAFAPv/AAAAAAEAAAAFAPz/AAAAAAAAAAAFAP3/AAAAAAEAAAAFAP7/AAAAAAAAAAAFAP//AAAAAAEAAAAGAPb/AAAAAAEAAAAGAPf/AAAAAAAAAAAGAPj/AAAAAAEAAAAGAPn/AAAAAAAAAAAGAPr/AAAAAAEAAAAGAPv/AAAAAAAAAAAGAPz/AAAAAAEAAAAGAP3/AAAAAAAAAAAGAP7/AAAAAAEAAAAGAP//AAAAAAAAAAAHAPb/AAAAAAAAAAAHAPf/AAAAAAEAAAAHAPj/AAAAAAAAAAAHAPn/AAAAAAEAAAAHAPr/AAAAAAAAAAAHAPv/AAAAAAEAAAAHAPz/AAAAAAAAAAAHAP3/AAAAAAEAAAAHAP7/AAAAAAAAAAAHAP//AAAAAAEAAAAIAPb/AAAAAAEAAAAIAPf/AAAAAAAAAAAIAPj/AAAAAAEAAAAIAPn/AAAAAAAAAAAIAPr/AAADAAAAAAAIAPv/AAAAAAAAAAAIAPz/AAAAAAEAAAAIAP3/AAAAAAAAAAAIAP7/AAAAAAEAAAAIAP//AAAAAAAAAAAJAPb/AAAAAAAAAAAJAPf/AAAAAAEAAAAJAPj/AAAAAAAAAAAJAPn/AAADAAAAAAAJAPr/AAAAAAAAAAAJAPv/AAAAAAEAAAAJAPz/AAAAAAAAAAAJAP3/AAAAAAEAAAAJAP7/AAAAAAAAAAAJAP//AAAAAAEAAAAKAPb/AAAAAAEAAAAKAPf/AAAAAAAAAAAKAPj/AAAAAAEAAAAKAPn/AAADAAAAAAAKAPr/AAAAAAEAAAAKAPv/AAAAAAAAAAAKAPz/AAAAAAEAAAAKAP3/AAAAAAAAAAAKAP7/AAAAAAEAAAAKAP//AAAAAAAAAAALAPb/AAAAAAAAAAALAPf/AAAAAAEAAAALAPj/AAAAAAAAAAALAPn/AAADAAAAAAALAPr/AAAAAAAAAAALAPv/AAAAAAEAAAALAPz/AAAAAAAAAAALAP3/AAAAAAEAAAALAP7/AAAAAAAAAAALAP//AAAAAAEAAAAMAPb/AAAAAAEAAAAMAPf/AAAAAAAAAAAMAPj/AAAAAAEAAAAMAPn/AAAAAAAAAAAMAPr/AAADAAAAAAAMAPv/AAAAAAAAAAAMAPz/AAAAAAEAAAAMAP3/AAAAAAAAAAAMAP7/AAAAAAEAAAAMAP//AAAAAAAAAAANAPb/AAAAAAAAAAANAPf/AAAAAAEAAAANAPj/AAAAAAAAAAANAPn/AAAAAAEAAAANAPr/AAAAAAAAAAANAPv/AAAAAAEAAAANAPz/AAAAAAAAAAANAP3/AAAAAAEAAAANAP7/AAAAAAAAAAANAP//AAAAAAEAAAAOAPb/AAAAAAEAAAAOAPf/AAAAAAAAAAAOAPj/AAAAAAEAAAAOAPn/AAAAAAAAAAAOAPr/AAAAAAEAAAAOAPv/AAAAAAAAAAAOAPz/AAAAAAEAAAAOAP3/AAAAAAAAAAAOAP7/AAAAAAEAAAAOAP//AAAAAAAAAAA=") tile_set = SubResource("TileSet_he03c") + +[node name="Bucket" parent="." unique_id=1674023649 instance=ExtResource("5_vqhsw")] +position = Vector2(0, 440) + +[node name="InitialPositions" type="TileMapLayer" parent="." unique_id=555896823] +tile_map_data = PackedByteArray("AAD0//3/AAADAAEAAAD1//z/AAADAAEAAAD1//7/AAADAAEAAAD2//3/AAADAAEAAAD5/wMAAAADAAEAAAD4/wIAAAADAAEAAAD6/wQAAAADAAEAAAD7/wMAAAADAAEAAAD8/wQAAAADAAEAAAD9/wMAAAADAAEAAAD+/wQAAAADAAEAAAD//wMAAAADAAEAAAAAAAMAAAADAAEAAAABAAQAAAADAAEAAAACAAMAAAADAAEAAAADAAQAAAADAAEAAAAEAAMAAAADAAEAAAAFAAQAAAADAAEAAAAGAAMAAAADAAEAAAAHAAIAAAADAAEAAAD8////AAADAAEAAAD9//7/AAADAAEAAAD+//3/AAADAAEAAAD///7/AAADAAEAAAAAAP7/AAADAAEAAAABAP3/AAADAAEAAAACAP7/AAADAAEAAAADAP//AAADAAEAAAAJAP3/AAADAAEAAAAKAP7/AAADAAEAAAALAP3/AAADAAEAAAAKAPz/AAADAAEAAAA=") +tile_set = SubResource("TileSet_vqhsw") diff --git a/PlayerController.cs b/PlayerController.cs index 645d3c4..fbcac1a 100644 --- a/PlayerController.cs +++ b/PlayerController.cs @@ -22,7 +22,7 @@ public partial class PlayerController : TurnController } } - public void SetUpTowers(int TOWER_COUNT = 8) + public void SetUpTowers(int TOWER_COUNT = 5) { Tower tower = GetNode("Tower1"); Vector2 towerPositionCorrection = tower._offset.Position; @@ -48,7 +48,6 @@ public partial class PlayerController : TurnController public override void StartTurn() { _towers.ForEach(t => t.StartTurn()); - // _towers.Where(t=> t._commander != null).ToList().ForEach(t=>t._commander._actions = t._commander._actionsMax); } } diff --git a/Tower.cs b/Tower.cs index b2e9cc7..5c3462a 100644 --- a/Tower.cs +++ b/Tower.cs @@ -116,7 +116,6 @@ public partial class Tower : Sprite2D { path.Curve.AddPoint(_arc[i]); } - GD.Print(path.Curve.PointCount); } private float EvaluateSimulationError(float ANGLE, Vector2 START, Vector2 TARGET) diff --git a/bucket.tscn b/bucket.tscn new file mode 100644 index 0000000..e485052 --- /dev/null +++ b/bucket.tscn @@ -0,0 +1,24 @@ +[gd_scene format=3 uid="uid://b2mb7mimdu5ad"] + +[ext_resource type="Script" uid="uid://cn8hskwnfxc8f" path="res://Bucket.cs" id="2_caem6"] +[ext_resource type="Texture2D" uid="uid://dpwvh7kwkyfqi" path="res://Art/bucket_bottom.png" id="2_m1vr3"] +[ext_resource type="Texture2D" uid="uid://baukn3uw3c3c3" path="res://Art/bucket_top.png" id="3_ghrs3"] + +[node name="Bucket" type="Node2D" unique_id=1168722558] +script = ExtResource("2_caem6") + +[node name="Bottom" type="Sprite2D" parent="." unique_id=150417931] +texture = ExtResource("2_m1vr3") + +[node name="Top" type="Sprite2D" parent="." unique_id=201162499] +texture = ExtResource("3_ghrs3") + +[node name="Top2" type="Sprite2D" parent="." unique_id=203916174] +texture = ExtResource("3_ghrs3") + +[node name="Area2D" type="Area2D" parent="." unique_id=1275030855] + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Area2D" unique_id=1086458018] +polygon = PackedVector2Array(-30, -39, -30, -38, -43, -38, -43, -37, -52, -37, -52, -36, -59, -36, -59, -35, -66, -35, -66, -34, -71, -34, -71, -33, -76, -33, -76, -32, -80, -32, -80, -31, -83, -31, -83, -30, -86, -30, -86, -29, -89, -29, -89, -28, -92, -28, -92, -27, -93, -27, -93, -26, -95, -26, -95, -25, -96, -25, -96, -24, -97, -24, -97, -23, -98, -23, -98, -22, -99, -22, -99, -18, -98, -18, -98, -17, -97, -17, -97, -16, -96, -16, -96, -15, -95, -15, -95, -14, -93, -14, -93, -13, -92, -13, -92, -12, -89, -12, -89, -11, -86, -11, -86, -10, -83, -10, -83, -9, -80, -9, -80, -8, -76, -8, -76, -7, -71, -7, -71, -6, -66, -6, -66, -5, -59, -5, -59, -4, -52, -4, -52, -3, -43, -3, -43, -2, -30, -2, -30, -1, 30, -1, 30, -2, 43, -2, 43, -3, 52, -3, 52, -4, 59, -4, 59, -5, 66, -5, 66, -6, 71, -6, 71, -7, 76, -7, 76, -8, 80, -8, 80, -9, 83, -9, 83, -10, 86, -10, 86, -11, 89, -11, 89, -12, 92, -12, 92, -13, 93, -13, 93, -14, 95, -14, 95, -15, 96, -15, 96, -16, 97, -16, 97, -17, 98, -17, 98, -18, 99, -18, 99, -22, 98, -22, 98, -23, 97, -23, 97, -24, 96, -24, 96, -25, 95, -25, 95, -26, 93, -26, 93, -27, 92, -27, 92, -28, 89, -28, 89, -29, 86, -29, 86, -30, 83, -30, 83, -31, 80, -31, 80, -32, 76, -32, 76, -33, 71, -33, 71, -34, 66, -34, 66, -35, 59, -35, 59, -36, 52, -36, 52, -37, 43, -37, 43, -38, 30, -38, 30, -39) + +[connection signal="body_entered" from="Area2D" to="." method="OnBodyEntered"]