Как передать свойства снаряду от игрока, выстрельнувшего им, используя Photon Pun2?
Использую Photon.Pun в Unity, для реализации стрельбы. Один игрок выстреливает снаряд и сразу передает ему значение урона.
var projectile = PhotonNetwork.Instantiate(bullet.name, attackPoint.transform.position, player.transform.rotation);
projectile.GetComponent<Projectile>().damage = currentWeapon.Damage;
В скрипте снаряда я синхронизирую урон с помощью фотона.
public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
{
if (stream.IsWriting)
stream.SendNext(damage);
else
damage = (float)stream.ReceiveNext();
}
Проблема в том, что пуля может лететь с очень большой скоростью, а фотон синхронизирует данные около 10 раз в секунду, то есть зачастую получается, что снаряд долетает до цели быстрее, чем успевает получить от фотона значение урона.
Получается следующая ситуация:
- Стандартный урон снаряда = 1
- Первый игрок выпускает снаряд, задает ему урон = 10
- Снаряд попадает во второго игрока, нанося стандартный урон = 1, потому что не успел получить настоящий урон от фотона
Вопрос: как передавать урон снаряду от стрелка?