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))); }
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); }
internal async Task NotifySlotChanged(SlotArea slotArea, IPlayer player, int slotIndex, Slot item) { await GetPlayerPacketGenerator(player) .SetSlot(await GetWindowId(player), (short)LocalSlotIndexToGlobal(slotArea, slotIndex), item); }