public void CombatOver() { if (in_combat) { in_combat = false; orders = SQUADORDER.ATTACKFLAG; needs_new_orders = true; } }
private void Update() { time_since_last_order += Time.deltaTime; if (targetFlag) { if (!targetFlag.taken && needs_new_orders && (time_since_last_order > time_between_orders)) { time_since_last_order = 0; needs_new_orders = false; switch (orders) { case SQUADORDER.ATTACKFLAG: { for (int i = 0; i < SquadUnits.Count; i++) { SquadUnits[i].GetComponent <Unit>().Move(targetFlag.Grid_Pos); } break; } case SQUADORDER.DEFENDFLAG: { FindNearestCover(targetFlag.Grid_Pos); break; } default: Debug.Log("Invalid Order type, how have you managed this?"); break; } } if (needs_new_orders == false && time_since_last_order > 40) { orders = SQUADORDER.ATTACKFLAG; needs_new_orders = true; } } }