type Corpus is new Object with private;
type A_Corpus is access all Corpus'Class;
function Create_Corpus
( | id | : Entity_Id; |
width, height | : Natural; | |
physical | : Boolean; | |
clipped | : Boolean; | |
manager | : access Physics.Managers.Physics_Manager'Class ) return A_Corpus; |
function Detect_Collision
( | this | : not null access Corpus'Class; |
that | : not null A_Corpus ) return Boolean; |
procedure Mark_Contact
( | this | : not null access Corpus'Class; |
that | : not null A_Corpus; | |
inContact | : Boolean ); |
procedure Move_To
( | this | : not null access Corpus'Class; |
map | : not null A_Clip_Map; | |
x, y | : Float ); |
procedure Set_AX
( | this | : not null access Corpus'Class; |
ax | : Float ); |
procedure Set_AY
( | this | : not null access Corpus'Class; |
ay | : Float ); |
procedure Set_Clipped
( | this | : not null access Corpus'Class; |
clipped | : Boolean ); |
procedure Set_Location
( | this | : not null access Corpus'Class; |
map | : not null A_Clip_Map; | |
x, y | : Float ); |
procedure Set_Physical
( | this | : not null access Corpus'Class; |
physical | : Boolean ); |
procedure Set_Size
( | this | : not null access Corpus'Class; |
map | : not null A_Clip_Map; | |
width, height | : Natural ); |
procedure Set_Target_VX
( | this | : not null access Corpus'Class; |
vx | : Float ); |
procedure Set_Target_VY
( | this | : not null access Corpus'Class; |
vy | : Float ); |
procedure Set_Velocity
( | this | : not null access Corpus'Class; |
vx, vy | : Float ); |
procedure Tick
( | this | : not null access Corpus'Class; |
map | : not null A_Clip_Map; | |
dt | : Float; | |
collide | : out Boolean ); |