コード例 #1
0
ファイル: ItemTaken.cs プロジェクト: SergeAlekseev/PUBGEXACT
        public override void Process(ModelServer Model)
        {
            for (int i = 1; i < Model.ListUsers[num].Items.Length; i++)
            {
                if (Model.ListUsers[num].Items[i].Name == null)
                {
                    Model.ListUsers[num].Items[i] = item;                     //Кладём вещь игроку

                    lock (Model.Map.ListItems)
                    {
                        for (int j = 0; j < Model.Map.ListItems.Count; j++)
                        {
                            if (Model.Map.ListItems[j].IdItem == item.IdItem)
                            {
                                Model.Map.ListItems.RemoveAt(j);                                                                                                                       //Удаляем вещь с карты
                            }
                        }
                    }

                    foreach (NetworkStream nStream in Model.ListNs)                     //Даём актуальную инфу всем игрокам об удалённом с карты предмете
                    {
                        GetInfoItems items = new GetInfoItems();
                        items.listItems = Model.Map.ListItems;
                        CTransfers.Writing(items, nStream);
                    }
                    break;
                }
            }
        }
コード例 #2
0
        public override void Process(ModelServer Model)
        {
            foreach (Item item in items)
            {
                for (int i = 1; i <= Model.ListUsers[num].Items.Length; i++)
                {
                    if (Model.ListUsers[num].Items[i].IdItem == item.IdItem)
                    {
                        Item voidItem = new Item();
                        Model.ListUsers[num].Items[i] = voidItem;                         //Удаляем вещь из инвентаря игрока
                        voidItem.IdItem = -1;
                        item.Location   = itemLocation;
                        lock (Model.Map.ListItems)
                        {
                            Model.Map.ListItems.Add(item);                             //Добавляем вещь на карту
                        }

                        break;
                    }
                }
                itemLocation.X += 25;
            }
            foreach (NetworkStream nStream in Model.ListNs)             //Даём актуальную инфу всем игрокам об удалённом с карты предмете
            {
                GetInfoItems items = new GetInfoItems();
                items.listItems = Model.Map.ListItems;
                CTransfers.Writing(items, nStream);
            }
        }
コード例 #3
0
        public bool SendingInformationAboutObjects(int num)        //игра
        {
            try
            {
                GetNumber gNumber = new GetNumber();
                gNumber.num = model.number;
                GetBushesInfo bushesInfo = new GetBushesInfo();
                bushesInfo.listBush = model.Map.ListBush;
                GetMapBordersInfo bordersInfo = new GetMapBordersInfo();
                bordersInfo.rectangle = model.Map.MapBorders;
                GetBoxesInfo boxesInfo = new GetBoxesInfo();
                boxesInfo.listBox = model.Map.ListBox;
                GetInfoItems itemsInfo = new GetInfoItems();
                itemsInfo.listItems = model.Map.ListItems;
                GetTreesInfo treesInfo = new GetTreesInfo();
                treesInfo.listTree = model.Map.ListTrees;

                CTransfers.Writing(gNumber, model.ListNs[num]);
                Thread.Sleep(100);
                CTransfers.Writing(bushesInfo, model.ListNs[num]);                // Отправка инфы о кустах
                Thread.Sleep(100);
                CTransfers.Writing(bordersInfo, model.ListNs[num]);               //Инфа о границах карты
                Thread.Sleep(100);
                CTransfers.Writing(boxesInfo, model.ListNs[num]);                 // Отправка инфы о коробках
                Thread.Sleep(100);
                CTransfers.Writing(treesInfo, model.ListNs[num]);                 // Отправка инфы о деревьях
                Thread.Sleep(100);
                CTransfers.Writing(itemsInfo, model.ListNs[num]);                 // Отправка инфы о вещах
                return(true);
            }
            catch (Exception) { return(false); }
        }