48 lines
903 B
C#
Raw Normal View History

2024-02-19 21:00:36 +03:00
using Mirror;
using System;
using UnityEngine;
2024-03-19 17:42:38 +03:00
namespace Characters
2024-02-19 21:00:36 +03:00
{
public abstract class Pawn : NetworkBehaviour
{
public event Action<Pawn> OnDamage;
public event Action<Pawn, bool> OnLiveState;
public bool Alive = true;
[SyncVar]
public float _speedMul = 1f;
public virtual void TakeDamage() {}
2024-02-19 21:00:36 +03:00
[Command]
public void CmdDie()
{
RpcDie();
}
[ClientRpc]
public void RpcDie()
{
Die();
}
public void Die()
{
Alive = false;
OnLiveState?.Invoke(this, Alive);
// spectator
}
public void Live()
{
Alive = true;
OnLiveState?.Invoke(this, Alive);
}
public void SetSpeedMul(float mul)
{
_speedMul = mul;
}
}
}