private void targetItem_OnUserWalksOffFurni(object sender, UnitWalksOnArgs e) { if (requiredCycles > 0) { UnitWalksFurniValue obj = new UnitWalksFurniValue(e.user, (RoomItem)sender); lock (requestQueue.SyncRoot) { requestQueue.Enqueue(obj); } handler.RequestCycle(this); } else { handler.RequestStackHandle(item.Coordinate, (RoomItem)sender, e.user, Games.Team.none); handler.OnEvent(item.Id); } }
public bool OnCycle() { if (currentCycle > requiredCycles) { if (requestQueue.Count > 0) { lock (requestQueue.SyncRoot) { while (requestQueue.Count > 0) { UnitWalksFurniValue obj = (UnitWalksFurniValue)requestQueue.Dequeue(); handler.RequestStackHandle(item.Coordinate, obj.item, obj.unit, Games.Team.none); } } handler.OnEvent(item.Id); } return(false); } else { currentCycle++; return(true); } }
private void targetItem_OnUserWalksOnFurni(object sender, UnitWalksOnArgs e) { currentCycle = 0; if (requiredCycles > 0) { UnitWalksFurniValue obj = new UnitWalksFurniValue(e.user, (RoomItem)sender); lock (requestQueue.SyncRoot) { requestQueue.Enqueue(obj); } handler.RequestCycle(this); } else { handler.RequestStackHandle(item.Coordinate, (RoomItem)sender, e.user, Games.Team.none); handler.OnEvent(item.Id); } }