using System;

namespace ReallifeGamemode.Server.Core.API
{
  public interface IEntity
  {
    ulong Handle { get; }

    Position Position { get; set; }

    Position Rotation { get; set; }

    double Heading { get; set; }

    void Remove();

    void SetSharedData<T>(string key, T data);

    T GetSharedData<T>(string key, T fallback);
  }
}
