static void RetargetStatePointers (intptr_t count, const char *target, TArray<FStateDefine> & statelist) { for(unsigned i = 0;i<statelist.Size(); i++) { if (statelist[i].State == (FState*)count) { statelist[i].State = target == NULL ? NULL : (FState *)copystring (target); } if (statelist[i].Children.Size() > 0) { RetargetStatePointers(count, target, statelist[i].Children); } } }
void FStateDefinitions::RetargetStatePointers (intptr_t count, const char *target, TArray<FStateDefine> & statelist) { for(unsigned i = 0;i<statelist.Size(); i++) { if (statelist[i].State == (FState*)count && statelist[i].DefineFlags == SDF_INDEX) { if (target == NULL) { statelist[i].State = NULL; statelist[i].DefineFlags = SDF_STOP; } else { statelist[i].State = (FState *)copystring (target); statelist[i].DefineFlags = SDF_LABEL; } } if (statelist[i].Children.Size() > 0) { RetargetStatePointers(count, target, statelist[i].Children); } } }
static void RetargetStates (intptr_t count, const char *target) { RetargetStatePointers(count, target, StateLabels); }
void FStateDefinitions::RetargetStates (intptr_t count, const char *target) { RetargetStatePointers(count, target, StateLabels); }