Exemple #1
0
        private void OnRecvBuyGold(IChannel channel, Message message)
        {
            SBuyGoldResult msg   = message as SBuyGoldResult;
            string         goods = msg.goodsName;

            MessageBox.Show("OnRecvBuyGold: " + goods + " " + msg.success);
            if (msg.success)
            {
                PlayerInfo.GoldNum -= TreasureInfo.treasureMall[goods].price;

                TreasurePackage tmp = new TreasurePackage()
                {
                    number = 1, wear = false
                };
                TreasureInfo.playerTreasure.Add(goods, tmp);

                if (TreasureInfo.treasureMall.ContainsKey(goods))
                {
                    TreasureInfo.treasureMall.Remove(goods);
                }
            }
            else
            {
                MessageBox.Show("Buy " + goods + " failure");
            }
        }
Exemple #2
0
    public void ClickSure()
    {
        Debug.Log(itemName);
        // remove from mall and put in package
        TreasureInfo.treasureMall.Remove(itemName);
        TreasurePackage tmp = new TreasurePackage()
        {
            wear   = false,
            number = 1
        };

        TreasureInfo.playerTreasure.Add(itemName, tmp);
        foreach (var kv in TreasureInfo.playerTreasure)
        {
            Debug.Log(kv.Key);
        }

        // put item back to inventory
        if (handler != null)
        {
            Debug.Log("refresh sell window");
            handler.Refresh();
        }


        // send message
        CNotSell msg = new CNotSell()
        {
            goodsName = itemName
        };

        MyNetwork.Send(msg);
    }
Exemple #3
0
    public void OnClickBuy()
    {
        // varify whether has enough money to buy
        if (PlayerInfo.GoldNum >= totalGold && PlayerInfo.SilverNum >= totalSilver)
        {
            PlayerInfo.SilverNum -= totalSilver;

            CBuy buyMessage = new CBuy()
            {
                totalGold   = totalGold,
                totalSilver = totalSilver,
                Goods       = new List <DTreasureBuy>()
            };

            foreach (string GoldName in GoldGoods)
            {
                buyMessage.Goods.Add(new DTreasureBuy()
                {
                    name = GoldName, type = 0
                });
            }

            foreach (var kv in SilverGoods)
            {
                string sliverName = kv.Key;
                int    sliverNum  = kv.Value;
                if (TreasureInfo.playerTreasure.ContainsKey(sliverName))
                {
                    TreasureInfo.playerTreasure[sliverName].number += sliverNum;
                    buyMessage.Goods.Add(new DTreasureBuy()
                    {
                        name = sliverName, number = TreasureInfo.playerTreasure[sliverName].number, type = 2
                    });
                }
                else
                {
                    TreasurePackage tmp = new TreasurePackage()
                    {
                        number = sliverNum, wear = false
                    };
                    TreasureInfo.playerTreasure.Add(sliverName, tmp);
                    buyMessage.Goods.Add(new DTreasureBuy()
                    {
                        name = sliverName, number = sliverNum, type = 1
                    });
                }
            }
            MyNetwork.Send(buyMessage);

            cleanCache();
        }
        else
        {
            MessageBox.Show("don't have enough money!");
        }
    }
Exemple #4
0
        public TreasureMapEntry(TreasureMap map) : base(map.Facet, new Point3D(map.ChestLocation.X, map.ChestLocation.Y, 0), map.Level)
        {
            Completed   = map.Completed;
            CompletedBy = map.CompletedBy;
            Decoder     = map.Decoder;
            NextReset   = map.NextReset;
            Package     = map.Package;

            if (map is HiddenTreasuresTreasureMap)
            {
                QuestItem = true;
            }
        }
Exemple #5
0
        public TreasureMapEntry(GenericReader reader) : base(reader)
        {
            int v = reader.ReadInt();

            switch (v)
            {
            case 1:
                Package = (TreasurePackage)reader.ReadInt();
                goto case 0;

            case 0:
                Completed   = reader.ReadBool();
                CompletedBy = reader.ReadMobile();
                Decoder     = reader.ReadMobile();
                NextReset   = reader.ReadDateTime();
                break;
            }

            if (v == 0)
            {
                Package = (TreasurePackage)Utility.RandomMinMax(0, 4);
            }
        }