public void Save() { string q; if (Id == 0) { q = $@" INSERT INTO players_ships(player_id) VALUES({PlayerId}) SELECT @@IDENTITY AS Result"; Id = DataConnection.GetResultInt(q); } q = $@"UPDATE players_ships SET player_id = {PlayerId}, ss_design_id = {ModelId}, experience = {Experience}, ship_level = {Level}, rig_id = {RigId}, ship_code = CAST('{ShipCode.ToString()}' AS uniqueidentifier) WHERE id = {Id}"; DataConnection.Execute(q); if (shipCache == null) { shipCache = new Dictionary <Guid, Ship>(); } if (!shipCache.ContainsKey(ShipCode)) { shipCache.Add(ShipCode, this); } }
public async Task <IActionResult> Edit(long id, [Bind("Carriers,DeliveryTime,CollectionFee,ZipCode,Total,Id")] ShipCode shipCode) { if (id != shipCode.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(shipCode); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ShipCodeExists(shipCode.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(shipCode)); }
public async Task <IActionResult> Create([Bind("Carriers,DeliveryTime,CollectionFee,ZipCode,Total,Id")] ShipCode shipCode) { if (ModelState.IsValid) { _context.Add(shipCode); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(shipCode)); }
public static ShipCode LoadCode(string name) { ShipCode code; if (Programs.TryGetValue(name, out code)) return code; code = new ShipCode(Path.Combine(BaseLocation, name)); Programs.Add(name, code); return code; }
public void Load(ShipCode code) { Vm = new VirtualMachine(4096); Vm.Attach(new Timer()); Navigation = new Navigation(Body); Vm.Attach(Navigation); Radar = new Radar(this); Vm.Attach(Radar); Engines = new Engines(); Vm.Attach(Engines); Guns = new Guns(); Vm.Attach(Guns); Broadcast = new Broadcast(this); Vm.Attach(Broadcast); Code = code; for (var i = 0; i < Code.Length; i++) { Vm.Memory[i] = Code[i]; } var ptr = 8; var varCount = Vm.Memory.ReadInt(ptr); ptr += sizeof(int); _variables.Clear(); for (var i = 0; i < varCount; i++) { var varAddr = ptr; ptr += sizeof(int); var varType = Vm.Memory.ReadSByte(ptr); ptr += sizeof(sbyte); _variables.Add(new Variable((VariableType)varType, varAddr)); } _programLen = Code.Length; _programOffset = ptr; _programDead = false; for (var i = 0; i < Vm.Registers.Length; i++) { Vm.Registers[i] = 0; } Vm.SP = Vm.Memory.Length; }
public static ShipCode ReloadCode(string name) { var code = new ShipCode(name); Programs[name] = code; return code; }