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; } } }
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); } }
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); } }