private void OnMessageHandler(object sender, MessageEventArgs e) { CommonTypeMessage msgType = JsonUtility.FromJson <CommonTypeMessage>(e.Data); switch (msgType.type) { case "rotate": RotationMessage rotMsg = JsonUtility.FromJson <RotationMessage>(e.Data); Vector2 ourVector = new Vector2(rotMsg.x, rotMsg.z); queuedCursorMoves.Enqueue(new StoredCursorMove(ourVector, rotMsg.id)); break; case "fire": FireMessage fireMsg = JsonUtility.FromJson <FireMessage>(e.Data); queuedPlayerFires.Enqueue(new StoredPlayerFire(fireMsg.id, fireMsg.held)); break; case "userConnect": //Only add a new user if there is room if (users.Count < userCap) { UserConnectMessage userMsg = JsonUtility.FromJson <UserConnectMessage>(e.Data); queuedUsers.Enqueue(userMsg.id); } break; case "userDisconnect": UserConnectMessage userDCMsg = JsonUtility.FromJson <UserConnectMessage>(e.Data); queuedDisconnects.Enqueue(userDCMsg.id); break; } }
public void broadcastFire(uint playerId) { FireMessage fireMessage = new FireMessage(); fireMessage.playerId = playerId; NetworkServer.SendToAll(MsgTypes.MSG_FIRE, fireMessage); }
public void OnFireMessage(FireMessage message) { var entity = World.Entities.FirstOrDefault(e => e.Id == message.EntityId); if (entity is Hero hero) { hero.ShellType = message.ShellType; hero.IsFire = message.IsFire; } }
private void fire() { if (!LaunchEnable && Time.timeScale != 0) { LaunchEnable = true; StartCoroutine(Launch(BulletParticleEffectEvent)); } void BulletParticleEffectEvent() { fireBaseMethod((bullet) => { var message = FireMessage.CreateMessage(BlockBehaviour, Rigidbody.velocity, bullet.GetComponent <RayBulletScript>().Guid.ToString()); ModNetworking.SendToAll(message); }); } }
void fire() { if (!LaunchEnable && Time.timeScale != 0) { LaunchEnable = true; StartCoroutine(Launch(BulletParticleEffectEvent)); } void BulletParticleEffectEvent() { var bullet = (GameObject)Instantiate(BulletObject, transform.TransformPoint(SpawnPoint + Direction), transform.rotation); bullet.SetActive(true); var bs = bullet.GetComponent <BulletScript>(); bs.Fire(null, (value) => { bs.gameObject.AddComponent <ExplodeScript>().Explodey(ExplodeScript.explosionType.Small, bullet.transform.position, bulletPowerSlider.Value, 3f); bs.GetComponent <TimedSelfDestruct>().Begin(5f); } ); if (StatMaster.isMP && Modding.Common.Player.GetAllPlayers().Count > 1) { var message = FireMessage.CreateMessage(BlockBehaviour, Rigidbody.velocity, bs.Guid.ToString()); ModNetworking.SendToAll(message); } fireAudioSource.PlayOneShot(fireAudioSource.clip); fireAudioSource.pitch = UnityEngine.Random.Range(0.8f, 1.2f); EffectsObject.SetActive(true); EffectsObject.GetComponent <Reactivator>().Switch = true; } }
public void SendFireMessage(FireMessage message) { message.connectionId = myConnectionId; // make this deprecated NetworkUtility.Send(EMessageType.Fire, message, localHostId, unreliableChannel, myConnectionId); }