Exemple #1
0
 private void DoActions(StateControllerRed controller)
 {
     for (int i = 0; i < actions.Length; i++)
     {
         actions[i].Act(controller);
     }
 }
Exemple #2
0
 private void Dead(StateControllerRed controller)
 {
     controller.m_Anim.SetBool("Idle", false);
     controller.m_Anim.SetBool("Move", false);
     controller.m_Anim.SetBool("HitHead", false);
     controller.m_Anim.SetBool("AttackL", false);
     controller.m_Anim.SetBool("AttackR", false);
     controller.m_Anim.SetBool("Dead", true);
 }
Exemple #3
0
 private bool Attack(StateControllerRed controller)
 {
     if (controller.redDirection.magnitude <= 0.8f)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemple #4
0
 private bool Chase(StateControllerRed controller)
 {
     if (controller.chase == true)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemple #5
0
 private bool Dead(StateControllerRed controller)
 {
     if (controller.m_Health.value <= 0.0f)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemple #6
0
 private bool Stop(StateControllerRed controller)
 {
     if (controller.redDirection.magnitude <= 1.0f)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemple #7
0
    private void CheckTransitions(StateControllerRed controller)
    {
        for (int i = 0; i < transitions.Length; i++)
        {
            bool decisionSucceeded = transitions[i].decision.Decide(controller);

            if (decisionSucceeded)
            {
                controller.TransitionToState(transitions[i].trueState);
            }
            else
            {
                controller.TransitionToState(transitions[i].falseState);
            }
        }
    }
Exemple #8
0
    private void Attack(StateControllerRed controller)
    {
        if (controller.m_Health.value <= 0.0f)
        {
            return;
        }


        //Rotate
        controller.m_Red.transform.rotation = Quaternion.Slerp(controller.m_Red.transform.rotation,
                                                               Quaternion.LookRotation(controller.redDirection), controller.redStats.rotateSpeed);

        Debug.Log("Red AttackL");
        controller.m_Anim.SetBool("Idle", false);
        controller.m_Anim.SetBool("Move", false);
        controller.m_Anim.SetBool("AttackL", true);
    }
Exemple #9
0
    private bool Look(StateControllerRed controller)
    {
        RaycastHit hit;

        Debug.DrawRay(controller.eyesRed.position, controller.eyesRed.forward.normalized * controller.redStats.lookRange, Color.red);

        if (Physics.SphereCast(controller.eyesRed.position, controller.redStats.lookSphereCastRadius, controller.eyesRed.forward, out hit, controller.redStats.lookRange) &&
            hit.collider.CompareTag("Blue"))
        {
            controller.chaseTarget = hit.transform;
            return(true);
        }
        else
        {
            return(false);
        }
    }
Exemple #10
0
    private void Damage(StateControllerRed controller)
    {
        if (controller.hit == true)
        {
            Debug.Log("Damage");

            controller.m_Anim.SetBool("Idle", false);
            controller.m_Anim.SetBool("Move", false);
            controller.m_Anim.SetBool("AttackL", false);
            controller.m_Anim.SetBool("AttackR", false);
            controller.m_Anim.SetBool("Defend", false);
            controller.m_Anim.SetBool("HitBody", false);
            controller.m_Anim.SetBool("HitHead", true);
            controller.m_Anim.SetBool("HitBody", false);

            controller.hit = false;
        }
    }
Exemple #11
0
    private void Chase(StateControllerRed controller)
    {
        if (controller.m_Health.value <= 0.0f)
        {
            return;
        }

        if (controller.chase == true)
        {
            Debug.Log("Red Chase");
            controller.m_Anim.SetBool("Idle", false);
            controller.m_Anim.SetBool("Move", true);
            //controller.m_Anim.SetBool("AttackL", false);

            //Rotate
            controller.m_Red.transform.rotation = Quaternion.Slerp(controller.m_Red.transform.rotation,
                                                                   Quaternion.LookRotation(controller.redDirection), controller.redStats.rotateSpeed);

            //Move
            controller.m_Red.transform.position = Vector3.Lerp(controller.m_Red.transform.position,
                                                               controller.chaseTarget.position, controller.redStats.moveSpeed * Time.deltaTime);
        }
    }
Exemple #12
0
 public override void Act(StateControllerRed controller)
 {
     Dead(controller);
 }
Exemple #13
0
 public override void Act(StateControllerRed controller)
 {
     Attack(controller);
 }
Exemple #14
0
    public override bool Decide(StateControllerRed controller)
    {
        bool targetFound = Chase(controller);

        return(targetFound);
    }
    public override System.Boolean Decide(StateControllerRed controller)
    {
        bool chaseTargetIsActive = controller.chaseTarget.gameObject.activeSelf;

        return(chaseTargetIsActive);
    }
Exemple #16
0
 public override void Act(StateControllerRed controller)
 {
     Chase(controller);
 }
Exemple #17
0
    public override bool Decide(StateControllerRed controller)
    {
        bool targetNear = Stop(controller);

        return(targetNear);
    }
Exemple #18
0
 public void UpdateState(StateControllerRed controller)
 {
     DoActions(controller);
     CheckTransitions(controller);
 }
Exemple #19
0
 public abstract void Act(StateControllerRed controller);
Exemple #20
0
    public override bool Decide(StateControllerRed controller)
    {
        bool dead = Dead(controller);

        return(dead);
    }
Exemple #21
0
 public override void Act(StateControllerRed controller)
 {
     Damage(controller);
 }
Exemple #22
0
    public override bool Decide(StateControllerRed controller)
    {
        bool targetVisible = Attack(controller);

        return(targetVisible);
    }
Exemple #23
0
 public abstract bool Decide(StateControllerRed controller);