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); }
public static void SetSettings(IMyEntity entity, RailgunSettings settings) { _writeCache[entity.EntityId] = settings; _readCache[entity.EntityId] = settings; }