Пример #1
0
//----------------------------------------------------------------------------------------
//ATACA-GAJO-----------------------------------------------------------------------------
//----------------------------------------------------------------------------------------
        public float ataca(GajoCitizen prey)
        {
            float reward = 0;

            if (_owner.getId() == Global.whoIsBeingTracked)
            {
                Global.whatAmIDoing = TypeOfActionBeingPerformed.ATACA;
            }
            _owner.whatAmIDoing  = TypeOfActionBeingPerformed.ATACA;
            _owner.walker.target = prey.transform.position;

            if (prey.iEstado == GajoCitizen.GajoState.VIVO &&
                _owner.iEstado == GajoCitizen.GajoState.VIVO)
            {
                if (prey.walker.Animacao != null)
                {
                    _owner.behavior.Interacao.isInteracting = true;
                    prey.behavior.Interacao.isInteracting   = true;
                    prey.whatAmIDoing = TypeOfActionBeingPerformed.ATACA_COOPERA;
                    //**//
                    reward = negoceia(prey, true);
                    //**//
                    if (reward > 0)
                    {
                        myanimations.interactionState = InteractionAnimations.MyState.ATACK_YESinitiative_WIN;
                        prey.behavior.actions.myanimations.interactionState = InteractionAnimations.MyState.ATACK_NOinitiative_WIN;
                        _owner.whatAmIDoing            = TypeOfActionBeingPerformed.ATACA_COOPERA;
                        _owner.walker.Animacao.enabled = true;
                        _owner.walker.target           = _owner.transform.position;
                        _owner.behavior.Interacao.Memoria.isCooperativeInteractionC = true;
                        prey.behavior.Interacao.Memoria.isCooperativeInteractionC   = true;
                    }
                    else
                    {
                        myanimations.interactionState = InteractionAnimations.MyState.ATACK_YESinitiative_LOSE;
                        prey.behavior.actions.myanimations.interactionState = InteractionAnimations.MyState.ATACK_NOinitiative_LOSE;
                        _owner.whatAmIDoing = TypeOfActionBeingPerformed.ATACA_NAOCOOPERA;
                        _owner.behavior.Interacao.Memoria.isCooperativeInteractionC = false;
                        prey.behavior.Interacao.Memoria.isCooperativeInteractionC   = false;
                    }
                    float durationInteraction = 10f - (_owner.behavior.relaxation * 10f * 0.25f);
                    _owner.startInteraction(prey, durationInteraction);
                }

                myanimations.anima();
                prey.behavior.actions.myanimations.anima();
            }
            else
            {
                reward = 0;
            }
            _owner.metabolism.energy -= _owner.priceAttack;
            return(reward);
        }