Example #1
0
        public static void Dispose()
        {
            if (IsInitialized)
            {
                Instance.Close();
            }

            Instance = null;
        }
Example #2
0
        /// <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);
            }
        }
Example #3
0
 protected override void UnloadData()
 {
     NetworkAPI.Dispose();
 }
Example #4
0
 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);
         }
     });
 }