public override bool Decide(StateController controller)
    {
        GuardStateController gsc = (GuardStateController)controller;
        Vector2 dis = gsc.chaseTarget.transform.position - gsc.transform.position;

        return(Mathf.Abs(dis.x) <= 2.5 && !gsc.guardAttack1.performingAttack);
    }
Ejemplo n.º 2
0
    public override void Act(StateController controller)
    {
        GuardStateController gsc = (GuardStateController)controller;

        if (!gsc.guardAttack1.startedAttack)
        {
            gsc.guardAttack1.StartAttack();
        }
    }
    public override void Act(StateController controller)
    {
        GuardStateController gsc = (GuardStateController)controller;

        Vector2 dis = gsc.chaseTarget.transform.position - gsc.transform.position;
        Vector2 dir = new Vector2(dis.x, 0); // find which direction we need to move

        if (Mathf.Abs(dis.x) > 2)
        {
            gsc.transform.Translate(dir.normalized * gsc.attackSpeed * Time.deltaTime);
        }
    }
    public override bool Decide(StateController controller)
    {
        // This might be really expensive
        GuardStateController gsc = (GuardStateController)controller;

        float bound      = gsc.returnBound;
        float upperBound = gsc.guardPoint.x + bound;
        float lowerBound = gsc.guardPoint.x - bound;
        float guardXPos  = gsc.transform.position.x;

        return(guardXPos >= lowerBound && guardXPos <= upperBound);
    }
    public override void Act(StateController controller)
    {
        GuardStateController gsc = (GuardStateController)controller;

        if (!gsc.CheckIfCountdownElapsed(gsc.pauseTime))
        {
            return;
        }

        Vector2 dir = (Vector3)gsc.guardPoint - gsc.chaseTarget.transform.position;

        gsc.transform.Translate(dir.normalized * gsc.speed * Time.deltaTime);
    }
Ejemplo n.º 6
0
    public override bool Decide(StateController controller)
    {
        // This might be really expensive
        GuardStateController gsc = (GuardStateController)controller;

        Vector2 origin = gsc.guardPoint;

        origin.x -= gsc.activiationRange;

        bool playerInRange = Physics2D.Raycast(origin, Vector2.right, gsc.activiationRange * 2, gsc.lookLayers);

        return(playerInRange);
    }