예제 #1
0
파일: db.cs 프로젝트: eveJiang/MMORPG
        public List <MarketTreasure> GetMyMarket(int dbid, NpgsqlConnection conn)
        {
            Console.WriteLine("GetMarket()");
            var cmd = new NpgsqlCommand(string.Format("select * from market where owner_id={0};", dbid), conn);
            List <MarketTreasure> market = new List <MarketTreasure>();
            var reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                MarketTreasure result = new MarketTreasure
                {
                    id       = Convert.ToInt32(reader["id"]),
                    name     = Convert.ToString(reader["name"]),
                    value    = Convert.ToInt32(reader["value"]),
                    type     = Convert.ToChar(reader["type"]),
                    effect   = Convert.ToChar(reader["effect"]),
                    status   = Convert.ToChar(reader["status"]),
                    price    = Convert.ToInt32(reader["price"]),
                    owner_id = Convert.ToInt32(reader["owner_id"]),
                    coinType = Convert.ToBoolean(reader["coinType"])
                };
                Console.WriteLine(string.Format("GetMyMarket: {0}", result.id));
                market.Add(result);
            }
            reader.Close();
            return(market);
        }
예제 #2
0
파일: db.cs 프로젝트: eveJiang/MMORPG
        public void MarketSell(MarketTreasure item, NpgsqlConnection conn)
        {
            Console.WriteLine("MarketSell");
            NpgsqlTransaction tr = conn.BeginTransaction();

            using (var cmd = conn.CreateCommand())
            {
                cmd.CommandText = "delete from treasure where id = @id;";
                cmd.Parameters.AddWithValue("id", item.id);
                cmd.Transaction = tr;
                cmd.ExecuteScalar();
            }
            using (var cmd = conn.CreateCommand())
            {
                cmd.CommandText = "insert into \"market\"(name, type, effect, value, price, status, owner_id, id, coinType) values(@name, @type, @effect, @value, @price, @status, @owner_id, @id, @coinType);";
                cmd.Parameters.AddWithValue("name", item.name);
                cmd.Parameters.AddWithValue("type", item.type);
                cmd.Parameters.AddWithValue("effect", item.effect);
                cmd.Parameters.AddWithValue("value", item.value);
                cmd.Parameters.AddWithValue("price", item.price);
                cmd.Parameters.AddWithValue("status", '3');
                cmd.Parameters.AddWithValue("owner_id", item.owner_id);
                cmd.Parameters.AddWithValue("id", item.id);
                cmd.Parameters.AddWithValue("coinType", item.coinType);
                cmd.Transaction = tr;
                cmd.ExecuteScalar();
            }
            Console.WriteLine(string.Format("{0}, {1}, {2}", item.id, item.name, item.owner_id));
            tr.Commit();
        }
예제 #3
0
파일: db.cs 프로젝트: eveJiang/MMORPG
        public List <MarketTreasure> GetMarket(NpgsqlConnection conn)
        {
            Console.WriteLine("GetMarket()");
            List <MarketTreasure> market = new List <MarketTreasure>();

            using (var cmd = conn.CreateCommand())
            {
                cmd.CommandText = "select * from market;";
                var reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    MarketTreasure result = new MarketTreasure
                    {
                        id       = Convert.ToInt32(reader["id"]),
                        name     = Convert.ToString(reader["name"]),
                        value    = Convert.ToInt32(reader["value"]),
                        type     = Convert.ToChar(reader["type"]),
                        effect   = Convert.ToChar(reader["effect"]),
                        status   = Convert.ToChar(reader["status"]),
                        price    = Convert.ToInt32(reader["price"]),
                        owner_id = Convert.ToInt32(reader["owner_id"]),
                        coinType = Convert.ToBoolean(reader["coinType"])
                    };
                    Console.WriteLine(result.id);
                    market.Add(result);
                }
                reader.Close();
            }
            return(market);
        }
예제 #4
0
 public void setMView(MarketTreasure a)
 {
     mview.id       = a.id;
     mview.name     = a.name;
     mview.owner_id = a.owner_id;
     mview.name     = a.name;
     mview.value    = a.value;
     mview.price    = a.price;
     mview.type     = a.type;
     mview.effect   = a.effect;
     mview.status   = a.status;
     mview.coinType = a.coinType;
 }
예제 #5
0
파일: db.cs 프로젝트: eveJiang/MMORPG
        public void MarketChange(MarketTreasure item, NpgsqlConnection conn)
        {
            Console.WriteLine("MarketChange");
            NpgsqlTransaction tr = conn.BeginTransaction();
            var cmd1             = new NpgsqlCommand(string.Format("delete from market where id = {0};", item.id), conn);
            var cmd2             = new NpgsqlCommand(string.Format("insert into \"market\"(name, type, effect, value, price, status, owner_id, id, coinType) values('{0}','{1}','{2}',{3}, {4},'{5}',{6}, {7}, {8});",
                                                                   item.name, item.type, item.effect, item.value, item.price, '3', item.owner_id, item.id, item.coinType), conn);

            Console.WriteLine(string.Format("{0}, {1}, {2}, {3}", item.id, item.name, item.owner_id, item.price));
            cmd1.Transaction = tr;
            cmd1.ExecuteScalar();
            cmd2.Transaction = tr;
            cmd2.ExecuteScalar();
            tr.Commit();
        }
예제 #6
0
    public bool coinType = false; // false - silver, true - gold
    public void onClickSale()
    {
        int            price = int.Parse(GetComponentInChildren <InputField>().text);
        MarketTreasure item  = new MarketTreasure
        {
            owner_id = World.Instance.selfDbid,
            id       = World.Instance.view.id,
            name     = World.Instance.view.name,
            type     = World.Instance.view.type,
            effect   = World.Instance.view.effect,
            value    = World.Instance.view.value,
            price    = price,
            status   = '3',
            coinType = coinType
        };
        CMarketMessage msgSell = new CMarketMessage
        {
            option = "change",
            items  = new List <MarketTreasure>()
        };

        World.Instance.mview.price = price;
        msgSell.items.Add(World.Instance.mview);
        if (World.Instance.view.status != '2')
        {
            Client.Instance.Send(msgSell);
            World.Instance.myinventory.Remove(World.Instance.view);
            World.Instance.view.status = '3';
            MarketTreasure insert = new MarketTreasure();
            insert.id       = World.Instance.view.id;
            insert.owner_id = World.Instance.selfId;
            insert.name     = World.Instance.view.name;
            insert.value    = World.Instance.view.value;
            insert.price    = price;
            insert.type     = World.Instance.view.type;
            insert.effect   = World.Instance.view.effect;
            insert.status   = World.Instance.view.status;
            insert.coinType = coinType;
            World.Instance.mymarket.Add(insert);
        }
        else
        {
            MessageBox.Show("Please unload before selling");
        }
    }
예제 #7
0
    public void Init(MarketTreasure treasure)
    {
        itemName = treasure.name;
        item     = treasure;
        Sprite sprite;
        Image  coinType;

        if (button == null || textName == null || textCost == null)
        {
            return;
        }
        if (!GetAllIcons.icons.TryGetValue(item.name, out sprite))
        {
            return;
        }
        button.image.sprite = sprite;
        textName.text       = item.name;
        textCost.text       = "$" + treasure.price.ToString();
        coinType            = GetComponentInChildren <Image>();
        // coinType setimage treasure.coinType
    }
예제 #8
0
 public void AddToMarketCart(MarketTreasure treasure)
 {
     market_items.Add(treasure);
     AddToCart(treasure.name, treasure.price, false);
 }
예제 #9
0
파일: db.cs 프로젝트: eveJiang/MMORPG
 public void Withdraw(MarketTreasure t)
 {
 }