コード例 #1
0
    /// <summary>
    /// Pega um objeto que esteja disponível na fonte.
    /// </summary>
    public virtual void PegarObjeto()
    {
        //Verifica se o personagem está com a mão ocupada.
        if (Personagem.ObjetoNaMao == null)
        {
            //Se não estiver, verifica se a fonte tem recursos para dar ao jogador.
            if (objetos.Count > 0)
            {
                //Caso tenha recursos, adiciona um Objeto na propriedade ObjetoNaMao de Personagem e cria um prefab para mostrar isto.
                Objeto a = objetos.ElementAt(0);

                //Se for infinito, essa fonte sempre terá a mesma quantidade de objetos até o final. Também, só permite que 1 objeto seja pego por ela.
                //Caso não seja, remove o primeiro objeto da lista.
                if (!isInfinito)
                {
                    objetos.Remove(a);
                }

                if (TutorialController.isEsperandoPegarTrigo)
                {
                    TutorialController.MostrarPegouObjetoFonte();
                }

                Personagem.ObjetoNaMao = Instantiate(a);
                a.SetarMaoJogador(Personagem.name);
            }
            else
            {
                //Caso não tenha recursos disponíveis, dá um feedback de Fonte Vazia.
                Debug.Log("Acabou os objetos desta fonte.");
            }
        }
        else
        {
            //Caso tenha um objeto na mão, dar feedback sobre mão ocupada.
            Debug.Log("Já tem um objeto na mão.");
        }
    }