Esempio n. 1
0
        internal Task BroadcastSlotChanged(SlotArea slotArea, int slotIndex, Slot item)
        {
            var globalIndex = (short)LocalSlotIndexToGlobal(slotArea, slotIndex);

            async Task SendSetSlot(IPlayer player)
            {
                var id = await GetWindowId(player);

                await GetPlayerPacketGenerator(player).SetSlot(id, globalIndex, item);
            }

            return(Task.WhenAll(from p in _players select SendSetSlot(p)));
        }
Esempio n. 2
0
        protected int LocalSlotIndexToGlobal(SlotArea slotArea, int slotIndex)
        {
            for (int i = 0; i < SlotAreas.Count; i++)
            {
                if (SlotAreas[i] == slotArea)
                {
                    break;
                }
                slotIndex += SlotAreas[i].SlotsCount;
            }

            return(slotIndex);
        }
Esempio n. 3
0
 internal async Task NotifySlotChanged(SlotArea slotArea, IPlayer player, int slotIndex, Slot item)
 {
     await GetPlayerPacketGenerator(player)
     .SetSlot(await GetWindowId(player), (short)LocalSlotIndexToGlobal(slotArea, slotIndex), item);
 }