示例#1
0
    private void Select(ClassAcao action)
    {
        if (GameManager.PlayerData.SelectedActions.Count(x => x.tipo == _types[_typeSelectedId]) < 3)
        {
            if (!GameManager.PlayerData.SelectedActions.Contains(action))
            {
                GameManager.PlayerData.SelectedActions.Add(action);
            }
            else
            {
                GameManager.PlayerData.SelectedActions.Remove(action);
            }
            UpdateGrid();
        }

        if (GameManager.PlayerData.SelectedActions.Count(x => x.tipo == _types[_typeSelectedId]) != 3)
        {
            return;
        }
        if (GameManager.PlayerData.SelectedActions.Count != 9)
        {
            ShowConfirmation();
        }
        else
        {
            ShowEndingConfirmation();
        }

        return;
    }
    public void SelectAction(ClassAcao acao)
    {
        _resolucoes[_botaoDemanda.Demanda] = acao;
        _botaoDemanda.Select();
        ScrollHtpi.DemandList.GoDown();

        if (_resolucoes.Count(x => x.Value != null) == GameManager.GameData.Demandas.Count)
        {
            Confirmation();
        }
    }
示例#3
0
    public void BackToTop()
    {
        if (Selected != null)
        {
            buttonByAction[Selected].interactable = true;
        }
        if (controladorHTPI.ActionSelected() != null)
        {
            buttonByAction[controladorHTPI.ActionSelected()].interactable = false;
            Selected = controladorHTPI.ActionSelected();
        }

        actionList.BackToTop();
    }
    public void UseAction(ClassAcao action)
    {
        actionListWrapper.Hide();

        var demand = _selectedDemand.Demand;

        if (_selectedDemand == null)
        {
            Speak("Não posso fazer isso sem ter escolhido a demanda!");
            return;
        }

        HappinessFactor -= _selectedDemand.Demand.nivelUrgencia;
        Destroy(_selectedDemand.gameObject);

        var e = demand.acoesEficazes.FirstOrDefault(x => x.idAcao == action.id);

        demand.resolvida = true;
        if (e == null)
        {
            GameManager.PlayerData.Happiness -= 10;
            Speak("Acho que isso não funcionou muito bem");
            AudioManager.instance.PlaySfx((int)SoundType.AnswerWrong);
            barraInferior.UpdateHappinessIcon();

            return;
        }
        Debug.Log("antes " + GameManager.PlayerData.Happiness);

        GameManager.PlayerData.Happiness += e.efetividade / 10;
        barraInferior.UpdateHappinessIcon();

        Debug.Log("depois " + GameManager.PlayerData.Happiness);
        AudioManager.instance.PlaySfx((int)SoundType.AnswerRight);
        Speak(e.efetividade);
        barraInferior.IncrementScore(e.efetividade);
        _selectedDemand = null;
        CheckIfEnd();
    }
示例#5
0
    public int EfficiencyOf(ClassAcao action)
    {
        var efetividade = acoesEficazes.FirstOrDefault(x => x.idAcao == action.id);

        return(efetividade?.efetividade ?? 0);
    }