示例#1
0
    //public static Item_Item ActiveItem;

    public static void SetActiveShop(Shop_Shop Shop)
    {
        if (ActiveShop != ShopData.GetData(Shop))
        {
            ActiveShop = ShopData.GetData(Shop);
        }
    }
示例#2
0
    private void OnBuySkill(ButtonScript obj, object args, int param1, int param2)
    {
        ShopData sd = ShopData.GetData(int.Parse(obj.name));

        if (sd == null)
        {
            return;
        }
        if (GamePlayer.Instance.GetIprop(PropertyType.PT_EmployeeCurrency) < sd._Price)
        {
            PopText.Instance.Show(LanguageManager.instance.GetValue("noybzx"));
            return;
        }
        string type = "";

        if (sd._ShopPayType == ShopPayType.SPT_Diamond)
        {
            type = LanguageManager.instance.GetValue("zuanshi");
        }
        else if (sd._ShopPayType == ShopPayType.SPT_Gold)
        {
            type = LanguageManager.instance.GetValue("jinbi");
        }
        //else if(sd._ShopPayType == ShopPayType.SPT_EmployeeCurrency)
        //	{
        //	type = LanguageManager.instance.GetValue("yongbingzhixin");
        //}



        MessageBoxUI.ShowMe(LanguageManager.instance.GetValue("shopbuyitem").Replace("{n}", sd._Name + sd._Num).Replace("{n1}", (sd._Price).ToString() + type), () => {
            NetConnection.Instance.shopBuyItem(int.Parse(obj.name), 1);
        });
    }
示例#3
0
    public void OrderOk(string orderId, int shopId)
    {
        Dictionary <string, string> map;
        GameParam param;

        ShopData sData = ShopData.GetData(shopId);

        map                            = new Dictionary <string, string>();
        map["Order_Id"]                = orderId;
        map["Product_Name"]            = sData == null? "": sData._Name;
        map["Currency_Amount"]         = sData == null? "": sData._Price.ToString();
        map["Currency_Type"]           = "CNY";
        map["Payment_Type"]            = Game.getInstance().getChannelId();
        map["Virtual_Currency_Amount"] = sData == null? "": sData._Num.ToString();
        param                          = new GameParam(map);
        GameAnalytics.getInstance().callFuncWithParam("onChargeRequest", param);

        //这里统计支付完成
        PopText.Instance.Show(LanguageManager.instance.GetValue("paySuccess"), PopText.WarningType.WT_Tip);
        param = new GameParam(orderId);
        GameAnalytics.getInstance().callFuncWithParam("onChargeSuccess", param);
        map                    = new Dictionary <string, string>();
        map["User_Id"]         = GamePlayer.Instance.InstId.ToString();
        map["Order_Id"]        = orderId;
        map["Currency_Amount"] = sData == null ? "" : sData._Price.ToString();
        map["Currency_Type"]   = "CNY";
        map["Payment_Type"]    = Game.getInstance().getChannelId();
        GameAdTracking.getInstance().onPay(map);
    }
示例#4
0
 public ShopDataController UpdateDatas()
 {
     for (int i = 0; i < length; i++)
     {
         shopProducts[i].shopValues = shopData.GetData(i);
     }
     return(this);
 }
示例#5
0
    public static void PayProduct(int shopId)
    {
        ShopData sData = ShopData.GetData(shopId);

        if (sData == null)
        {
            ClientLog.Instance.Log(" shot id is null ");
            return;
        }

        Dictionary <string, string> mProductionInfo = new Dictionary <string, string>();

        mProductionInfo["Product_Price"] = sData._Price.ToString();
        int Server_Id = GameManager.ServId_;

#if UNITY_IPHONE
        //GlobalValue.Get(Constant.C_IosPayServerId, out Server_Id);
        mProductionInfo["Product_Id"] = sData._IosShopid;
        mProductionInfo["Server_Id"]  = Server_Id.ToString();
#elif UNITY_ANDROID
        mProductionInfo["Product_Id"] = shopId.ToString();
        Debug.Log(" pay code : " + shopId.ToString());

        mProductionInfo["Server_Id"] = Server_Id.ToString();
#endif
        string payDes = sData._Name;
        if (GlobalValue.channelID.Equals("500002"))
        {
            payDes = sData._Id.ToString();
        }
        mProductionInfo["Product_Name"]  = payDes;
        mProductionInfo["Product_Count"] = "1";        //sData._Num.ToString();
        mProductionInfo["Role_Id"]       = GamePlayer.Instance.InstId.ToString();
        mProductionInfo["Role_Name"]     = GamePlayer.Instance.InstName;
        mProductionInfo["Role_Grade"]    = GamePlayer.Instance.GetIprop(PropertyType.PT_Level).ToString();
        mProductionInfo["Role_Balance"]  = GamePlayer.Instance.GetIprop(PropertyType.PT_MagicCurrency).ToString();
        mProductionInfo["Coin_Name"]     = LanguageManager.instance.GetValue("");
        mProductionInfo["Coin_Rate"]     = "10";
        mProductionInfo["Vip_Level"]     = GamePlayer.Instance.GetIprop(PropertyType.PT_VipLevel).ToString();
        mProductionInfo["Server_Name"]   = GameManager.ServName_;
        mProductionInfo["EXT"]           = "pay";

        List <string> idArrayList = game.GameIAP.getInstance().getPluginId();
        if (idArrayList == null)
        {
            ClientLog.Instance.Log(" idArrayList is null ");
            return;
        }
        if (idArrayList.Count == 1)
        {
            game.GameIAP.getInstance().payForProduct(mProductionInfo);
        }

        _PayInfo = new PayInfo();
        _PayInfo._ProductName = sData._Name;
        _PayInfo._PayPrice    = sData._Price.ToString();
        _PayInfo._PayVirtual  = sData._Num.ToString();
    }
示例#6
0
    void Start()
    {
        InitUIText();
        UIManager.SetButtonEventHandler(PlusBtn.gameObject, EnumButtonEvent.OnClick, OnClickPlus, 0, 0);
        UIManager.SetButtonEventHandler(MinusBtn.gameObject, EnumButtonEvent.OnClick, OnClickMinus, 0, 0);
        UIManager.SetButtonEventHandler(DetermineBtn.gameObject, EnumButtonEvent.OnClick, OnClicketermine, 0, 0);
        UIManager.SetButtonEventHandler(CancelBtn.gameObject, EnumButtonEvent.OnClick, OnClickCancel, 0, 0);

        UIManager.Instance.LoadMoneyUI(this.gameObject);

        SpData = ShopData.GetData(itemId_);
        gameObject.transform.localPosition = new Vector3(0, 0, -2000);
    }
示例#7
0
    public void OpenShopUI(Shop_Shop Shop)
    {
        if (Shop != Shop_Shop.none)
        {
            ShopData newShop = ShopData.GetData(Shop);

            if (ActiveShop != newShop)
            {
                ActiveShop = newShop;
            }

            UI_Components.UI.SetActive(true);
            UI_Components.Title.GetComponentInChildren <Text>().text = ActiveShop.Name;

            SetStock();
        }

        else
        {
            Debug.Log(Shop.ToString() + " has not been set");
        }
    }
示例#8
0
    void Start()
    {
        GamePlayer.Instance.shouChongEnvet    += new RequestEventHandler <bool> (OnShouChongEnvet);
        GamePlayer.Instance.getShouChongEnvet += new RequestEventHandler <bool> (OnGetShouChongEnvet);
        Item.SetActive(false);
        labelObj.gameObject.SetActive(false);
        foreach (int key in ShopData.metaData.Keys)
        {
            keys.Add(key);
        }
        for (int i = 0; i < keys.Count; i++)
        {
            ShopData sdata = ShopData.GetData(keys[i]);
            if (sdata._ShopType == ShopType.SIT_FirstRecharge)
            {
                shopDatas.Add(sdata);
            }
        }
        GlobalInstanceFunction.Instance.Invoke(InitItem, 0.1f);

        if (GamePlayer.Instance.isShouchong && !GamePlayer.Instance.isGetShouchong)
        {
            ChargeBtn.gameObject.SetActive(false);
            ReceiveBtn.gameObject.SetActive(true);
        }

        if (GamePlayer.Instance.isShouchong && GamePlayer.Instance.isGetShouchong)
        {
            labelObj.gameObject.SetActive(true);
            ChargeBtn.gameObject.SetActive(false);
            ReceiveBtn.gameObject.SetActive(false);
        }

        UIManager.SetButtonEventHandler(ChargeBtn.gameObject, EnumButtonEvent.OnClick, OnClickCharge, 0, 0);
        UIManager.SetButtonEventHandler(ReceiveBtn.gameObject, EnumButtonEvent.OnClick, OnClickReceive, 0, 0);
    }
示例#9
0
        private void RecieveServerCommand()
        {
            byte[] bytes      = ReadData(sizeof(int), _networkStream);
            int    packetSize = BitConverter.ToInt32(bytes, 0);

            bytes = ReadData(packetSize, _networkStream);
            ServerCommand command = ServerCommand.FromBytes(bytes);

            int             eventID;
            int             enemyID;
            int             enemyIndex;
            int             mapID;
            int             mapX;
            int             mapY;
            float           realX;
            float           realY;
            FacingDirection direction;
            MapData         map;
            int             projectileID;
            int             playerID;
            string          playerName;
            int             itemIndex;
            int             itemID;
            int             count;

            switch (command.GetCommandType())
            {
            case ServerCommand.CommandType.Disconnect:
                this.Disconnect();
                Console.WriteLine("Server Disconnected");
                break;

            case ServerCommand.CommandType.ShowMessage:

                if (_messageBox == null)
                {
                    _messageBox = new MessageBox((string)command.GetParameter("Message"), _gameState, false);
                    _gameState.AddControl(_messageBox);
                }

                break;

            case ServerCommand.CommandType.ShowOptions:

                if (_messageBox == null)
                {
                    string message = (string)command.GetParameter("Message");
                    _messageBox = new MessageBox(message, _gameState, false);
                    string[] options = ((string)command.GetParameter("Options")).Split(',');
                    for (int i = 0; i < options.Length; i++)
                    {
                        _messageBox.AddOption(options[i]);
                    }
                    _messageBox.SetSelectedOption(0);
                    _gameState.AddControl(_messageBox);
                }

                break;

            case ServerCommand.CommandType.AddMapEnemy:

                enemyID = (int)command.GetParameter("EnemyID");
                mapID   = (int)command.GetParameter("MapID");
                if (_gameState.MapEntity.FindComponent <MapComponent>().GetMapInstance().GetMapPacket().MapID == mapID)
                {
                    mapX = (int)command.GetParameter("MapX");
                    mapY = (int)command.GetParameter("MapY");
                    bool     onBridge = (bool)command.GetParameter("OnBridge");
                    MapEnemy mapEnemy = new MapEnemy(enemyID, mapX, mapY, onBridge);
                    MapComponent.Instance.AddMapEnemy(mapEnemy);
                }

                break;

            case ServerCommand.CommandType.UpdateMapEnemy:

                enemyIndex = (int)command.GetParameter("EnemyIndex");
                mapID      = (int)command.GetParameter("MapID");
                if ((_gameState.MapEntity.FindComponent <MapComponent>()).GetMapInstance().GetMapPacket().MapID == mapID)
                {
                    int HP = (int)command.GetParameter("HP");
                    mapX      = (int)command.GetParameter("MapX");
                    mapY      = (int)command.GetParameter("MapY");
                    realX     = (float)command.GetParameter("RealX");
                    realY     = (float)command.GetParameter("RealY");
                    direction = (FacingDirection)command.GetParameter("Direction");
                    bool onBridge = (bool)command.GetParameter("OnBridge");
                    bool dead     = (bool)command.GetParameter("Dead");
                    MapEnemyComponent enemyComponent = MapComponent.Instance.EnemyEntites[enemyIndex].FindComponent <MapEnemyComponent>();
                    enemyComponent.UpdateMapEnemy(HP, mapX, mapY, realX, realY, direction, onBridge, dead);

                    if (dead)
                    {
                        MapComponent.Instance.EnemyEntites[enemyIndex].Destroy();
                        MapComponent.Instance.EnemyEntites.RemoveAt(enemyIndex);
                        MapComponent.Instance.GetMapInstance().RemoveMapEnemy(enemyIndex);
                    }
                }

                break;

            case ServerCommand.CommandType.UpdateMapEvent:

                eventID = (int)command.GetParameter("EventID");
                mapID   = (int)command.GetParameter("MapID");
                if (_gameState.MapEntity.FindComponent <MapComponent>().GetMapInstance().GetMapPacket().MapID == mapID)
                {
                    mapX      = (int)command.GetParameter("MapX");
                    mapY      = (int)command.GetParameter("MapY");
                    realX     = (float)command.GetParameter("RealX");
                    realY     = (float)command.GetParameter("RealY");
                    direction = (FacingDirection)command.GetParameter("Direction");
                    bool onBridge = (bool)command.GetParameter("OnBridge");

                    map = _gameState.MapEntity.FindComponent <MapComponent>().GetMapInstance().GetMapData();
                    if (map != null)
                    {
                        map.GetMapEvent(eventID).MapX           = mapX;
                        map.GetMapEvent(eventID).MapY           = mapY;
                        map.GetMapEvent(eventID).RealX          = realX;
                        map.GetMapEvent(eventID).RealY          = realY;
                        map.GetMapEvent(eventID).EventDirection = direction;
                        map.GetMapEvent(eventID).OnBridge       = onBridge;
                    }
                }

                break;

            case ServerCommand.CommandType.ChangeMapEventDirection:

                eventID = (int)command.GetParameter("EventID");
                mapID   = (int)command.GetParameter("MapID");
                if (_gameState.MapEntity.FindComponent <MapComponent>().GetMapInstance().GetMapPacket().MapID == mapID)
                {
                    direction = (FacingDirection)command.GetParameter("Direction");

                    map = _gameState.MapEntity.FindComponent <MapComponent>().GetMapInstance().GetMapData();
                    if (map != null)
                    {
                        map.GetMapEvent(eventID).EventDirection = direction;
                    }
                }

                break;

            case ServerCommand.CommandType.ChangeMapEventSprite:

                mapID = (int)command.GetParameter("MapID");
                if (_gameState.MapEntity.FindComponent <MapComponent>().GetMapInstance().GetMapPacket().MapID == mapID)
                {
                    eventID = (int)command.GetParameter("EventID");
                    int spriteID = (int)command.GetParameter("SpriteID");
                    _gameState.MapEntity.FindComponent <MapComponent>().ChangeMapEventSprite(eventID, spriteID);
                }

                break;

            case ServerCommand.CommandType.ChangeMapEventRenderPriority:

                mapID = (int)command.GetParameter("MapID");
                if (_gameState.MapEntity.FindComponent <MapComponent>().GetMapInstance().GetMapPacket().MapID == mapID)
                {
                    eventID = (int)command.GetParameter("EventID");
                    RenderPriority priority = (RenderPriority)command.GetParameter("RenderPriority");
                    _gameState.MapEntity.FindComponent <MapComponent>().ChangeMapEventRenderPriority(eventID, priority);
                }

                break;

            case ServerCommand.CommandType.ChangeMapEventEnabled:

                mapID = (int)command.GetParameter("MapID");
                if (_gameState.MapEntity.FindComponent <MapComponent>().GetMapInstance().GetMapPacket().MapID == mapID)
                {
                    eventID = (int)command.GetParameter("EventID");
                    bool enabled = (bool)command.GetParameter("Enabled");
                    _gameState.MapEntity.FindComponent <MapComponent>().ChangeMapEventEnabled(eventID, enabled);
                }

                break;

            case ServerCommand.CommandType.AddProjectile:

                mapID = (int)command.GetParameter("MapID");
                if (_gameState.MapEntity.FindComponent <MapComponent>().GetMapInstance().GetMapPacket().MapID == mapID)
                {
                    {
                        int dataID = (int)command.GetParameter("DataID");
                        realX     = (float)command.GetParameter("RealX");
                        realY     = (float)command.GetParameter("RealY");
                        direction = (FacingDirection)command.GetParameter("Direction");
                        bool onBridge = (bool)command.GetParameter("OnBridge");

                        MapProjectile projectile = new MapProjectile(dataID, CharacterType.Player, -1, new Vector2(realX, realY), direction);
                        projectile.OnBridge = onBridge;
                        MapComponent.Instance.AddMapProjectile(projectile);
                    }
                }

                break;

            case ServerCommand.CommandType.UpdateProjectile:

                mapID = (int)command.GetParameter("MapID");
                if (_gameState.MapEntity.FindComponent <MapComponent>().GetMapInstance().GetMapPacket().MapID == mapID)
                {
                    projectileID = (int)command.GetParameter("ProjectileID");
                    if (projectileID < MapComponent.Instance.ProjectileEntites.Count)
                    {
                        realX = (float)command.GetParameter("RealX");
                        realY = (float)command.GetParameter("RealY");
                        bool onBridge  = (bool)command.GetParameter("OnBridge");
                        bool destroyed = (bool)command.GetParameter("Destroyed");
                        ProjectileComponent component = MapComponent.Instance.ProjectileEntites[projectileID].FindComponent <ProjectileComponent>();
                        component.SetRealPosition(realX, realY);
                        component.SetOnBridge(onBridge);
                        if (destroyed)
                        {
                            MapComponent.Instance.ProjectileEntites[projectileID].Destroy();
                            MapComponent.Instance.ProjectileEntites.RemoveAt(projectileID);
                            MapComponent.Instance.GetMapInstance().RemoveMapProjectile(projectileID);
                        }
                    }
                }

                break;

            case ServerCommand.CommandType.AddMapItem:

                mapID = (int)command.GetParameter("MapID");
                MapComponent mapComponent = _gameState.MapEntity.FindComponent <MapComponent>();
                if (mapComponent.GetMapInstance().GetMapPacket().MapID == mapID)
                {
                    itemID   = (int)command.GetParameter("ItemID");
                    count    = (int)command.GetParameter("Count");
                    mapX     = (int)command.GetParameter("MapX");
                    mapY     = (int)command.GetParameter("MapY");
                    playerID = (int)command.GetParameter("PlayerID");
                    bool    onBridge = (bool)command.GetParameter("OnBridge");
                    MapItem mapItem  = new MapItem(itemID, count, mapX, mapY, playerID, onBridge);
                    MapComponent.Instance.AddMapItem(mapItem);
                }

                break;

            case ServerCommand.CommandType.RemoveMapItem:

                mapID = (int)command.GetParameter("MapID");
                if (_gameState.MapEntity.FindComponent <MapComponent>().GetMapInstance().GetMapPacket().MapID == mapID)
                {
                    itemIndex = (int)command.GetParameter("ItemIndex");
                    if (itemIndex < MapComponent.Instance.MapItemEntities.Count)
                    {
                        MapComponent.Instance.MapItemEntities[itemIndex].Destroy();
                        MapComponent.Instance.MapItemEntities.RemoveAt(itemIndex);
                        MapComponent.Instance.GetMapInstance().RemoveMapItem(itemIndex);
                    }
                }

                break;

            case ServerCommand.CommandType.UpdateMapItem:

                mapID = (int)command.GetParameter("MapID");
                if (_gameState.MapEntity.FindComponent <MapComponent>().GetMapInstance().GetMapPacket().MapID == mapID)
                {
                    itemIndex = (int)command.GetParameter("ItemIndex");
                    if (itemIndex < MapComponent.Instance.MapItemEntities.Count)
                    {
                        playerID = (int)command.GetParameter("PlayerID");
                        count    = (int)command.GetParameter("Count");
                        MapComponent.Instance.MapItemEntities[itemIndex].FindComponent <MapItemComponent>().GetMapItem().PlayerID = playerID;
                        MapComponent.Instance.MapItemEntities[itemIndex].FindComponent <MapItemComponent>().GetMapItem().Count    = count;
                    }
                }

                break;

            case ServerCommand.CommandType.ShowShop:

                int      shopID = (int)command.GetParameter("ShopID");
                ShopData data   = ShopData.GetData(shopID);
                if (data != null)
                {
                    if (InventoryPanel.Instance == null)
                    {
                        GameState.Instance.ToggleInventory();
                    }
                    _gameState.AddControl(new GUI.ShopPanel(_gameState, data));
                }
                else
                {
                    AddClientCommand(new ClientCommand(ClientCommand.CommandType.CloseShop));
                }

                break;

            case ServerCommand.CommandType.TradeRequest:
                playerID   = (int)command.GetParameter("PlayerID");
                playerName = (string)command.GetParameter("PlayerName");
                MessagePanel.Instance.AddMessage(playerName + " would like to trade.");

                break;

            case ServerCommand.CommandType.StartTrade:
                playerID   = (int)command.GetParameter("PlayerID");
                playerName = (string)command.GetParameter("PlayerName");

                if (InventoryPanel.Instance == null)
                {
                    GameState.Instance.ToggleInventory();
                }

                _gameState.AddControl(new GUI.TradePanel(_gameState, playerID, playerName));
                break;

            case ServerCommand.CommandType.AcceptTrade:
                if (TradePanel.Instance != null)
                {
                    TradePanel.Instance.TradeRequest.TradeOffer2.Accepted = true;
                }
                break;

            case ServerCommand.CommandType.EndTrade:
                if (TradePanel.Instance != null)
                {
                    TradePanel.Instance.Close();
                }
                break;

            case ServerCommand.CommandType.AddTradeItem:
                itemID = (int)command.GetParameter("ItemID");
                count  = (int)command.GetParameter("Count");

                if (TradePanel.Instance != null)
                {
                    TradePanel.Instance.TradeRequest.TradeOffer2.AddItem(itemID, count);
                    TradePanel.Instance.TradeRequest.TradeOffer1.Accepted = false;
                    TradePanel.Instance.TradeRequest.TradeOffer2.Accepted = false;
                }

                break;

            case ServerCommand.CommandType.RemoveTradeItem:
                itemIndex = (int)command.GetParameter("ItemIndex");
                count     = (int)command.GetParameter("Count");

                if (TradePanel.Instance != null)
                {
                    TradePanel.Instance.TradeRequest.TradeOffer2.RemoveItem(itemIndex, count);
                    TradePanel.Instance.TradeRequest.TradeOffer1.Accepted = false;
                    TradePanel.Instance.TradeRequest.TradeOffer2.Accepted = false;
                }

                break;

            case ServerCommand.CommandType.CantTrade:
                if (TradePanel.Instance != null)
                {
                    TradePanel.Instance.TradeRequest.TradeOffer1.Accepted = false;
                    TradePanel.Instance.TradeRequest.TradeOffer2.Accepted = false;
                }
                break;

            case ServerCommand.CommandType.OpenBank:
                if (InventoryPanel.Instance == null)
                {
                    GameState.Instance.ToggleInventory();
                }

                _gameState.AddControl(new BankPanel(_gameState));

                break;

            case ServerCommand.CommandType.ShowWorkbench:
                int workbenchID = (int)command.GetParameter("WorkbenchID");

                if (InventoryPanel.Instance == null)
                {
                    GameState.Instance.ToggleInventory();
                }

                _gameState.AddControl(new GUI.WorkbenchPanel(_gameState, workbenchID));

                break;
            }
        }