示例#1
0
        public decimal GetBalance(ulong steamid)
        {
            uint     Single   = Uconomy.Instance.GetSingle(steamid);
            Uconomys uconomys = Uconomy.Db.Queryable <Uconomys>().InSingle(Single);

            Uconomy.Instance.OnBalanceChecked(steamid.ToString(), uconomys.balance);
            return(uconomys.balance);
        }
示例#2
0
        public decimal IncreaseBalance(ulong steamid, decimal increaseBy)
        {
            uint     Single   = Uconomy.Instance.GetSingle(steamid);
            Uconomys uconomys = Uconomy.Db.Queryable <Uconomys>().InSingle(Single);

            uconomys.balance += increaseBy;
            Uconomy.Db.Updateable(uconomys).ExecuteCommand();
            Uconomy.Instance.BalanceUpdated(steamid.ToString(), increaseBy);
            return(uconomys.balance);
        }
示例#3
0
        private void Events_OnPlayerConnected(UnturnedPlayer player)
        {
            uint     user_id  = PlayerLibrary.PlayerLibrary.GetPlayerIndexByCSteam(player.CSteamID.m_SteamID);
            Uconomys uconomys = Db.Queryable <Uconomys>().Where(it => it.player == user_id).First();

            if (uconomys == null)
            {
                uconomys = new Uconomys(user_id);
                uconomys = Db.Insertable(uconomys).ExecuteReturnEntity();
            }
            Cache.Add(player.CSteamID.m_SteamID, uconomys.Id);
        }
示例#4
0
        public decimal IncreaseBalance(uint Player_Id, decimal increaseBy)
        {
            Uconomys uconomys    = Uconomy.Db.Queryable <Uconomys>().Where(it => it.player == Player_Id).First();
            decimal  old_balance = uconomys.balance;

            if (increaseBy < 0)
            {
                uconomys.balance = uconomys.balance <= increaseBy ? 0 : uconomys.balance - increaseBy;
            }
            else
            {
                uconomys.balance += increaseBy;
            }
            if (old_balance == uconomys.balance)
            {
                return(uconomys.balance);
            }
            Uconomy.Db.Updateable(uconomys).ExecuteCommand();
            return(uconomys.balance);
        }
示例#5
0
 public uint GetSingle(ulong steamid)
 {
     if (Cache.TryGetValue(steamid, out uint single))
     {
         return(single);
     }
     else
     {
         uint     user_id  = PlayerLibrary.PlayerLibrary.GetPlayerIndexByCSteam(steamid);
         Uconomys uconomys = Db.Queryable <Uconomys>().Where(it => it.player == user_id).First();
         if (uconomys != null)
         {
             Cache.Add(steamid, uconomys.Id);
             return(uconomys.Id);
         }
         else
         {
             uconomys = new Uconomys(user_id);
             uconomys = Db.Insertable(uconomys).ExecuteReturnEntity();
             Cache.Add(steamid, uconomys.Id);
             return(uconomys.Id);
         }
     }
 }