// Update is called once per frame private void Update() { // Pop any units that have been killed since the last update: _units.RemoveAll(x => x == null); // Check if Blue Red None or Both occupy the zone bool redIncluded = false; bool blueIncluded = false; PlayerData newOwner = null; for (int i = 0; i < _units.Count; i++) { UnitDispatcher unit = _units.ToArray()[i]; if (!unit.IsMoving()) { newOwner = unit.Platoon.Owner; // Names are USSR and NATO if (newOwner.Team.Name == "USSR") { redIncluded = true; } else { blueIncluded = true; } } } if (redIncluded && blueIncluded || (!redIncluded && !blueIncluded)) { if (_owner != null) { ChangeOwner(null); } } else if (redIncluded) { if (_owner != newOwner) { ChangeOwner(newOwner); } } else { if (_owner != newOwner) { ChangeOwner(newOwner); } } }
// Update is called once per frame private void Update() { // Pop any units that have been killed since the last update: _units.RemoveAll(x => x == null); // Check if Blue Red None or Both occupy the zone bool redIncluded = false; bool blueIncluded = false; for (int i = 0; i < _units.Count; i++) { UnitDispatcher unit = _units.ToArray()[i]; if (!unit.IsMoving()) { if (unit.Platoon.Team.Name == Team.TeamName.USSR) { redIncluded = true; } else { blueIncluded = true; } } } if (redIncluded && blueIncluded || (!redIncluded && !blueIncluded)) { if (OwningTeam != Team.TeamName.UNDEFINED) { ChangeTeam(Team.TeamName.UNDEFINED); } } else if (redIncluded) { if (OwningTeam != Team.TeamName.USSR) { ChangeTeam(Team.TeamName.USSR); } } else { if (OwningTeam != Team.TeamName.NATO) { ChangeTeam(Team.TeamName.NATO); } } }