Ejemplo n.º 1
0
    private void UpdateAIData(ref DoodAIInput btData)
    {
        if (player == null)
        {
            player = FindObjectOfType <Player>();
        }

        btData.playerExists = player != null;
        if (player != null)
        {
            btData.playerPos = player.transform.position;
        }

        btData.doodPos         = transform.position;
        btData.doodRot         = transform.rotation;
        btData.doodAttackRange = attackRange;
        btData.doodVisionRange = visionRange;
        btData.attackDuration  = timeBeforeHitbox;
    }
Ejemplo n.º 2
0
    private static BTState MoveUntilDone(DoodAIInput data)
    {
        if (data.agent.pathPending)
        {
            return(BTState.Continue);
        }

        if (data.agent.isPathStale)
        {
            return(BTState.Failure);
        }

        if (data.agent.remainingDistance <= data.agent.stoppingDistance || !data.agent.hasPath)
        {
            return(BTState.Success);
        }

        return(BTState.Continue);
    }