Beispiel #1
0
    public void AttackAnimation(string id, int rndAttack, bool weakAttack, bool strongAttack, bool isBlocking, bool triggerHitReaction, int hitReaction)
    {
        AttackAnimationPacket packet = new AttackAnimationPacket();

        packet.id = id;
        if (rndAttack != -1)
        {
            packet.randomAttack = rndAttack;
        }
        packet.weakAttack         = weakAttack;
        packet.strongAttack       = strongAttack;
        packet.isBlocking         = isBlocking;
        packet.triggerHitReaction = triggerHitReaction;
        packet.hitReaction        = hitReaction;

        socket.Emit("attack_animation", JsonUtility.ToJson(packet));
    }
Beispiel #2
0
    private void OnAttackAnimation(SocketIOEvent obj)
    {
        AttackAnimationPacket packet = JsonUtility.FromJson <AttackAnimationPacket>(obj.data);

        string id = packet.id;

        if (!players.ContainsKey(id))
        {
            return;
        }

        players[id].anim.SetInteger("RandomAttack", packet.randomAttack);
        if (packet.weakAttack)
        {
            players[id].anim.SetTrigger("WeakAttack");
        }
        if (packet.strongAttack)
        {
            players[id].anim.SetTrigger("StrongAttack");
        }
        if (packet.weakAttack || packet.strongAttack)
        {
            players[id].PlaySound(Player.AudioType.Attack);
        }
        players[id].anim.SetBool("IsBlocking", packet.isBlocking);
        if (packet.triggerHitReaction)
        {
            players[id].anim.SetFloat("HitReaction", packet.hitReaction);
            players[id].anim.SetTrigger("TriggerReaction");
            players[id].PlaySound(Player.AudioType.HitReaction);
        }

        if (packet.weakAttack || packet.strongAttack)
        {
            StopCoroutine(ResetAnimations(id));
            StartCoroutine(ResetAnimations(id));
        }
    }