Initial data

This commit is contained in:
Rendo 2025-07-17 20:28:47 +05:00
commit f65cb11474
12 changed files with 340 additions and 48 deletions

View file

@ -0,0 +1,46 @@
using Godot;
[Tool]
public partial class InitialEditor : Node
{
public AdventureLevelResource editedResource;
[Signal] public delegate void SaveCallbackEventHandler();
public override void _Ready()
{
foreach (var child in GetChild(0).GetChildren())
{
if (child is UNI_GridItem gridItem)
{
gridItem.ResourceChanged += OnResourceChanged;
}
}
}
public void SetData(AdventureLevelResource resource)
{
editedResource = resource;
for (int i = 0; i < GetChild(0).GetChildCount(); i++)
{
if (GetChild(0).GetChild(i) is UNI_GridItem gridItem)
{
gridItem.index = i;
if (editedResource.initialScenes[i] == null)
gridItem.SetData("");
else
gridItem.SetData(editedResource.initialScenes[i].ResourcePath);
}
}
}
public void OnResourceChanged(string to, int index)
{
if (ResourceLoader.Exists(to))
{
editedResource.initialScenes[index] = ResourceLoader.Load<PackedScene>(to);
}
else
{
editedResource.initialScenes[index] = null;
}
EmitSignal(SignalName.SaveCallback);
}
}