private static void DrawOperationCallback( Player player, Vector3I[] marks, object tag )
{
DrawOperation operation = ( DrawOperation )tag;
if ( operation.Prepare( marks ) ) {
if ( !player.CanDraw( operation.BlocksTotalEstimate ) ) {
player.Message( "You are only allowed to run draw commands that affect up to {0} blocks. This one would affect {1} blocks.", new object[] { player.Info.Rank.DrawLimit, operation.Bounds.Volume } );
operation.Cancel();
} else {
player.Message( "{0}: Processing ~{1} blocks.", new object[] { operation.Description, operation.BlocksTotalEstimate } );
operation.Begin();
}
}
}