I had the same problem but I saw the package code has been updated, so I applied the same solution to the last version of the package (for Unity 2019.2.0f1). I've put it here in case anyone needs it: https://github.com/Scorpin/RuleTiles-differentiating-between-another-tile-and-empty
Most relevant parts of the added code:
In RuleTile.cs added the new type of neighbor, at line 57 (class Neighbor):
public const int Empty = 3;
And how manage it (more basic implementation of RuleMatch):
Change at 413 to:
case TilingRule.Neighbor.NotThis: return (tile != m_Self && tile != null);
And adding after:
case TilingRule.Neighbor.Empty: return tile == null;
In RuleTileEditor.cs, added the icon at line 28:
private const string s_OtherTile = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAABNmlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarY6xSsNQFEDPi6LiUCsEcXB4kygotupgxqQtRRCs1SHJ1qShSmkSXl7VfoSjWwcXd7/AyVFwUPwC/0Bx6uAQIYODCJ7p3MPlcsGo2HWnYZRhEGvVbjrS9Xw5+8QMUwDQCbPUbrUOAOIkjvjB5ysC4HnTrjsN/sZ8mCoNTIDtbpSFICpA/0KnGsQYMIN+qkHcAaY6addAPAClXu4vQCnI/Q0oKdfzQXwAZs/1fDDmADPIfQUwdXSpAWpJOlJnvVMtq5ZlSbubBJE8HmU6GmRyPw4TlSaqo6MukP8HwGK+2G46cq1qWXvr/DOu58vc3o8QgFh6LFpBOFTn3yqMnd/n4sZ4GQ5vYXpStN0ruNmAheuirVahvAX34y/Axk/96FpPYgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6AAAUggAARVYAAA6lwAAF2/XWh+QAAAAdElEQVR42qyTOxKAIAxEWcbCK1B5/2NZcQW7ZwMNMCROTMM3S/YBAlIkjt3iJT29f8P5SUASdRgDGvdlK7m0trZ5U2BMBrQTySkYEwNA/ZSV56li6xpXltwWrGQ3g7KxE4boYrCDGa7ABXH1An+zoOh3fgcAkVNC6ZGUg/8AAAAASUVORK5CYII=";
Added to the array of textures at 47 (and changed the number of items of the array to 11 in the line 37):
s_Arrows[10] = Base64ToTexture(s_OtherTile);
And to finish, moved the "NotThis" GUI to the item 10 in the array, so we can add the "Empty" and use for it the icon number 9, at line 198, like this:
case RuleTile.TilingRule.Neighbor.NotThis:
GUI.DrawTexture(rect, arrows[10]);
break;
case RuleTile.TilingRule.Neighbor.Empty:
GUI.DrawTexture(rect, arrows[9]);
break;
And that's all :)
Thank you very much for your solution Alexander :)