// Update is called once per frame void Update() { if (gsc.GameState != GameStateController.GameStates.Over) { atTableFlyCount = 0; AllFlys = GameObject.FindGameObjectsWithTag("Fly"); foreach (GameObject fly in AllFlys) { if (fly.GetComponent <Fly>().FlyState == Fly.FlyStates.AtTable) { atTableFlyCount++; } } if (atTableFlyCount >= atTableWinFlyCount) { gsc.GetComponent <GameStateController>().SetGameStateToOver(); gsc.GetComponent <GameStateController>().SetEndStateToGood(); } } }