Beispiel #1
0
    //  const int multiplier = 2;
    public void InteractCat(Animator a)
    {
        RandomCatNoises rc = a.GetComponent <RandomCatNoises>();

        if (rc.enableNoises)
        {
            return;
        }
        rc.catAsset     = deckCard.cat.getCatAsset();
        rc.enableNoises = true;
        switch (deckCard.cat.getCatAsset().attackType)
        {
        case AttackType.Melee:
            a.SetTrigger("swipe");
            break;

        case AttackType.Ranged:
            a.SetTrigger("throw");
            break;

        default:
            break;
        }
        StartCoroutine(TurnOffMeow(a, rc));
    }
Beispiel #2
0
    private void die()
    {
        owner.GameOver(owner);
        onHit(AttackType.None, this);
        target = null;
        getRigidBody2D().velocity = Vector2.zero;
        Destroy(GetComponent <Collider2D>());
        healthBar.setDead();
        RandomCatNoises n = transform.GetChild(0).GetComponent <RandomCatNoises>();

        n.playMeow();
        n.enableNoises = false;

        if (owner.enemy)
        {
            EventTrigger ET = GetComponent <EventTrigger>();
            if (ET != null)
            {
                Destroy(ET);
            }
            gameObject.layer = owner.getLayer(false);
        }
        else
        {
            Action.interactable = false;
        }

        if (getAnimator().GetBool("fly"))
        {
            Vector3 startPos = transform.position;
            Vector3 endPos   = owner.getLosePos(this);
            Vector3 bending  = Vector3.left;
            LeanTween.value(gameObject, 0, 1, 2.1f).setDelay(0.5f).setOnUpdate((float val) =>
            {
                Vector3 currentPos = Vector3.Lerp(startPos, endPos, val);
                currentPos.x      += bending.x * Mathf.Sin(val * Mathf.PI);
                currentPos.y      += bending.y * Mathf.Sin(val * Mathf.PI);
                transform.position = currentPos;
                setPositionZ(currentPos);
            }).setOnComplete(() =>
                             getAnimator().SetBool("fly", false));
            flying = false;
        }
        else
        {
            StartCoroutine(moveToOrig());
        }
    }
Beispiel #3
0
    private IEnumerator TurnOffMeow(Animator a, RandomCatNoises rc)
    {
        yield return(new WaitForSeconds(0.9f));

        rc.enableNoises = false;
    }