Пример #1
0
    private void Update()
    {
        if (DeactiveBuff)
        {
            invulnerable = false;
            if (Hide == true)
            {
                //LM.RestartDefaultColors();
                Hide = false;
            }
            InShield.SetActive(false);
            DeactiveBuff = false;
        }
        if (DeactiveDeBuff)
        {
            blinded        = false;
            DeactiveDeBuff = false;
            Destroy(deBuffToDestroy);
        }
        if (bleed)
        {
            healthSystem.Damage(2);
            bleedcounter--;
            if (bleedcounter <= 0)
            {
                bleed = false;
            }
        }

        if (toDestroy != null)
        {
            Destroy(toDestroy, 2.0f);
        }

        if (state == State.Dead)
        {
            animator.SetBool("DieBack", true);
            BH.PopCharacterFromList(this, 0.9f);
            return;
        }

        switch (state)
        {
        case State.Idle:
            break;

        case State.Busy:
            break;

        case State.Waiting:

            if (timeToAttack)
            {
                animator.SetTrigger("Slash"); // Play animation randomly
                timeToAttack = false;
            }
            counter++;
            if (counter >= 40)
            {
                onWaitComplete();
            }
            break;

        case State.Sliding:
            float slideSpeed = 10f;
            transform.position += (slideTargetPosition - GetPosition()) * slideSpeed * Time.deltaTime;

            float reachedDistance = 1f;
            if (Vector3.Distance(GetPosition(), slideTargetPosition) < reachedDistance)
            {
                onSlideComplete();
            }
            break;
        }
    }