public void StartNextTurn() { Activity[] activities = FindObjectsOfType <Activity> (); List <Activity> queuedActivities = new List <Activity> (); foreach (Activity a in activities) { if (a.timeLeft > 0) { queuedActivities.Add(a); } } List <Activity> sortedActivities = queuedActivities.OrderBy(o => o.timeLeft).ToList(); float shortestLength = sortedActivities[0].timeLeft; for (int i = 0; i < sortedActivities.Count; i++) { queuedActivities[i].timeLeft -= shortestLength; if (queuedActivities[i].GetComponent <ActivityCamp> ()) { queuedActivities[i].GetComponent <ActivityCamp> ().ReduceCharacterPrimaryBarsAndSkillTime(); queuedActivities[i].GetComponent <ActivityCamp> ().CheckSkillProgress(); } // TODO: Skutki wykonania czynności tutaj if (queuedActivities[i].timeLeft == 0) { queuedActivities[i].ExecuteActivity(); } } timeController.ChangeClock(shortestLength); //GameManager.instance.GlobalTime -= shortestLength; GameManager.instance.uiController.UpdateCharacterUI(); Debug.Log(GameManager.instance.GlobalTime); }