using Firebird2D.SceneSystem; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Firebird2D.Abstracts { public abstract class SceneGroup { public string? GroupName { get; protected set; } public List? Scenes { get; protected set; } public abstract I_Scene SceneChangeAnimation { get; protected set; } public abstract void InitializeGroup(); public abstract I_Scene getStartingScene(); public I_Scene? Get_Scene(Type type) { if (type != typeof(I_Scene) || Scenes == null) return null; return Scenes.FirstOrDefault(instance => instance.GetType() == type); } } }