示例#1
0
            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);
            }