From 36fe0f1f0859c2726efcdd2bad3a6f8e848b28e5 Mon Sep 17 00:00:00 2001 From: vaporvee Date: Tue, 15 Nov 2022 20:01:28 +0100 Subject: [PATCH] added tile node replacing, position changes but doesn't change visible ingame --- scenes/interactable_tiles/debug_tile_one.tscn | 8 ++++++++ src/tilemap_foreground.cs | 11 +++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 scenes/interactable_tiles/debug_tile_one.tscn diff --git a/scenes/interactable_tiles/debug_tile_one.tscn b/scenes/interactable_tiles/debug_tile_one.tscn new file mode 100644 index 0000000..0977b12 --- /dev/null +++ b/scenes/interactable_tiles/debug_tile_one.tscn @@ -0,0 +1,8 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://assets/textures/debugitem_one64.png" type="Texture" id=1] + +[node name="debug_tile_one" type="Node2D"] + +[node name="Sprite" type="Sprite" parent="."] +texture = ExtResource( 1 ) diff --git a/src/tilemap_foreground.cs b/src/tilemap_foreground.cs index b26916e..bf018fc 100644 --- a/src/tilemap_foreground.cs +++ b/src/tilemap_foreground.cs @@ -11,15 +11,22 @@ public class tilemap_foreground : TileMap public override void _Ready() { - ReplaceStaticTiles(1); + ReplaceStaticTiles(1, "debug_tile_one"); } - public void ReplaceStaticTiles(int CellID) + public void ReplaceStaticTiles(int CellID, string sceneName) { Vector2[] allCells = GetUsedCellsById(CellID).OfType().ToArray(); for(int i = 0; i < allCells.Length; i++) { GD.Print(allCells[i]); + SetCell((int)allCells[i].x, (int)allCells[i].y, -1); + var scene = GD.Load("res://scenes/interactable_tiles/" + sceneName + ".tscn"); + var instance = scene.Instance(); + AddChild(instance); + var node = GetNode(instance.GetPath()); + node.Position = allCells[i]; //position changes but doesn't change visible ingame + GD.Print(node); } } }