public IEnumerator CalculateZones() { while (true) { foreach (Zone zone in zones) { zone.visitedThisFrame = new Dictionary <int, int>(); foreach (Player player in players) { zone.visitedThisFrame[player.id] = 0; } } foreach (Satellite sat in sats) { sat.CalculateRevenue(); canvasController.UpdateMoney(players); } contractController.CheckContract(); yield return(new WaitForSeconds(1)); } }