type Dialog_Desc is new Object with private;
type Dialog_Event is new Event with private;
type Dialog_Response_Event is new Event with private;
type Give_Ammo_Event is new Event with private;
type Give_Drops_Event is new Event with private;
type Give_Points_Event is new Event with private;
type A_Dialog_Desc is access all Dialog_Desc'Class;
type A_Dialog_Event is access all Dialog_Event'Class;
type A_Dialog_Response_Event is access all Dialog_Response_Event'Class;
type A_Give_Ammo_Event is access all Give_Ammo_Event'Class;
type A_Give_Drops_Event is access all Give_Drops_Event'Class;
type A_Give_Points_Event is access all Give_Points_Event'Class;
DIALOG_ID : constant Event_Id := To_Event_Id( "Dialog" );
DIALOG_RESPONSE_ID : constant Event_Id := To_Event_Id( "Dialog_Response" );
GIVE_AMMO_ID : constant Event_Id := To_Event_Id( "Give_Ammo" );
GIVE_DROPS_ID : constant Event_Id := To_Event_Id( "Give_Drops" );
GIVE_POINTS_ID : constant Event_Id := To_Event_Id( "Give_Points" );
function Create_Dialog_Desc
( | text | : String ) return A_Dialog_Desc; |
procedure Add_Choice
( | this | : not null access Dialog_Desc'Class; |
text | : String ); |
function Get_Choices
( | this | : not null access Dialog_Desc'Class ) return Natural; |
function Get_Choice
( | this | : not null access Dialog_Desc'Class; |
choice | : Positive ) return String; |
function Get_Text
( | this | : not null access Dialog_Desc'Class ) return String; |
function Get_Desc
( | this | : not null access Dialog_Event'Class ) return A_Dialog_Desc; |
function Get_Dialog_Id
( | this | : not null access Dialog_Event'Class ) return Integer; |
function Get_Choice
( | this | : not null access Dialog_Response_Event'Class ) return Positive; |
function Get_Dialog_Id
( | this | : not null access Dialog_Response_Event'Class ) return Integer; |
function Get_Amount
( | this | : not null access Give_Ammo_Event'Class ) return Integer; |
function Get_Amount
( | this | : not null access Give_Drops_Event'Class ) return Integer; |
function Get_Amount
( | this | : not null access Give_Points_Event'Class ) return Integer; |
procedure Queue_Dialog
( | dialogId | : Integer; |
description | : in out A_Dialog_Desc ); |