public bool UnLinkRP(short MapIndex, short sRPIdx1, short sRPIdx2)
    {
        GxRP rP = this.GetRP(MapIndex, (int)sRPIdx1);

        if (rP == null)
        {
            return(false);
        }
        GxRP rP2 = this.GetRP(MapIndex, (int)sRPIdx2);

        if (rP2 == null)
        {
            return(false);
        }
        rP.DelLinkedRP(sRPIdx2);
        rP2.DelLinkedRP(sRPIdx1);
        return(true);
    }
    public bool _EraseRP(short MapIndex, short nRoadPointIndex)
    {
        GxRP rP = this.GetRP(MapIndex, (int)nRoadPointIndex);

        if (rP == null)
        {
            return(false);
        }
        for (int i = 0; i < rP.GetLinkedCount(); i++)
        {
            GxRP rP2 = this.GetRP(MapIndex, (int)rP.GetLinkedRP(i));
            if (rP2 != null)
            {
                rP2.DelLinkedRP(nRoadPointIndex);
            }
        }
        rP.ClearData();
        rP.SetData(nRoadPointIndex, MapIndex, Vector3.zero);
        return(true);
    }