public static Vector3 MoveCreatureTo(this CreatureBoardAsset asset, Vector3 dropPosition) { if (dropPosition.y < 0) { dropPosition = new Vector3(dropPosition.x, 0, dropPosition.z); } float dropOffset = 0; if (!asset.IsFlying) { dropPosition = Board.GetFloorPositionClosestTo(dropPosition); dropOffset = 0.5f; } float height = dropPosition.y + dropOffset; asset.Drop(dropPosition, height); return(dropPosition); }