protected override void RunImpl() { // Patch to database using (var db = new ExteelContext()) { var unit = db.Units.Single(u => u.Id == _patchUnit.Id); // Patch unit unit.Name = _patchUnit.Name; db.SaveChanges(); } GetClient().UpdateUserFromDatabase(); GetClient().SendPacket(new ServerPackets.Hangar.NameIsValid(true)); }
protected override void RunImpl() { // Patch to database using (var db = new ExteelContext()) { var unit = db.Units.Single(u => u.Id == _patchUnit.Id); // Patch unit unit.Name = _patchUnit.Name; unit.HeadId = _patchUnit.HeadId; unit.ChestId = _patchUnit.ChestId; unit.ArmsId = _patchUnit.ArmsId; unit.LegsId = _patchUnit.LegsId; unit.BackpackId = _patchUnit.BackpackId; unit.WeaponSet1LeftId = _patchUnit.WeaponSet1LeftId; if (_patchUnit.WeaponSet1RightId != -1) { unit.WeaponSet1RightId = _patchUnit.WeaponSet1RightId; } else { unit.WeaponSet1RightId = null; } unit.WeaponSet2LeftId = _patchUnit.WeaponSet2LeftId; if (_patchUnit.WeaponSet2RightId != -1) { unit.WeaponSet2RightId = _patchUnit.WeaponSet2RightId; } else { unit.WeaponSet2RightId = null; } unit.Skill1Id = _patchUnit.Skill1Id; unit.Skill2Id = _patchUnit.Skill2Id; unit.Skill3Id = _patchUnit.Skill3Id; unit.Skill4Id = _patchUnit.Skill4Id; db.SaveChanges(); } GetClient().UpdateUserFromDatabase(); }
protected override void RunImpl() { // TODO: Actually select operator var client = GetClient(); using (var db = new ExteelContext()) { // Get tracked entity var user = db.Users .Single(u => u.Id == client.User.Id); // Update operator user.OperatorId = _operatorId; // Save to DB db.SaveChanges(); } // Update user GetClient().UpdateUserFromDatabase(); client.SendPacket(new SelectOperatorInfo(_operatorId)); }
public async Task <string> PostData([FormData] NameValueCollection data) { // Validate some stuff var user = data["username"].Trim(); var pass = data["password"].Trim(); var callsign = data["callsign"].Trim(); if (string.IsNullOrEmpty(user) || user.Length < 3 || user.Length > 10) { return("YOUR USERNAME HAS TO BE BETWEEN 3 AND 10 CHARACTERS"); } if (string.IsNullOrEmpty(pass) || pass.Length < 3 || pass.Length > 10) { return("YOUR PASSWORD HAS TO BE BETWEEN 3 AND 10 CHARACTERS"); } if (string.IsNullOrEmpty(callsign) || callsign.Length < 3 || callsign.Length > 10) { return("YOUR CALLSIGN HAS TO BE BETWEEN 3 AND 10 CHARACTERS"); } // Now validate against db using (var db = new ExteelContext()) { if (db.Users.Any(u => u.Username == user)) { return("THAT USERNAME IS ALREADY TAKEN"); } if (db.Users.Any(u => u.Callsign == callsign)) { return("THAT CALLSIGN IS ALREADY TAKEN"); } // If not, make them a new account var newUser = new ExteelUser { Nickname = callsign, Username = user, Callsign = callsign, Coins = 999999, Credits = 10000000, Experience = 0, Level = 50, Rank = 23, Password = pass }; newUser.PilotInfo = new PilotInfo { AbilityPointsAvailable = 0, AimLevel = 0, EnLevel = 0, HpLevel = 0, MeleeLevel = 0, MoveSpeedLevel = 0, RangedLevel = 0, RocketLevel = 0, ScanRangeLevel = 0, SiegeLevel = 0, SpLevel = 0 }; newUser.Stats = new List <UserStats> { new UserStats { Type = UserStats.StatType.Training }, new UserStats { Type = UserStats.StatType.Survival }, new UserStats { Type = UserStats.StatType.TeamSurvival }, new UserStats { Type = UserStats.StatType.TeamBattle }, new UserStats { Type = UserStats.StatType.Ctf }, new UserStats { Type = UserStats.StatType.ClanBattle }, new UserStats { Type = UserStats.StatType.DefensiveBattle } }; newUser.Inventory = new UserInventory { InventorySize = 100, UnitSlots = 1, RepairPoints = 100 }; newUser.Inventory.Parts = new List <PartRecord> { new PartRecord { TemplateId = 1110001, Parameters = 1, Color = Color.Gray, Type = 1 }, new PartRecord { TemplateId = 2220001, Parameters = 1, Color = Color.Gray, Type = 2 }, new PartRecord { TemplateId = 3330001, Parameters = 1, Color = Color.Gray, Type = 3 }, new PartRecord { TemplateId = 4440001, Parameters = 1, Color = Color.Gray, Type = 4 }, new PartRecord { TemplateId = 5550001, Parameters = 1, Color = Color.Gray, Type = 5 }, new PartRecord { TemplateId = 7770016, Parameters = 1, Color = Color.Gray, Type = 7 }, new PartRecord { TemplateId = 7770016, Parameters = 1, Color = Color.Gray, Type = 7 }, new PartRecord { TemplateId = 7770016, Parameters = 4, Color = Color.Gray, Type = 7 }, new PartRecord { TemplateId = 7770016, Parameters = 1, Color = Color.Gray, Type = 7 }, new PartRecord { TemplateId = 1002, Parameters = 1, Color = Color.White, Type = 9 }, new PartRecord { TemplateId = 6001, } }; newUser.Inventory.Units = new List <UnitRecord> { new UnitRecord { LaunchOrder = 0, Name = "ExteelLives", Head = newUser.Inventory.Parts[0], Chest = newUser.Inventory.Parts[1], Arms = newUser.Inventory.Parts[2], Legs = newUser.Inventory.Parts[3], Backpack = newUser.Inventory.Parts[4], WeaponSet1Left = newUser.Inventory.Parts[5], WeaponSet1Right = newUser.Inventory.Parts[6], WeaponSet2Left = newUser.Inventory.Parts[7], WeaponSet2Right = newUser.Inventory.Parts[8] } }; newUser.Operator = newUser.Inventory.Parts[10]; newUser.DefaultUnit = newUser.Inventory.Units[0]; db.Users.Add(newUser); db.SaveChanges(); } return("OK YOURE SIGNED UP"); }
protected override void RunImpl() { // Patch to database using (var db = new ExteelContext()) { var unit = db.Units.Single(u => u.Id == _patchUnit.Id); // Patch unit unit.Name = _patchUnit.Name; unit.HeadId = _patchUnit.HeadId; unit.ChestId = _patchUnit.ChestId; unit.ArmsId = _patchUnit.ArmsId; unit.LegsId = _patchUnit.LegsId; unit.BackpackId = _patchUnit.BackpackId; unit.WeaponSet1LeftId = _patchUnit.WeaponSet1LeftId; if (_patchUnit.WeaponSet1RightId != -1) { unit.WeaponSet1RightId = _patchUnit.WeaponSet1RightId; } else { unit.WeaponSet1RightId = null; } unit.WeaponSet2LeftId = _patchUnit.WeaponSet2LeftId; if (_patchUnit.WeaponSet2RightId != -1) { unit.WeaponSet2RightId = _patchUnit.WeaponSet2RightId; } else { unit.WeaponSet2RightId = null; } unit.Skill1Id = _patchUnit.Skill1Id; unit.Skill2Id = _patchUnit.Skill2Id; unit.Skill3Id = _patchUnit.Skill3Id; unit.Skill4Id = _patchUnit.Skill4Id; // Patch parts var head = db.Parts.Single(p => p.Id == _patchUnit.HeadId); head.Color = _patchHead.Color; var chest = db.Parts.Single(p => p.Id == _patchUnit.ChestId); chest.Color = _patchChest.Color; var arms = db.Parts.Single(p => p.Id == _patchUnit.ArmsId); arms.Color = _patchArms.Color; var legs = db.Parts.Single(p => p.Id == _patchUnit.LegsId); legs.Color = _patchLegs.Color; var backpack = db.Parts.Single(p => p.Id == _patchUnit.BackpackId); backpack.Color = _patchBackpack.Color; // Weapons var weaponSet1Left = db.Parts.Single(p => p.Id == _patchUnit.WeaponSet1LeftId); weaponSet1Left.Color = _patchWeaponSet1Left.Color; var weaponSet1Right = db.Parts.SingleOrDefault(p => p.Id == _patchUnit.WeaponSet1RightId); if (weaponSet1Right != null) { weaponSet1Right.Color = _patchWeaponSet1Right.Color; } var weaponSet2Left = db.Parts.Single(p => p.Id == _patchUnit.WeaponSet2LeftId); weaponSet2Left.Color = _patchWeaponSet2Left.Color; var weaponSet2Right = db.Parts.SingleOrDefault(p => p.Id == _patchUnit.WeaponSet2RightId); if (weaponSet2Right != null) { weaponSet2Right.Color = _patchWeaponSet2Right.Color; } db.SaveChanges(); } GetClient().UpdateUserFromDatabase(); }
protected override void RunImpl() { var client = GetClient(); using (var db = new ExteelContext()) { // Get tracked entity var user = db.Users .Include(u => u.Inventory) .ThenInclude(i => i.Parts) .Single(u => u.Id == client.User.Id); Console.WriteLine("Found user " + user.Id); // Lookup good var good = ShopDataReader.GetGoodById(_goodId); // Subtract money // TODO: Handle Coins user.Credits -= good.CreditPrice; // Create Parts foreach (var templateId in good.Templates) { PartRecord partRecord; var partsType = (int)templateId; while (partsType >= 10) { partsType /= 10; } // Check if its a code if (templateId < 300) { partRecord = new Code(); partRecord.Type = (byte)9; } // Check for weapon else if (partsType == 6 || partsType == 7 || partsType == 8) { partRecord = new Weapon(); partRecord.Type = (byte)partsType; } else { partRecord = new PartRecord(); partRecord.Type = (byte)partsType; } // Populate info partRecord.TemplateId = templateId; partRecord.Parameters = 1; partRecord.Color = Color.White; // Add to inventory user.Inventory.Parts.Add(partRecord); //db.Parts.Add(part); } // Save to DB db.SaveChanges(); } GetClient().UpdateUserFromDatabase(); // Send result GetClient().SendPacket(new BuyListResult(GetClient().User)); }