public void SortSoldierList() { activeSoldiers.Sort((s1, s2) => (s1.loadout.speed * 10 + (s1.loadout.subspeed)).CompareTo(s2.loadout.speed * 10 + (s2.loadout.subspeed))); reactsOnStack.Clear(); foreach (Soldier el in activeSoldiers) { if (el.loadout.reactionActions.Count > 0) { //add all reactions foreach (int elr in el.loadout.reactionActions) { if (el.inOverwatch == false && elr == 1) { } else { reactsOnStack.Add(actionManager.ConfirmReaction(elr, el, GetComponent <TurnManager>())); } } Debug.Log("adding react"); } } currentSoldier = activeSoldiers[activeSoldiers.Count - 1]; currentSoldier.Focus(); moveRemaining = currentSoldier.SpendMove(0); UpdateTargetList(15); TabTarget(0, 0); posmark = currentSoldier.transform.position; // uiManager.SetSoldierDisplayerText(currentSoldier); uiManager.SetTurnList(activeSoldiers); lookTarget = currentSoldier; movepointsText.text = currentSoldier.movepoints.ToString(); actionRemaining = currentSoldier.actionpoints; actionpointstext.text = currentSoldier.actionpoints.ToString(); lastpos = currentSoldier.transform.position; posmark = currentSoldier.transform.position; moveRemaining = currentSoldier.SpendMove(0); cam.GetComponent <ThirdPersonOrbitCam>().player = currentSoldier.transform; }