diff options
Diffstat (limited to 'Oneko.cs')
| -rw-r--r-- | Oneko.cs | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -1,5 +1,5 @@ using System.Numerics; -using OnekoOnline.Net; +using System.Collections.ObjectModel; using Raylib_cs; namespace OnekoOnline; @@ -17,6 +17,9 @@ abstract class Oneko : Drawable public string Name = "Oneko"; + protected static List<Oneko> allNekos = []; + public static ReadOnlyCollection<Oneko> AllNekos => allNekos.AsReadOnly(); + protected readonly static byte[] FallbackImg = EmbeddedResources.GetResource("nekos.oneko.png"); public Oneko() : base() @@ -32,6 +35,8 @@ abstract class Oneko : Drawable Console.WriteLine("Path to spritesheet was invalid or the file was too big, using the default."); SpriteSheet = Bitmap.FromPNGMemory(FallbackImg, 256, 128); } + + allNekos.Add(this); } public Oneko(Bitmap spriteSheet) : base() @@ -39,6 +44,8 @@ abstract class Oneko : Drawable Size = new(32,32); Position = new(0, 0); SpriteSheet = spriteSheet; + + allNekos.Add(this); } public override void Draw() @@ -54,6 +61,7 @@ abstract class Oneko : Drawable public override void Dispose() { + allNekos.Remove(this); SpriteSheet.Dispose(); base.Dispose(); } |
