public static void Pool(MovementGroup group)
        {
            int indexID = group.indexID;

            activeGroups.RemoveAt(indexID);
            pooledGroups.Add(group);
        }
        public static MovementGroup CreateGroup(Command com)
        {
            MovementGroup moveGroup = pooledGroups.Count > 0 ? pooledGroups.Pop() : new MovementGroup();

            moveGroup.indexID = activeGroups.Add(moveGroup);
            LastCreatedGroup  = moveGroup;
            moveGroup.Initialize(com);
            return(moveGroup);
        }
 protected override void OnLateSimulate()
 {
     for (int i = 0; i < activeGroups.PeakCount; i++)
     {
         if (activeGroups.arrayAllocation[i])
         {
             MovementGroup moveGroup = activeGroups[i];
             moveGroup.LateSimulate();
         }
     }
 }