public static bool AttemptSoundEmitterToggle(Vector2 worldPos) { var myworld = ModContent.GetInstance <EmittersWorld>(); var tileX = (ushort)(worldPos.X / 16f); var tileY = (ushort)(worldPos.Y / 16f); SoundEmitterDefinition sndEmitter = myworld.GetSoundEmitter(tileX, tileY); if (sndEmitter == null) { return(false); } sndEmitter.Activate(!sndEmitter.IsActivated); if (Main.netMode == NetmodeID.MultiplayerClient) { SoundEmitterPlacementProtocol.BroadcastFromClient(sndEmitter, tileX, tileY); } return(true); }
//////////////// public static bool AttemptSoundEmitterPlacementForCurrentPlayer(SoundEmitterDefinition def) { var myworld = ModContent.GetInstance <EmittersWorld>(); ushort tileX = (ushort)(Main.MouseWorld.X / 16); ushort tileY = (ushort)(Main.MouseWorld.Y / 16); if (myworld.GetSoundEmitter(tileX, tileY) != null) { return(false); } myworld.AddSoundEmitter(new SoundEmitterDefinition(def), tileX, tileY); Main.PlaySound(SoundID.Item108, Main.MouseWorld); if (Main.netMode == NetmodeID.MultiplayerClient) { SoundEmitterPlacementProtocol.BroadcastFromClient(def, tileX, tileY); } return(true); }