‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
animation_state_machine_notetracks.gsc
Go to the documentation of this file.
1 #using scripts\shared\ai\systems\blackboard;
2 
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;
7 
8 #namespace AnimationStateNetwork;
9 
10 // ------------- NotatrackHandler Initialization ----------- //
11 function autoexec ‪InitNotetrackHandler()
12 {
13  level._NOTETRACK_HANDLER = [];
14 }
15 
16 // ------------- NotetrackHandler internals ----------- //
17 function private ‪RunNotetrackHandler( entity, notetracks )
18 {
19  assert( IsArray( notetracks ) );
20 
21  for ( index = 0; index < notetracks.size; index++ )
22  {
23  ‪HandleNotetrack( entity, notetracks[index] );
24  }
25 }
26 
27 function private ‪HandleNotetrack( entity, notetrack )
28 {
29  notetrackHandler = level._NOTETRACK_HANDLER[notetrack];
30 
31  If( !IsDefined( notetrackHandler ) )
32  {
33  return;
34  }
35 
36  if( IsFunctionPtr( notetrackHandler ) )
37  {
38  // run the notetrackHandler function
39  [[notetrackHandler]]( entity );
40  }
41  else
42  {
43  // assume notetrackHandler is setting a blackboard variable for entity
45  entity,
46  notetrackHandler.blackboardAttributeName,
47  notetrackHandler.blackBoardValue );
48  }
49 }
50 
51 // ------------- NotatrackHandler Function utility ----------- //
52 function ‪RegisterNotetrackHandlerFunction( notetrackName, notetrackFuncPtr )
53 {
54  Assert(
55  IsString( notetrackName ),
56  "NotetrackHandler - notetrackName must be of string type." );
57 
58  Assert(
59  IsFunctionPtr( notetrackFuncPtr ),
60  "NotetrackHandler - notetrackFunc name must be of function pointer type." );
61 
62  Assert(
63  !IsDefined( level._NOTETRACK_HANDLER[notetrackName] ),
64  "NotetrackHandler - notetrackName \"" + notetrackName + "\" is already registered." );
65 
66  // add the notetrack handler to the global list
67  level._NOTETRACK_HANDLER[notetrackName] = notetrackFuncPtr;
68 }
69 
70 // ------------- BlackBoard NotetrackHandler utility ----------- //
71 
73  notetrackName, blackboardAttributeName, blackBoardValue )
74 {
75  notetrackHandler = SpawnStruct();
76  notetrackHandler.blackboardAttributeName = blackboardAttributeName;
77  notetrackHandler.blackBoardValue = blackBoardValue;
78 
79  level._NOTETRACK_HANDLER[notetrackName] = notetrackHandler;
80 }
‪SetBlackBoardAttribute
‪function SetBlackBoardAttribute(entity, attributeName, attributeValue)
Definition: blackboard.gsc:56
‪InitNotetrackHandler
‪function autoexec InitNotetrackHandler()
Definition: animation_state_machine_notetracks.gsc:11
‪RegisterBlackboardNotetrackHandler
‪function RegisterBlackboardNotetrackHandler(notetrackName, blackboardAttributeName, blackBoardValue)
Definition: animation_state_machine_notetracks.gsc:72
‪HandleNotetrack
‪function private HandleNotetrack(entity, notetrack)
Definition: animation_state_machine_notetracks.gsc:27
‪RegisterNotetrackHandlerFunction
‪function RegisterNotetrackHandlerFunction(notetrackName, notetrackFuncPtr)
Definition: animation_state_machine_notetracks.gsc:52
‪RunNotetrackHandler
‪function private RunNotetrackHandler(entity, notetracks)
Definition: animation_state_machine_notetracks.gsc:17