public int CompareTo(object other)
{
GameResource rsx;
if (other is GameResource)
rsx = other as GameResource;
else
throw new ArgumentException("Object is not of type \"GameResource\"");
if (this.Location == Location.Local && rsx.Location != Location.Local)
return -1;
if (this.Location == Location.RTP && rsx.Location == Location.Local)
return 1;
return String.Compare(this.Name, rsx.Name, StringComparison.Ordinal);
}