Editor slight refactor
This commit is contained in:
parent
285b90f503
commit
8cfbad01cf
23 changed files with 9 additions and 8 deletions
|
|
@ -1,44 +0,0 @@
|
|||
using Godot;
|
||||
|
||||
[Tool]
|
||||
public partial class ZE_GridContainer : Control
|
||||
{
|
||||
private PackedScene rowEditorScene = ResourceLoader.Load<PackedScene>("uid://buvnw8a7pku78");
|
||||
private WaveData waveData;
|
||||
[Signal] public delegate void SaveCallbackEventHandler();
|
||||
public void SetData(WaveData data)
|
||||
{
|
||||
waveData = data;
|
||||
foreach (var child in GetChildren())
|
||||
{
|
||||
child.QueueFree();
|
||||
}
|
||||
foreach (var spawn in waveData.zombiesOrdered)
|
||||
{
|
||||
InitEditor(spawn);
|
||||
}
|
||||
}
|
||||
public void AddSpawn()
|
||||
{
|
||||
var spawn = new RowSpawn();
|
||||
waveData.zombiesOrdered.Add(spawn);
|
||||
InitEditor(spawn);
|
||||
}
|
||||
public void RemoveSpawn()
|
||||
{
|
||||
var editor = GetChild<ZE_RowEditor>(GetChildCount() - 1);
|
||||
waveData.zombiesOrdered.Remove(editor.editedSpawn);
|
||||
editor.QueueFree();
|
||||
}
|
||||
private void InitEditor(RowSpawn spawn)
|
||||
{
|
||||
var editor = rowEditorScene.Instantiate<ZE_RowEditor>();
|
||||
editor.editedSpawn = spawn;
|
||||
editor.SaveCallback += Save;
|
||||
AddChild(editor);
|
||||
}
|
||||
private void Save()
|
||||
{
|
||||
EmitSignal(SignalName.SaveCallback);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue