private void Shoot() { //spawn projectile var throwSponge = ThrowSponge.Create(GlobalTargets.Everyone, ReliabilityModes.ReliableOrdered); throwSponge.Position = player.playerCamera.transform.position + player.playerCamera.transform.forward * .5f; throwSponge.Direction = player.playerCamera.transform.forward; throwSponge.Force = weapon.Force; throwSponge.SpongeId = new Guid(); throwSponge.Player = player.entity; throwSponge.Send(); var weaponFired = WeaponFired.Create(GlobalTargets.OnlyServer, ReliabilityModes.ReliableOrdered); weaponFired.WeaponId = weapon.Id; weaponFired.Entity = weapon.Player; weaponFired.Send(); player.ChangeWeaponIndex(player.weaponSystem.FindNextWeaponIndex(player.state.ActiveWeaponIndex)); }
public override void OnEvent(ThrowSponge throwSponge) { var projectile = Instantiate(spongeProjectile, throwSponge.Position, Quaternion.identity); projectile.Launch(throwSponge.Direction * throwSponge.Force, throwSponge.SpongeId, throwSponge.Player); }