1 #insert scripts\shared\shared.gsh;
3 #define _BLACKBOARD_UPDATE_RATE 1
14 level.__ai_blackboard = [];
21 updateMillis = waitTime * 1000;
25 foreach ( eventName, events
in level.__ai_blackboard )
30 foreach ( event
in events )
32 event.ttl =
event.ttl - updateMillis;
36 liveEvents[ liveEvents.size ] = event;
40 level.__ai_blackboard[ eventName ] = liveEvents;
50 assert( IsString( eventName ),
"Must pass in an event name when adding an event to the blackboard." );
51 assert( IsDefined( data ),
"Must pass in some type of data to store as an event." );
52 assert( IsInt( timeToLiveInMillis ) && timeToLiveInMillis > 0,
53 "Must pass in a positive time to live value for the lifespan of the event." );
56 event = SpawnStruct();
58 event.timestamp = GetTime();
59 event.ttl = timeToLiveInMillis;
61 ARRAY_ADD( level.__ai_blackboard[eventName], event );
66 if ( IsDefined( level.__ai_blackboard[eventName] ) )
68 return level.__ai_blackboard[eventName];
76 if ( IsDefined( level.__ai_blackboard[eventName] ) )
78 level.__ai_blackboard[eventName] = undefined;