Files
Babushka/scripts/CSharp/GameEntity/Management/EntityNodeCreator.cs
T

25 lines
748 B
C#
Raw Normal View History

using System;
using Godot;
2025-12-18 14:27:27 +01:00
using Godot.Collections;
namespace Babushka.scripts.CSharp.GameEntity.Management;
public partial class EntityNodeCreator : Node
{
[Export] private Dictionary<string, PackedScene> _entityPrefabs;
2025-12-18 14:27:27 +01:00
public Node2D InstantiateNode(string type)
2025-12-18 14:27:27 +01:00
{
if (string.IsNullOrEmpty(type))
{
throw new NullReferenceException("The type provided for Node instantiation cannot be null or empty.");
}
if (!_entityPrefabs.ContainsKey(type))
{
throw new Exception($"The type provided for Node instantiation ({type}) is not specified in the EntityNodeCreator dictionary.");
}
return _entityPrefabs[type].Instantiate<Node2D>();
2025-12-18 14:27:27 +01:00
}
}