Ejemplo n.º 1
0
    public void OnEventComplete(RandomEventConclusion conclusion)
    {
        for (int i = 0; i < conclusion.RewardTypes.Length; i++)
        {
            RandomEventController.Resources type = conclusion.RewardTypes[i];
            switch (type)
            {
            case RandomEventController.Resources.Energy:
                AddEnergy((float)conclusion.RewardValues[i]);
                break;

            case RandomEventController.Resources.Sanity:
                AddSanity((float)conclusion.RewardValues[i]);
                break;

            case RandomEventController.Resources.Spirits:
                for (int j = 0; j < conclusion.RewardValues[i]; j++)
                {
                    AddSpirit();
                }
                break;

            default:
                break;
            }
        }
    }
    private void ConcludeEvent(RandomEventConclusion[] eventResults, float[] eventResultChances)
    {
        float rnd = Random.Range(0.0f, 1.0f);
        RandomEventConclusion result = null;

        for (int i = 0; i < eventResults.Length; i++)
        {
            if (rnd < eventResultChances[i])
            {
                result = eventResults[i];
                break;
            }
            rnd -= eventResultChances[i];
        }
        if (result == null)
        {
            Debug.LogError(string.Format("Incorrect rewards setup for {0}", _currentEvent.TitleText));
            return;
        }

        PlayerRef.OnEventComplete(result);
        UIManagerRef.SetupEventConclusion(result);
        UIManagerRef.SetShowEventPopup(false);
        UIManagerRef.SetShowEventConclusionPopup(true);
    }
Ejemplo n.º 3
0
 public void SetupEventConclusion(RandomEventConclusion randEventConclusion)
 {
     EventConclusionTitle.text   = randEventConclusion.Title;
     EventConclusionMessage.text = randEventConclusion.ResultText;
     EventConclusionReward.text  = randEventConclusion.RewardText;
 }