public static void Dispose() { if (IsInitialized) { Instance.Close(); } Instance = null; }
/// <summary> /// Initializes the default instance of the NetworkAPI /// </summary> public static void Init(ushort comId, string modName, string keyword = null) { if (IsInitialized) { return; } if (!MyAPIGateway.Multiplayer.IsServer) { Instance = new Client(comId, modName, keyword); } else { Instance = new Server(comId, modName, keyword); } }
protected override void UnloadData() { NetworkAPI.Dispose(); }
internal void RegisterClientCmdHandlers(Net.NetworkAPI net_api) { net_api.RegisterNetworkCommand(ACCEL_WARNING_UPDATE, (sid, cmd, data, stamp) => { try { var show_danger = !DontShowDmgHud && MyAPIGateway.Utilities.SerializeFromBinary <bool>(data); if (show_danger) { hud.ShowWarning(); } else { hud.ClearWarning(); } } catch (Exception e) { Log.Game.Error("Failed to deserialise accel warning msg"); Log.Game.Error(e); } }); net_api.RegisterNetworkCommand(TOXIC_UPDATE, (sid, cmd, data, stamp) => { try { var new_toxic = MyAPIGateway.Utilities.SerializeFromBinary <double>(data); hud.ToxicityLevels = new_toxic; } catch (Exception e) { Log.Game.Error("Failed to deserialise toxic update"); Log.Game.Error(e); } }); net_api.RegisterNetworkCommand(BOTTLES_UPDATE, (sid, cmd, data, stamp) => { try { var new_bottle_state = MyAPIGateway.Utilities.SerializeFromBinary <double>(data); hud.CurrJuiceAvalPercent = new_bottle_state; } catch (Exception e) { Log.Game.Error("Failed to deserialise bottle state"); Log.Game.Error(e); } }); net_api.RegisterNetworkCommand(INVALID_PERMS, (sid, cmd, data, stamp) => { try { var act_name = MyAPIGateway.Utilities.SerializeFromBinary <string>(data); var msg = $"Invalid permission to perform action: '{act_name}'"; Log.Game.Error(msg); Log.UI.Error(msg); } catch (Exception e) { Log.Game.Error(e); } }); }