示例#1
0
 public void IgnoreAccount(DbAccount acc, int lockId)
 {
     try
     {
         List <int> x = acc.Ignored.ToList();
         if (!x.Contains(lockId))
         {
             x.Add(lockId);
             int[] result = x.ToArray();
             acc.Ignored = result;
             acc.Flush();
             acc.Reload();
         }
         else
         {
             x.Remove(lockId);
             int[] result = x.ToArray();
             acc.Ignored = result;
             acc.Flush();
             acc.Reload();
         }
     }
     catch
     {
         List <int> x = new List <int>();
         x.Add(lockId);
         int[] result = x.ToArray();
         acc.Ignored = result;
         acc.Flush();
         acc.Reload();
     }
 }
示例#2
0
        public void AddPackage(DbAccount acc, int package)
        {
            List <int> packageList = acc.PurchasedPackages.ToList();

            packageList.Add(package);
            int[] result = packageList.ToArray();
            acc.PurchasedPackages = result;
            acc.Flush();
            acc.Reload();
        }
示例#3
0
        public void AddMysteryBox(DbAccount acc, int box)
        {
            List <int> boxList = acc.PurchasedBoxes.ToList();

            boxList.Add(box);
            int[] result = boxList.ToArray();
            acc.PurchasedBoxes = result;
            acc.Flush();
            acc.Reload();
        }
示例#4
0
        public void AddSkin(DbAccount acc, int skin)
        {
            List <int> skinList = acc.OwnedSkins.ToList();

            skinList.Add(skin);
            int[] result = skinList.ToArray();
            acc.OwnedSkins = result;
            acc.Flush();
            acc.Reload();
        }
示例#5
0
 public void UpdateTokens(DbAccount acc, int amount)
 {
     if (amount > 0)
     {
         WaitAll(Hashes.Increment(0, acc.Key, "fortuneTokens", amount));
     }
     else
     {
         Hashes.Increment(0, acc.Key, "fortuneTokens", amount).Wait();
     }
     acc.Flush();
     acc.Reload();
 }
示例#6
0
 public void UpdateFame(DbAccount acc, int amount)
 {
     if (amount > 0)
     {
         WaitAll(
             Hashes.Increment(0, acc.Key, "totalFame", amount),
             Hashes.Increment(0, acc.Key, "fame", amount));
     }
     else
     {
         Hashes.Increment(0, acc.Key, "fame", amount).Wait();
     }
     acc.Flush();
     acc.Reload();
 }
示例#7
0
        public void ChangeClassAvailability(DbAccount acc, EmbeddedData data, ushort type)
        {
            int price;

            if (acc.Credits < (price = data.ObjectDescs[type].UnlockCost))
            {
                return;
            }

            Hashes.Set(0, $"classAvailability.{acc.AccountId}", type.ToString(),
                       JsonConvert.SerializeObject(new DbClassAvailabilityEntry()
            {
                Id         = data.ObjectTypeToId[type],
                Restricted = "unrestricted"
            }));
            UpdateCredit(acc, -price);
            acc.Flush();
            acc.Reload();
        }
示例#8
0
 public void BanAccount(DbAccount acc)
 {
     Hashes.Set(0, acc.Key, "banned", "1");
     acc.Flush();
     acc.Reload();
 }
示例#9
0
 public void UnmuteAccount(DbAccount acc)
 {
     Hashes.Set(0, acc.Key, "muted", "0");
     acc.Flush();
     acc.Reload();
 }
示例#10
0
 public void VerifyAge(DbAccount acc)
 {
     Hashes.Set(0, acc.Key, "isAgeVerified", "1");
     acc.Flush();
     acc.Reload();
 }