Exemple #1
0
    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);
    }