You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Babushka/scripts/CSharp/GameEntity/Entities/PositionalEntity.cs

33 lines
925 B

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