Пример #1
0
        internal void UpdateSettings(ControllerSettingsValues newSettings)
        {
            if (newSettings.MId > DsSet.Settings.MId)
            {
                if (!_isServer)
                {
                    if (MyGrid != null && Session.Enforced.Debug == 3)
                    {
                        Log.Line($"{MyGrid.DebugName} received settings packet");
                    }

                    if (newSettings.Visible != DsSet.Settings.Visible)
                    {
                        _clientAltered = true;
                    }
                }
                var newShape = newSettings.ExtendFit != DsSet.Settings.ExtendFit || newSettings.FortifyShield != DsSet.Settings.FortifyShield || newSettings.SphereFit != DsSet.Settings.SphereFit;

                DsSet.Settings  = newSettings;
                SettingsUpdated = true;
                if (newShape)
                {
                    FitChanged = true;
                }
            }
        }
Пример #2
0
        internal void UpdateSettings(ControllerSettingsValues newSettings)
        {
            if (newSettings.MId > DsSet.Settings.MId)
            {
                if (!_isServer)
                {
                    if (MyGrid != null && Session.Enforced.Debug == 3)
                    {
                        Log.Line($"{MyGrid.DebugName} received settings packet");
                    }

                    if (newSettings.Visible != DsSet.Settings.Visible)
                    {
                        _clientAltered = true;
                    }
                }
                var newShape = newSettings.Fit != DsSet.Settings.Fit || newSettings.FortifyShield != DsSet.Settings.FortifyShield;

                DsSet.Settings  = newSettings;
                SettingsUpdated = true;
                if (newShape)
                {
                    FitChanged = true;
                }

                if (RedirectUpdateTime <= Session.Instance.Tick && ShieldRedirectState != newSettings.ShieldRedirects)
                {
                    StartRedirectTimer();
                }
            }
        }
Пример #3
0
        internal bool LoadSettings()
        {
            if (Shield.Storage == null)
            {
                return(false);
            }

            string rawData;
            var    loadedSomething = false;

            if (Shield.Storage.TryGetValue(Session.Instance.ControllerSettingsGuid, out rawData))
            {
                ControllerSettingsValues loadedSettings;

                try
                {
                    var base64 = Convert.FromBase64String(rawData);
                    loadedSettings = MyAPIGateway.Utilities.SerializeFromBinary <ControllerSettingsValues>(base64);
                }
                catch (Exception e)
                {
                    loadedSettings = null;
                    Log.Line($"Load - ShieldId [{Shield.EntityId}]: - Error loading settings!\n{e}");
                }

                if (loadedSettings != null)
                {
                    Settings        = loadedSettings;
                    loadedSomething = true;
                }
                if (Session.Enforced.Debug == 3)
                {
                    Log.Line($"Loaded - ShieldId [{Shield.EntityId}]");
                }
            }
            return(loadedSomething);
        }
 public DataControllerSettings(long entityId, ControllerSettingsValues settings) : base(entityId)
 {
     Settings = settings;
 }