示例#1
0
 //----------------------------------
 //INTERACTION WITH PRODUTOR---------
 //----------------------------------
 //Comandado a partir do owner(Gajo)
 public void start(GajoWorker outro, float duracao)
 {
     _parent.walker.Animacao.SetBool("interact", true);
     _parent.walker.Navigation.stopMoving();
     isInteracting = true;
     //  _parent.transform.LookAt(outro.transform);//Isto não devia estar aqui, mas por algum motivo não funciona se so estiver no LookAt
     _parent.behavior.dispatcherSpeed = duracao;
     outro.startInteraction(_parent);
 }
示例#2
0
        private float comeProdutor(GajoWorker produtor)
        {
            float total  = 0;
            float amount = 0;
            float dose   = 10;
            float reward = 0;
            float qtResourcesQueTinha = 0;

            myanimations.anima();
            produtor.startInteraction(_owner);
            _owner.startInteraction(produtor, 0.05f);

            if (_owner.metabolism.chemicals[0] != -1)
            {
                qtResourcesQueTinha += _owner.metabolism.chemicals [0];                //RFA REWARD------------------------------------------------------------------
                if (produtor.chemicals[1] > dose)
                {
                    amount = produtor.chemicals[1] - dose;
                    produtor.chemicals[1] -= dose;
                }
                else
                {
                    amount = produtor.chemicals[1];
                    produtor.chemicals[1] = 0;
                }
                _owner.metabolism.chemicals[0] += amount;
                total = total + amount;
            }

            if (_owner.metabolism.chemicals[1] != -1)
            {
                qtResourcesQueTinha += _owner.metabolism.chemicals [1];                //RFA REWARD------------------------------------------------------------------
                if (produtor.chemicals[2] > dose)
                {
                    amount = produtor.chemicals[2] - dose;
                    produtor.chemicals[2] -= dose;
                }
                else
                {
                    amount = produtor.chemicals[2];
                    produtor.chemicals[2] = 0;
                }
                _owner.metabolism.chemicals[1] += amount;
                total = total + amount;
            }
            if (_owner.metabolism.chemicals[2] != -1)
            {
                qtResourcesQueTinha += _owner.metabolism.chemicals [2];                //RFA REWARD------------------------------------------------------------------
                if (produtor.chemicals[0] > dose)
                {
                    amount = produtor.chemicals[0] - dose;
                    produtor.chemicals[0] -= dose;
                }
                else
                {
                    amount = produtor.chemicals[0];
                    produtor.chemicals[0] = 0;
                }
                _owner.metabolism.chemicals[2] += amount;
                total = total + amount;
            }
            reward += total;
            _owner.behavior.dispatcherSpeed = 12f;
            _owner.walker.Animacao.enabled  = true;

            if (qtResourcesQueTinha > 0)                                                                    //RFA REWARD----------------------------------------------------------------------------------------------------
            {
                _owner.behavior.Interacao.Memoria.ganhoTradingOrSocializing = amount / qtResourcesQueTinha; //RFA REWARD-------------------------------------------
            }
            else                                                                                            //RFA REWARD------------------------------------------------------------------------------------------------------------------------
            {
                _owner.behavior.Interacao.Memoria.ganhoTradingOrSocializing = amount / 0.01f;               //RFA REWARD----------------------------------------------------------
            }
            return(reward);
        }