Index

Package: Keen

Description

package Entities.Players.Keen is

Classes

Keen

type Keen is new Player with private;

Ancestors:

Primitive operations:

Construct (overriding Objects.Construct)
Die
Entities.Adjust (Inherited)
Entities.Delete (Inherited)
Entities.Object_Input (Inherited)
Entities.On_Activate (Inherited)
Entities.On_Collide (Inherited)
Entities.On_Load (Inherited)
Entities.On_Separate (Inherited)
Entities.Players.Construct (Inherited)
Entities.Players.Die (Inherited)
Entities.Players.Move_Start (Inherited)
Entities.Players.Move_Stop (Inherited)
Entities.Players.Object_Read (Inherited)
Entities.Players.Object_Write (Inherited)
Entities.Set_Attribute (Inherited)
Entities.To_String (Inherited)
Face (overriding Entities.Face)
Object_Input
Object_Read
Object_Write
On_Hit_Wall (overriding Entities.On_Hit_Wall)
Tick (overriding Entities.Tick)
Update_Frame (overriding Entities.Update_Frame)

Types

A_Keen

type A_Keen is access all Keen'Class;

Constants & Global variables

Finish_Teleporting (Hashed_Strings.Hashed_String)

Finish_Teleporting : constant Hashed_String := To_Hashed_String( "Finish_Teleporting" );
An impulse the Keen entity sends to itself on completion of teleporting

Subprograms & Entries

Finish_Teleport

procedure Finish_Teleport
( this: not null access Keen'Class );
If Keen was teleporting, he will end the action and go back to the moving state.

Move_Start

procedure Move_Start
( this: access Keen;
dir: Cardinal_Direction );
Accelerates Keen in the direction 'dir'.

Move_Stop

procedure Move_Stop
( this: access Keen;
dir: Cardinal_Direction );
Stops Keen's acceleration in the direction 'dir'.

Shoot_Gun

function Shoot_Gun
( this: not null access Keen'Class;
fire: Boolean ) return Boolean;
Shoots Keen's neural stunner, returning True on success. If 'fire' is False, an out of ammo sound will be played and no stunner shot will be spawned.

Stop_Activating

procedure Stop_Activating
( this: not null access Keen'Class );
Notifies the entity that he's not attempting to activate anymore, which will allow Try_Activating to work again.

Stop_Jump_Attempt

procedure Stop_Jump_Attempt
( this: not null access Keen'Class );
Stops Keen's attempt to jump, if he was attempting to do so.

Teleport

procedure Teleport
( this: access Keen;
fromX, fromY: Float;
toX, toY: Float );
Checks if Keen can teleport and then queues the events needed to enter the teleport state.

Toggle_Pogostick

procedure Toggle_Pogostick
( this: not null access Keen'Class );
Toggles Keen's pogostick, if it's possible to do so. He can use his pogostick when he's moving (walking, standing, jumping). Attempting to use the pogo when he's bored will abort the bored action.

Try_To_Activate

procedure Try_To_Activate
( this: not null access Keen'Class );
Activates the entities that Keen is currently touching, if he is allowed to perform the activate action right now. He must be standing flat footed on the ground and not already busy activating something.

Try_To_Climb

procedure Try_To_Climb
( this: not null access Keen'Class;
dir: Cardinal_Direction );
Keen tries to grab a pole and enter the climbing action state if he is touching a pole and able to climb. 'dir' must be the direction keen is trying to climb: either Up or Down.

Try_To_Jump

procedure Try_To_Jump
( this: not null access Keen'Class );
Make Keen attempt to jump. The attempt will be in effect until the attempt is stopped. The jump will begin on the attempt if he is able to do so.