//---------------------------------- //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); }
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); }