public GDEtownBuildingData DeepClone()
        {
            GDEtownBuildingData newClone = ShallowClone();

            newClone.NPC = NPC.DeepClone();
            return(newClone);
        }
        public GDEtownBuildingData ShallowClone()
        {
            string newKey = Guid.NewGuid().ToString();
            GDEtownBuildingData newClone = new GDEtownBuildingData(newKey);

            newClone.level = level;
            newClone.id    = id;

            newClone.NPC = NPC;

            return(newClone);
        }