Exemplo n.º 1
0
 static bool Prefix(MassageWindow __instance)
 {
     if (__instance.eventValue.Count > 0 && __instance.eventValue[0] != 0)
     {
         int num = __instance.eventValue[0];
         if (num == QuquEvent.eventId)
         {
             Main.Logger.Log("相虫事件跳转");
             QuquEvent.EndEvent(__instance.mianEventDate[1]);
         }
         else if (num == RapedEvent.ID.option1)
         {
             Main.Logger.Log("被欺侮事件跳转");
             RapedEvent.DoRape(__instance.mianEventDate[1], DateFile.instance.mianActorId);
         }
         else if (num == RapedEvent.ID.option21)
         {
             Main.Logger.Log("没收工具事件跳转");
             RapedEvent.Spay(__instance.mianEventDate[1]);
         }
         else
         {
             return(true);
         }
         __instance.eventValue = new List <int>();
         return(false);
     }
     return(true);
 }
Exemplo n.º 2
0
 public static void Prefix(MassageWindow __instance)
 {
     if (__instance.eventValue.Count > 0 && __instance.eventValue[0] != 0)
     {
         if (__instance.eventValue[0] == MassageWindow_SetMassageWindow_Patch.EventNewWorldMagicNumber)
         {
             __instance.eventValue.Clear();
             if (!Main.enabled)
             {
                 return;
             }
             Main.Logger.Log("Done");
             int actorId = DateFile.instance.MianActorID();
             //添加卷轴
             //for (int id = 101; id < 2011; ++id)
             int id = 301;                    //太吾村=301
             if (DateFile.instance.itemsDate.ContainsKey(id) ||
                 DateFile.instance.presetitemDate.ContainsKey(id))
             {
                 DateFile.instance.GetItem(actorId, id, 1, true);
             }
             //标记老家
             int choosePartId  = WorldMapSystem.instance.choosePartId;
             int choosePlaceId = WorldMapSystem.instance.choosePlaceId;
             if (choosePartId >= 0 && choosePlaceId >= 0)
             {
                 DateFile.instance.baseHomeDate[choosePartId][choosePlaceId] = MassageWindow_SetMassageWindow_Patch.BaseHomeMagicNumber;
             }
         }
     }
 }
Exemplo n.º 3
0
 static void Postfix(MassageWindow __instance)
 {
     if (!Main.enabled || !Main.settings.showInGift)
     {
         return;
     }
     Changer.ChangeObjectsName(__instance.itemHolder, "ItemNumberText");
 }
Exemplo n.º 4
0
        private static void Postfix(MassageWindow __instance)
        {
            if (!Main.enabled || Main.binding_key || !Main.settings.useNumpadKeysInMessageWindow)
            {
                return;
            }

            if (!__instance.massageWindow.activeInHierarchy)
            {
                return;
            }
            if (__instance.itemWindowIsShow)
            {
                return;
            }
            if (ShopSystem.instance != null && ShopSystem.instance.shopWindow.activeInHierarchy)
            {
                return;
            }
            if (BookShopSystem.instance != null && BookShopSystem.instance.shopWindow.activeInHierarchy)
            {
                return;
            }
            if (GetItemWindow.instance != null && GetItemWindow.instance.getItemWindow.activeInHierarchy)
            {
                return;
            }
            if (GetActorWindow.instance != null && GetActorWindow.instance.getActorWindow.activeInHierarchy)
            {
                return;
            }
            if (ActorMenu.instance != null && ActorMenu.instance.actorMenu.activeInHierarchy)
            {
                return;
            }

            int chooseIndex = GetAlternativeKeysDown();

            if (chooseIndex < 0 || chooseIndex >= __instance.chooseHolder.childCount)
            {
                return;
            }

            GameObject choose = __instance.chooseHolder.GetChild(chooseIndex).gameObject;

            if (!choose.GetComponent <Button>().interactable)
            {
                return;
            }

            int chooseId = int.Parse(choose.name.Split(',')[1]);

            SetChoose(chooseId);
        }
Exemplo n.º 5
0
        private static bool Prefix(MassageWindow __instance)
        {
            if (!Main.enabled || Main.binding_key || !Main.settings.escAsLastOption)
            {
                return(true);
            }

            // When adding a component to a GameObject using AddComponent<C>() the component C's OnEnable method is called immediately.
            var escWinComponent = __instance.massageWindowBack.AddComponent <EscWinComponent>();

            escWinComponent.escEvent.AddListener(OnEsc);

            return(true);
        }
Exemplo n.º 6
0
        static bool Prefix(MassageWindow __instance, ref bool __result, ref int actorId, ref int eventActor, ref int eventId)
        {
            if (!Main.enabled || !Main.settings.needNoImpression)
            {
                return(true);
            }
            string require = DateFile.instance.eventDate[eventId][6];
            bool   flag    = require == "" || require == "0";

            if (flag)
            {
                return(true);
            }
            string[] array = DateFile.instance.eventDate[eventId][6].Split(new char[]
            {
                '|'
            });
            bool[] array2 = new bool[array.Length];
            bool   flag_or;
            bool   flag_and = true;
            bool   isLIFEF  = false;

            for (int i = 0; i < array.Length; i++)
            {
                string[] array3 = array[i].Split(new char[]
                {
                    '#'
                });
                flag_or = false;
                for (int j = 0; j < array3.Length; j++)
                {
                    string[] array5 = array3[j].Split(new char[]
                    {
                        '&'
                    });
                    string text = array5[0];
                    if (text == "LIFEF")
                    {
                        if (DateFile.instance.GetLifeDate(eventActor, 1001, 0) == int.Parse(array5[1]))
                        {
                            flag_or = true;
                        }
                        isLIFEF = true;
                    }
                    else if (text == "NOF")
                    {
                        if (!DateFile.instance.GetFamily(true, true).Contains(eventActor))
                        {
                            flag_or = true;
                        }
                    }
                    else
                    {
                        flag_or = true;
                    }
                }
                if (!flag_or)
                {
                    flag_and = false;
                    break;
                }
            }
            if (isLIFEF && flag_and)
            {
                __result = true;
                return(false);
            }
            return(true);
        }