public void OnBulletSpawn(NetworkMessage _networkMessage) { // Read msg BulletSpawnMessage msg = _networkMessage.ReadMessage <BulletSpawnMessage>(); // Create Bullet GameObject clone = Instantiate(this.bullet, msg.position, msg.rotation) as GameObject; clone.GetComponent <Bullet>().ownerId = msg.objectId; //NetworkServer.Spawn(clone); // Set velocity clone.GetComponent <Rigidbody>().velocity = clone.transform.forward * msg.speed; // Tell client player's to play a particle effect ShotBulletMessage newMsg = new ShotBulletMessage(); newMsg.playerId = msg.objectId; NetworkServer.SendToAll(CustomMsgType.ShotBullet, newMsg); }
public void Fire() { if (!this.canFire) { return; } this.canFire = false; //GameObject clone = Instantiate(this.bullet, this.bulletSpawn.position, this.bulletSpawn.rotation) as GameObject; // Send msg to server to spawn object BulletSpawnMessage msg = new BulletSpawnMessage(); msg.objectId = this.netId; msg.position = this.bulletSpawn.position; msg.rotation = this.bulletSpawn.rotation; msg.speed = this.bulletSpeed; NetworkManager.singleton.client.Send(CustomMsgType.BulletSpawn, msg); // Mask network request/spawning speed //this.playerMovement.KickBack(); }