using System; using StardewModdingAPI.Framework.Events; namespace StardewModdingAPI.Events { /// Events raised during the multiplayer sync process. public static class MultiplayerEvents { /********* ** Properties *********/ /// The core event manager. private static EventManager EventManager; /********* ** Events *********/ /// Raised before the game syncs changes from other players. public static event EventHandler BeforeMainSync { add => MultiplayerEvents.EventManager.Multiplayer_BeforeMainSync.Add(value); remove => MultiplayerEvents.EventManager.Multiplayer_BeforeMainSync.Remove(value); } /// Raised after the game syncs changes from other players. public static event EventHandler AfterMainSync { add => MultiplayerEvents.EventManager.Multiplayer_AfterMainSync.Add(value); remove => MultiplayerEvents.EventManager.Multiplayer_AfterMainSync.Remove(value); } /// Raised before the game broadcasts changes to other players. public static event EventHandler BeforeMainBroadcast { add => MultiplayerEvents.EventManager.Multiplayer_BeforeMainBroadcast.Add(value); remove => MultiplayerEvents.EventManager.Multiplayer_BeforeMainBroadcast.Remove(value); } /// Raised after the game broadcasts changes to other players. public static event EventHandler AfterMainBroadcast { add => MultiplayerEvents.EventManager.Multiplayer_AfterMainBroadcast.Add(value); remove => MultiplayerEvents.EventManager.Multiplayer_AfterMainBroadcast.Remove(value); } /********* ** Public methods *********/ /// Initialise the events. /// The core event manager. internal static void Init(EventManager eventManager) { MultiplayerEvents.EventManager = eventManager; } } }