Example #1
0
        /// <summary>
        ///     Workaround to get water data on clients. Server will sync water data when <see cref="WaterModAPI.RecievedData" />
        ///     event is triggered on server.
        /// </summary>
        private void OnWaterModAPIReceivedData()
        {
            if (Network != null && Network.IsServer)
            {
                var message = new WaterModDataSyncMessage {
                    Waters = WaterModAPI.Waters
                };

                Network.Sync(message);
            }
        }
Example #2
0
        /// <summary>
        ///     Request water mod data message handler.
        /// </summary>
        /// <param name="sender">The sender who requested the water data.</param>
        /// <param name="message">The message from the requester.</param>
        private void OnWaterModDataRequestMessageReceived(ulong sender, WaterModDataRequestMessage message)
        {
            if (Mod.Static.WaterModAPI.Waters == null)
            {
                return;
            }

            try {
                var response = new WaterModDataSyncMessage {
                    Waters = Mod.Static.WaterModAPI.Waters
                };

                Network.Send(response, sender);
            } catch (Exception exception) {
                using (Log.BeginMethod(nameof(OnWaterModDataRequestMessageReceived))) {
                    Log.Error(exception);
                }
            }
        }
Example #3
0
 /// <summary>
 ///     Water mod data received message handler.
 /// </summary>
 /// <param name="sender">The sender of the message.</param>
 /// <param name="message">The message.</param>
 private void OnWaterModDataReceived(ulong sender, WaterModDataSyncMessage message)
 {
     Mod.Static.WaterModAPI.Waters = message.Waters;
 }