public static bool Prefix(WholeMapViewer __instance, ref MapIconData iconData, ref MapIconInfo icon) { if (!enabled) { return(true); } if (iconData.CurIcon is PresetIcon && (iconData.CurIcon as PresetIcon).IsIcon(MapIcon.TRANSFERPOINT)) { iconData.iconObject.GetComponent <Image>().raycastTarget = false; UnityEngine.Object.Destroy(iconData.iconObject.GetComponent <MapIconInteractTransfer>()); UnityEngine.Object.Destroy(iconData.iconObject.GetComponent <Selectable>()); } iconData.SetCurIcon(icon, __instance.GetHashCode()); PresetIcon presetIcon = icon as PresetIcon; if (icon is PresetIcon && presetIcon.IsIcon(MapIcon.TRANSFERPOINT)) { (iconData.iconObject as MapIconPoolSprite).SetRaycastTarget(true); if (iconData.iconObject.gameObject.GetComponent <MapIconInteractTransfer>() == null) { iconData.iconObject.gameObject.AddComponent <MapIconInteractTransfer>(); iconData.iconObject.gameObject.AddComponent <Selectable>(); } iconData.iconObject.gameObject.GetComponent <MapIconInteractTransfer>().SetImap(iconData.imap); int tranId = Singleton <TransferTransIdDataBase> .Self.GetTranId((iconData.imap as SceneItemTransfer_IMap).SItem.ID); string name = (tranId <= 0) ? string.Empty : TextMgr.GetStr(tranId, -1); Dbgl($"name: {name} pos: {iconData.imap.GetPos()}"); } return(false); }