Table of Contents

Quick Start Sample Integration - Game Objects

Game Object Example

For an overview of Game Objects, please refer to Concept: Game Object.

Game objects must be registered before you can use them to post events, set positions, and so on. The following code registers two game objects with pre-defined IDs. Note that you can use any 32 bit ID you want, such as an incremented counter or an object pointer cast into an AkGameObjectID.

const AkGameObjectID GAME_OBJECT_ID_CAR = 100;
const AkGameObjectID GAME_OBJECT_ID_HUMAN = 200;
const AkGameObjectID GAME_OBJECT_ID_MARKERS = 300;

(...)

//
// Register game objects. Some global game objects might be registered
// at initialization time, but most of your game objects will probably
// be dynamically registered/unregistered as they appear/disappear in
// the game.
//

AK::SoundEngine::RegisterGameObj( GAME_OBJECT_ID_CAR, "Car" );
AK::SoundEngine::RegisterGameObj( GAME_OBJECT_ID_HUMAN, "Human" );
AK::SoundEngine::RegisterGameObj( GAME_OBJECT_ID_MARKERS, "MarkerTest" );

When a game object becomes obsolete, for example when the corresponding entities are removed from the game's world, you should unregister them to free up any resources that might be associated with them:

AK::SoundEngine::UnregisterGameObj( GAME_OBJECT_ID_CAR );
AK::SoundEngine::UnregisterGameObj( GAME_OBJECT_ID_HUMAN );
AK::SoundEngine::UnregisterGameObj( GAME_OBJECT_ID_MARKERS );

Refer to Integration Details - Game Objects for more information on game objects.

Note.gif
Note: This sample code comes from the Sound Engine Integration Sample Project available in the Samples section. Refer to Integration Demo Sample for more information.