Example #1
0
        internal void PacketizePlanetShieldSettings(IMyCubeBlock block, ProtoPlanetShieldSettings settings)
        {
            var data  = new DataPlanetShieldSettings(MyAPIGateway.Multiplayer.MyId, block.EntityId, settings);
            var bytes = MyAPIGateway.Utilities.SerializeToBinary(data);

            PlanetShieldSettingsToClients(block.CubeGrid.GetPosition(), bytes, data.Sender);
        }
Example #2
0
 public DataPlanetShieldSettings(ulong sender, long entityId, PacketType action)
 {
     Type     = action;
     Sender   = sender;
     EntityId = entityId;
     Settings = null;
 }
        public bool LoadSettings()
        {
            if (PlanetShield.Storage == null)
            {
                return(false);
            }

            string rawData;
            bool   loadedSomething = false;

            if (PlanetShield.Storage.TryGetValue(Session.Instance.PlanetShieldSettingsGuid, out rawData))
            {
                ProtoPlanetShieldSettings loadedSettings = null;

                try
                {
                    loadedSettings = MyAPIGateway.Utilities.SerializeFromXML <ProtoPlanetShieldSettings>(rawData);
                }
                catch (Exception e)
                {
                    loadedSettings = null;
                    Log.Line($"PlanetShieldId:{PlanetShield.EntityId.ToString()} - Error loading settings!\n{e}");
                }

                if (loadedSettings != null)
                {
                    Settings        = loadedSettings;
                    loadedSomething = true;
                }
            }
            return(loadedSomething);
        }
Example #4
0
        }                                     // empty ctor is required for deserialization

        public DataPlanetShieldSettings(ulong sender, long entityId, ProtoPlanetShieldSettings settings)
        {
            Type     = PacketType.PlanetShieldsettings;
            Sender   = sender;
            EntityId = entityId;
            Settings = settings;
        }