public virtual BlockEvent Pickup() { var pickup = new BlockEvent(World.Environment, TriggerDropoff, CancelPick); PickupQueue.AddLast(pickup); TriggerPickup(); return(pickup); }
public virtual BlockEvent Dropoff(IBlock block) { var dropoff = new BlockEvent(World.Environment, TriggerPickup, CancelDrop) { Block = block }; DropoffQueue.AddLast(dropoff); TriggerDropoff(); return(dropoff); }