Ejemplo n.º 1
0
        public static RailgunSettings GetSettings(IMyEntity entity)
        {
            RailgunSettings set;

            if (_readCache.TryGetValue(entity.EntityId, out set))
            {
                return(set);
            }

            string s;

            if (entity.Storage != null && entity.Storage.TryGetValue(EntityGuid, out s))
            {
                try
                {
                    var d = Convert.FromBase64String(s);
                    set = MyAPIGateway.Utilities.SerializeFromBinary <RailgunSettings>(d);
                }
                catch (Exception ex)
                {
                    MyLog.Default.WriteLine("RailgunSettings failed to deserialize");
                    throw;
                }
                _readCache[entity.EntityId] = set;
                return(set);
            }

            set            = new RailgunSettings();
            set.Recharging = true;
            _readCache[entity.EntityId] = set;
            return(set);
        }
Ejemplo n.º 2
0
 public static void SetSettings(IMyEntity entity, RailgunSettings settings)
 {
     _writeCache[entity.EntityId] = settings;
     _readCache[entity.EntityId]  = settings;
 }