type Entity is abstract new Object with private;
type A_Entity is access all Entity'Class;
procedure Face
( | this | : access Entity; |
dir | : Direction_Type ); |
function Get_Attributes
( | this | : not null access Entity'Class ) return A_Association; |
function Get_Direction
( | this | : not null access Entity'Class ) return Direction_Type; |
function Get_Frame
( | this | : not null access Entity'Class ) return Integer; |
function Get_Height
( | this | : not null access Entity'Class ) return Integer; |
function Get_Lib_Name
( | this | : not null access Entity'Class ) return String; |
function Get_Width
( | this | : not null access Entity'Class ) return Integer; |
function Get_X
( | this | : not null access Entity'Class ) return Float; |
function Get_XV
( | this | : not null access Entity'Class ) return Float; |
function Get_Y
( | this | : not null access Entity'Class ) return Float; |
function Get_YV
( | this | : not null access Entity'Class ) return Float; |
procedure Hit_Wall
( | this | : not null access Entity'Class; |
dir | : Cardinal_Direction ); |
function Is_Clipped
( | this | : not null access Entity'Class ) return Boolean; |
function Is_Permanent
( | this | : access Entity ) return Boolean; |
function Is_Metaphysical
( | this | : not null access Entity'Class ) return Boolean; |
function Is_Physical
( | this | : not null access Entity'Class ) return Boolean; |
function Object_Input
( | stream | : access Root_Stream_Type'Class ) return Entity is abstract; |
procedure Set_Grounded
( | this | : not null access Entity'Class; |
grounded | : Boolean ); |
procedure Set_Location
( | this | : not null access Entity'Class; |
x, y | : Float ); |
procedure Set_Size
( | this | : not null access Entity'Class; |
width, height | : Natural ); |
procedure Set_World
( | this | : not null access Entity'Class; |
world | : not null access Worlds.World_Object'Class ); |
procedure Set_Velocity_X
( | this | : not null access Entity'Class; |
xv | : Float ); |
procedure Set_Velocity_Y
( | this | : not null access Entity'Class; |
yv | : Float ); |
procedure Tick
( | this | : access Entity; |
upTime, dt | : Time_Span ); |
function Allocate
( | id | : String ) return A_Entity; |
procedure Delete
( | this | : in out A_Entity ); |
function Template
( | id | : String ) return A_Entity; |