From 12b565715a9a7645f22562237dae8cf101345b24 Mon Sep 17 00:00:00 2001 From: cojoedmo Date: Fri, 5 Jun 2026 03:48:07 -0400 Subject: [PATCH] updating movement and added a bucket, still some clean up to do on movement. TODO: if enemy becomes stuck, reclculate path. --- Art/bucket.png | Bin 0 -> 1751 bytes Art/bucket.png.import | 40 +++++++++++++++++ Art/bucket_bottom.png | Bin 0 -> 334 bytes Art/bucket_bottom.png.import | 40 +++++++++++++++++ Art/bucket_top.png | Bin 0 -> 1044 bytes Art/bucket_top.png.import | 40 +++++++++++++++++ Art/tile_set_hex.png | Bin 0 -> 2769 bytes Art/tile_set_hex.png.import | 40 +++++++++++++++++ Attack.cs | 9 +++- Bucket.cs | 27 ++++++++++++ Bucket.cs.uid | 1 + Commander.cs | 11 ++++- EnemyController.cs | 60 ++++++++++++++++++++----- Map.cs | 19 +++++++- PlayArea.cs | 8 ++++ PlayArea.tscn | 83 +++++++++++++++++++++++------------ PlayerController.cs | 3 +- Tower.cs | 1 - bucket.tscn | 24 ++++++++++ 19 files changed, 360 insertions(+), 46 deletions(-) create mode 100644 Art/bucket.png create mode 100644 Art/bucket.png.import create mode 100644 Art/bucket_bottom.png create mode 100644 Art/bucket_bottom.png.import create mode 100644 Art/bucket_top.png create mode 100644 Art/bucket_top.png.import create mode 100644 Art/tile_set_hex.png create mode 100644 Art/tile_set_hex.png.import create mode 100644 Bucket.cs create mode 100644 Bucket.cs.uid create mode 100644 bucket.tscn diff --git a/Art/bucket.png b/Art/bucket.png new file mode 100644 index 0000000000000000000000000000000000000000..30904600d5231181ce059c582760c3d0065d0e55 GIT binary patch literal 1751 zcmZ`)c~sJg7XE>NKG14%H#Bq#aY@aE3`?UhMa2@A${{ns%nh-kQZa$XMsv@~H9a|_ zj#@g>JjGnXX9|jFr-6XtQUevKeuYSK zSN|Obg&~Yav&F9g0Je`vzz1A^J3Ds5M>-AanYVobK~jb2?g0&NuQ9VQ-MA-QJ^Z(g zJmSzB%uAlTr@zg?yzl6Nd+P%$A6zQDtKC9qrColFF)Duk6X#V$fcu#P$B+DKLOO2G zFp|#izOinRoTNlBHLN+`LzQ3hOxo|~W^Qbbdu(oW-8HSNfw8bjpoT2rW{d?rG$%`3 z)mQcELbJq1zSkv4rxJ;=g0n694hX{h^wCeQ$c6I@ad8^un(x*&C@+}3035t;yR0M5(pUeJavUdy0OdjV5|LJ5W;)~nrvAj8%*mQ9svC~({P94O&F z3%ZV2Hdk(!JILo2pLb_lis}S89K8}u>JwM9&rWJGi0eOBo-256aEjU{d|^Iw_$oFyH(2hh^p;P*4ZpLm z&3jQ_J}7X)GJ0a#p(|R-X!)Mhx-K(m_aUXJ(p;W1_ypAeieOKW`P)o+W8EA#pkQ`? z|1AQ0!k=F)#Pn^;qz+%F9q!fu&q;6YB2|##y`xUMS;f>$Q&J(h!jNZtI>>Kf*;o!v z-L*yV@-tRqQ{Bv$`FzwIcY9R{x#PLV z$6C+f<;8&fpJzmbAN{m5x_!*@PS?Sr^=U-=BFE(9A}l0Bm4g~Y4`AC+S%5!*^Jfl7L?WAd?Ff+HZV30XE1Uz^lhW+daDjzQy?EdevEWw z72di9i;9XW`~1aiiTmiTZ*@^=DJ?9FJ2`p2{%mX2S^H6?&CvXmFp^HMdiapDx|+yx zov7LzAlZtds;aA7uFaV=$4y*du}V8T@%16?wYn&=Z>cjrI@&5LD+`IclJ@i|j@v2U z+F-Wjavyz|?D|3WET#O@r%1H9dAe{))|QZe+PdmB@8$y>^Y%qYFN{t_M@Lzxoo8(9 zzN96^*v^JHu?}rt_EfG9IzcH1r4zU{H5Lk4OV`MVL4obLH*hIzp!DD|e}8TD?IyIX z%?$_`v^XpEAdw`u2CQpPCnDqH^L)_9a1YQAeDl33?`K?DQk+$-?^HeIC47ufeWDz# z1CN&rIPX*Eme%H1Sj#Newh&ugU0vzoM(k(qAuX!r3agA_b{F#`+DnkOuvR;SAwa=hVFXYHLk>eb4Mw z|DdKPTia){ZAHhet*z}`T*NY&YzukHHN;RDZ(e$ooos+`uehb>fUnOUZ#!ObeTX+NX>Bm6JoZ*Bj#_P>Pwn&Z{Rfd&dV{>*W7km{EJM0a08 J{n1eFzX9g@Da`-? literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..64e3c46b1ab4d2357e17d4a77ff2e1ccd2fceb55 GIT binary patch literal 334 zcmeAS@N?(olHy`uVBq!ia0vp^CxAGBgAGW=C8+jQFI9Lo5 z{?E1N4!Cqw?%|TvOh9=AXjor5=>)^>i3~hUY>dqfjt3MH1PnMNSa_H~n2-=eC5kEx gA((kcsz5?Al|naI%I4XX{RTP4)78&qol`;+0DkmLZvX%Q literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..43aedd5b6182be059d5527850f8d26fdd7ee68a8 GIT binary patch literal 1044 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 X9?4_!F8y@yFA{LY?ZZ~=3ZncMK~_yP literal 0 HcmV?d00001 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"]