using Babushka.scripts.CSharp.GameEntity.LoadSave; using Godot; using Newtonsoft.Json.Linq; namespace Babushka.scripts.CSharp.GameEntity.Entities; public abstract class PositionalEntity : Entity { public Vector2 position; public string sceneName = "none"; public override void SaveEntity(JObject json) { base.SaveEntity(json); json["posx"] = position.X; json["posy"] = position.Y; json["scene"] = sceneName; } public override void LoadEntity(JObject json) { base.LoadEntity(json); position = new Vector2( json.GetFloatValue("posx"), json.GetFloatValue("posy")); sceneName = json.GetStringValue("scene"); } // Deals with Instantiation of the node public abstract void InstantiateEntityNode(Node2D parent); }