added tile node replacing, position changes but doesn't change visible ingame
This commit is contained in:
8
scenes/interactable_tiles/debug_tile_one.tscn
Normal file
8
scenes/interactable_tiles/debug_tile_one.tscn
Normal file
@@ -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 )
|
@@ -11,15 +11,22 @@ public class tilemap_foreground : TileMap
|
|||||||
|
|
||||||
public override void _Ready()
|
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<Vector2>().ToArray();
|
Vector2[] allCells = GetUsedCellsById(CellID).OfType<Vector2>().ToArray();
|
||||||
for(int i = 0; i < allCells.Length; i++)
|
for(int i = 0; i < allCells.Length; i++)
|
||||||
{
|
{
|
||||||
GD.Print(allCells[i]);
|
GD.Print(allCells[i]);
|
||||||
|
SetCell((int)allCells[i].x, (int)allCells[i].y, -1);
|
||||||
|
var scene = GD.Load<PackedScene>("res://scenes/interactable_tiles/" + sceneName + ".tscn");
|
||||||
|
var instance = scene.Instance();
|
||||||
|
AddChild(instance);
|
||||||
|
var node = GetNode<Node2D>(instance.GetPath());
|
||||||
|
node.Position = allCells[i]; //position changes but doesn't change visible ingame
|
||||||
|
GD.Print(node);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user