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.
32 lines
835 B
32 lines
835 B
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);
|
|
|
|
} |