public static int GetIndexFromAction(SoccerAction act, bool moveKings, int selfUnum) { int n = (int)act.ActionType; if ((!moveKings && n <= 4) || (moveKings && n <= 8)) { return(n); } int dst = act.DestinationUnum; if (dst == selfUnum) { // pass to self -> hold n = 0; } else { n += dst - 1; if (dst >= selfUnum) { n--; } } return(moveKings ? n : n - 4); }
public void Set(SoccerAction act) { Set(act.ActionType, act.DestinationUnum); }