示例#1
0
    public void SwitchTo(SpiderAIState spiderAIState)
    {
        if (State == spiderAIState)
        {
            return;
        }

        PreviousState = State;
        State         = spiderAIState;
        animation.SwitchAnimationTo(spiderAIState);

        switch (spiderAIState)
        {
        case SpiderAIState.Idle:
            OnSwitchToIdle();
            break;

        case SpiderAIState.Moving:
            OnSwitchToMoving();
            break;

        case SpiderAIState.Chasing:
            OnSwitchToChasing();
            break;

        case SpiderAIState.Attacking:
            OnSwitchToAttacking();
            break;
        }
    }
示例#2
0
    public void SwitchAnimationTo(SpiderAIState state)
    {
        switch (state)
        {
        case SpiderAIState.Idle:
            animator.SetBool("moving", false);
            animator.SetBool("attacking", false);
            animator.SetBool("chasing", false);
            animator.SetBool("idle", true);
            break;

        case SpiderAIState.Moving:
            animator.SetBool("moving", true);
            animator.SetBool("attacking", false);
            animator.SetBool("idle", false);
            animator.SetBool("chasing", false);
            break;

        case SpiderAIState.Chasing:
            animator.SetBool("chasing", true);
            animator.SetBool("idle", false);
            animator.SetBool("attacking", false);
            animator.SetBool("moving", false);
            break;

        case SpiderAIState.Attacking:
            animator.SetBool("moving", false);
            animator.SetBool("attacking", true);
            animator.SetBool("idle", false);
            animator.SetBool("chasing", false);
            break;
        }
    }
示例#3
0
 private void Start()
 {
     State           = SpiderAIState.Moving;
     PreviousState   = State;
     attackSpeed     = 0.8F;
     player          = GameObject.Find("Player");
     spiderRigidbody = GetComponent <Rigidbody2D>();
     webCollider     = transform.parent.GetComponent <CircleCollider2D>();
     spiderWebRadius = transform.parent.GetComponent <CircleCollider2D>().radius;
     animation       = GetComponentInChildren <SpiderAnimation>();
     startPosition   = transform.position;
     NewRandomTarget();
     RotateTowardsTarget();
 }