1 #using scripts\shared\ai\systems\blackboard;
3 #insert scripts\shared\shared.gsh;
4 #insert scripts\shared\ai\systems\animation_state_machine.gsh;
5 #insert scripts\shared\ai\systems\blackboard.gsh;
6 #insert scripts\shared\ai\utility.gsh;
8 #namespace AnimationStateNetwork;
13 level._NOTETRACK_HANDLER = [];
19 assert( IsArray( notetracks ) );
21 for ( index = 0; index < notetracks.size; index++ )
29 notetrackHandler = level._NOTETRACK_HANDLER[notetrack];
31 If( !IsDefined( notetrackHandler ) )
36 if( IsFunctionPtr( notetrackHandler ) )
39 [[notetrackHandler]]( entity );
46 notetrackHandler.blackboardAttributeName,
47 notetrackHandler.blackBoardValue );
55 IsString( notetrackName ),
56 "NotetrackHandler - notetrackName must be of string type." );
59 IsFunctionPtr( notetrackFuncPtr ),
60 "NotetrackHandler - notetrackFunc name must be of function pointer type." );
63 !IsDefined( level._NOTETRACK_HANDLER[notetrackName] ),
64 "NotetrackHandler - notetrackName \"" + notetrackName +
"\" is already registered." );
67 level._NOTETRACK_HANDLER[notetrackName] = notetrackFuncPtr;
73 notetrackName, blackboardAttributeName, blackBoardValue )
75 notetrackHandler = SpawnStruct();
76 notetrackHandler.blackboardAttributeName = blackboardAttributeName;
77 notetrackHandler.blackBoardValue = blackBoardValue;
79 level._NOTETRACK_HANDLER[notetrackName] = notetrackHandler;