Exemplo n.º 1
0
    public override float GetWeight(Phenix.Unity.AI.WorldState ws)
    {
        return(0);

        if (Agent.BlackBoard.HasAttackTarget == false)
        {
            return(0);
        }
        if (Agent.BlackBoard.DesiredTargetInWeaponRange)
        {
            return(0);
        }
        if (Agent.BlackBoard.motionType != MotionType.NONE &&
            Agent.BlackBoard.motionType != MotionType.ANIMATION_DRIVE)
        {
            return(0);
        }

        if (ws.Get((int)WorldStatePropType.WILL_PLAY_ANIM))
        {
            return(Agent.BlackBoard.GOAPMaxWeightShow);
        }
        else if (Random.Range(0, 100) < 1)
        {
            ws.Set((int)WorldStatePropType.WILL_PLAY_ANIM, true);
        }

        return(0);
    }
Exemplo n.º 2
0
    //public override bool IsAborted()
    //{
    //    return false;
    //}

    public override float GetWeight(Phenix.Unity.AI.WorldState ws)
    {
        if (ws.Get((int)WorldStatePropType.ORDER_ATTACK))
        {
            return(Agent.BlackBoard.GOAPMaxWeightOrderAttack);
        }
        else
        {
            OrderDataAttack order = Agent.PlayerOrder.GetCurOrder() as OrderDataAttack;
            if (order != null)
            {
                ws.Set((int)WorldStatePropType.ORDER_ATTACK, true);
                return(Agent.BlackBoard.GOAPMaxWeightOrderAttack);
            }
        }

        return(0);
    }