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)); }
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)); } }