Пример #1
0
    private float GetProperWidth()
    {
        float retVal = 0;
        float max    = 0;
        float min    = 0;

        if (SingletonObject.getInstance <DeviceOrientationManager>().IsLandscape())
        {
            retVal = landscapePreferredSize.x;
            if (0 != landscapePreferredPercent.x)
            {
                retVal = Screen.width * landscapePreferredPercent.x / 100;
            }
            max    = landScapeMaxSize.x <= 0 ? retVal : landScapeMaxSize.x;
            min    = landscapeMinSize.x <= 0 ? retVal : landscapeMinSize.x;
            retVal = Mathf.Clamp(retVal, min, max);
        }
        else
        {
            retVal = potraitPreferredSize.x;
            if (0 != potraitPreferredPercent.x)
            {
                retVal = Screen.width * potraitPreferredPercent.x / 100;
            }
            max    = potraitMaxSize.x <= 0 ? retVal : potraitMaxSize.x;
            min    = potraitMinSize.x <= 0 ? retVal : potraitMinSize.x;
            retVal = Mathf.Clamp(retVal, min, max);
        }

        return(retVal);
    }
Пример #2
0
    void LoadAllGuidPlayers()
    {
        playerList = new List <PlayerData>();
        string[] dirs           = Directory.GetDirectories(pathData, "", SearchOption.TopDirectoryOnly);
        string   playerFileName = DataType.Player.ToString() + dataFileExt;

        byte[]     buffer;
        FileHelper fileHelper = SingletonObject.getInstance <FileHelper>();

        for (int i = 0, max = dirs.Length; i < max; ++i)
        {
            string filePlayer = Path.Combine(pathData, string.Format("{0}/{1}", dirs[i], playerFileName));
            if (File.Exists(filePlayer))
            {
                buffer = fileHelper.ReadFile(filePlayer);
                PlayerData player = ProtoSerializer.ProtoDeSerialize <PlayerData>(buffer);
                if (null != player)
                {
                    playerList.Add(player);
                }
            }
        }
        if (playerList.Count > 1)
        {
            playerList.Sort((left, right) => { return((int)(left.lastLogin - right.lastLogin)); });
        }
        if (playerList.Count > 0)
        {
            curPlayer = playerList[playerList.Count - 1];
        }
    }
Пример #3
0
        public static void OnToggleClick(Toggle toggle, bool value)
        {
            if (!Main.enabled)
            {
                return;
            }
            if (value == false)
            {
                return;
            }
            string[] temp = toggle.name.Split(',');
            int      cost = int.Parse(temp[1]);

            Traverse.Create(BattleSystem.instance).Field("actorWeaponCost").SetValue(new int[6] {
                cost, cost, cost, cost, cost, cost
            });
            for (int i = 0; i < 6; i++)
            {
                SingletonObject.getInstance <DynamicSetSprite>().SetImageSprite(BattleSystem.instance.actorWeaponCostIcon[i], "gongFaCostSprites", new int[]
                {
                    int.Parse(DateFile.instance.attackTypDate[cost][98])
                });
                //BattleSystem.instance.actorWeaponCostIcon[i].sprite = GetSprites.instance.gongFaCostSprites[DateFile.instance.ParseInt(DateFile.instance.attackTypDate[cost][98])];
                TweenSettingsExtensions.SetEase <Tweener>(ShortcutExtensions.DOScale(BattleSystem.instance.actorWeaponCostIcon[i].GetComponent <RectTransform>(), new Vector3(2f, 2f, 1f), 0.1f), Ease.OutBack);
                TweenSettingsExtensions.SetEase <Tweener>(TweenSettingsExtensions.SetDelay <Tweener>(ShortcutExtensions.DOScale(BattleSystem.instance.actorWeaponCostIcon[i].GetComponent <RectTransform>(), new Vector3(1f, 1f, 1f), 0.3f), 0.1f), Ease.OutBack);
            }
        }
Пример #4
0
        public static bool Load(UnityModManager.ModEntry modEntry)
        {
            CultureInfo.DefaultThreadCurrentCulture   = CultureInfo.InvariantCulture;
            CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.InvariantCulture;

            Main.Logger = modEntry.Logger;

            var harmony = HarmonyInstance.Create(modEntry.Info.Id);

            harmony.PatchAll(Assembly.GetExecutingAssembly());

            Main.settings = Settings.Load <Settings>(modEntry);

            resBasePath = System.IO.Path.Combine(modEntry.Path, "resources");

            var dynamicSetSprite = SingletonObject.getInstance <DynamicSetSprite>();

            getSpritesInfoAsset = (GetSpritesInfoAsset)Traverse.Create(dynamicSetSprite).Field("gsInfoAsset").GetValue();

            modEntry.OnToggle  = Main.OnToggle;
            modEntry.OnGUI     = Main.OnGUI;
            modEntry.OnSaveGUI = Main.OnSaveGUI;

            return(true);
        }
        public static void 绑定过月事件和图片(string turnEventImageName, Dictionary <int, string> turnEventDateValue,
                                     int turnEventIndex)
        {
            var dynamicSetSprite    = SingletonObject.getInstance <DynamicSetSprite>();
            var getSpritesInfoAsset =
                (GetSpritesInfoAsset)Traverse.Create(dynamicSetSprite).Field("gsInfoAsset").GetValue();

            int spriteId = 0;

            string spritePath = Path.Combine(Main.picpath, turnEventImageName);
            string spriteName = Path.GetFileNameWithoutExtension(spritePath);

            if (getSpritesInfoAsset.trunEventImage.Last() != spriteName)
            {
                GetSpritesInfoAsset.SingleSpritePathInfo spritePathInfo = new GetSpritesInfoAsset.SingleSpritePathInfo
                {
                    name = spriteName,
                    path = spritePath
                };
                getSpritesInfoAsset.singleSpritePathInfos.Add(spritePathInfo);
                Traverse.Create(getSpritesInfoAsset).Method("InitSingleSpritePathes").GetValue();

                getSpritesInfoAsset.trunEventImage =
                    getSpritesInfoAsset.trunEventImage.AddToArray(spriteName);

                var commonNameGroup =
                    (Dictionary <string, string[]>)Traverse.Create(getSpritesInfoAsset).Field("commonNameGroup")
                    .GetValue();
                commonNameGroup["trunEventImage"] = getSpritesInfoAsset.trunEventImage;
                spriteId = getSpritesInfoAsset.trunEventImage.Length - 1;
                Main.Logger.Log("加入过月事件图片:" + turnEventImageName + " 图片Id:" + spriteId);

                turnEventSpriteNameList.Add(spriteName);
                GayMaxSpriteCache[spriteName] = CreateSpriteFromImage(spritePath); //将外部图片载入缓存
            }

            if (spriteId == 0)
            {
                spriteId = getSpritesInfoAsset.trunEventImage.Length - 1;
            }

            if (turnEventDateValue.Keys.Contains(98))
            {
                turnEventDateValue[98] = spriteId.ToString();
            }
            else
            {
                Main.Logger.Log("加入过月事件失败");
            }


            int turnEventId = DateFile.instance.trunEventDate.Keys.Max() + 1;

            DateFile.instance.trunEventDate.Add(turnEventId, turnEventDateValue);
            Index.TurnEvenIndex[turnEventIndex] = turnEventId;

            Main.Logger.Log("加入过月事件:" + turnEventDateValue[0] + " 事件Id:" + turnEventId + " 图片Id:" +
                            turnEventDateValue[98]);
        }
Пример #6
0
        private static bool GetItem_Prefix(ref int ___massageItemTyp, ref Transform ___itemHolder)
        {
            if (___massageItemTyp != int.MinValue)
            {
                return(true);
            }

            for (int i = 0; i < ___itemHolder.childCount; i++)
            {
                GameObject.Destroy(___itemHolder.GetChild(i).gameObject);
            }

            List <int> baseData      = new List <int>();
            int        TargetActorID = MessageEventManager.Instance.MainEventData[1];
            int        actorId       = DateFile.instance.MianActorID();

            if (RuntimeConfig.ChoiceEnvironment.Filter != null)
            {
                baseData = RuntimeConfig.ChoiceEnvironment.Filter.ToList();
                RuntimeConfig.ChoiceEnvironment.Filter = null;
            }
            else
            {
                baseData = new List <int>(DateFile.instance.GetItemSort(new List <int>(DateFile.instance.GetActorItems(RuntimeConfig.ChoiceEnvironment.GetWhoItem == 0 ? actorId : TargetActorID).Keys)));
            }

            for (int k = 0; k < baseData.Count; k++)
            {
                int num6 = baseData[k];
                if (int.Parse(DateFile.instance.GetItemDate(num6, 3)) != 1)
                {
                    continue;
                }
                int num7 = int.Parse(DateFile.instance.GetItemDate(num6, 5));

                GameObject gameObject = GameObject.Instantiate(UsefulPrefabs.instance.itemIconNoDrag, Vector3.zero, Quaternion.identity);
                gameObject.name = "Item," + num6;
                gameObject.transform.SetParent(___itemHolder, worldPositionStays: false);
                gameObject.GetComponent <Toggle>().group = ___itemHolder.GetComponent <ToggleGroup>();
                Image component = gameObject.transform.Find("ItemBack").GetComponent <Image>();
                SingletonObject.getInstance <DynamicSetSprite>().SetImageSprite(component, "itemBackSprites", int.Parse(DateFile.instance.GetItemDate(num6, 4)));
                component.color = DateFile.instance.LevelColor(int.Parse(DateFile.instance.GetItemDate(num6, 8)));
                if (int.Parse(DateFile.instance.GetItemDate(num6, 6)) > 0)
                {
                    gameObject.transform.Find("ItemNumberText").GetComponent <Text>().text = "×" + DateFile.instance.GetItemNumber(actorId, num6);
                }
                else
                {
                    int num8 = int.Parse(DateFile.instance.GetItemDate(num6, 901));
                    int num9 = int.Parse(DateFile.instance.GetItemDate(num6, 902));
                    gameObject.transform.Find("ItemNumberText").GetComponent <Text>().text = $"{DateFile.instance.Color3(num8, num9)}{num8}</color>/{num9}";
                }
                GameObject gameObject2 = gameObject.transform.Find("ItemIcon").gameObject;
                gameObject2.name = "ItemIcon," + num6;
                SingletonObject.getInstance <DynamicSetSprite>().SetImageSprite(gameObject2.GetComponent <Image>(), "itemSprites", int.Parse(DateFile.instance.GetItemDate(num6, 98)));
            }

            return(false);
        }
Пример #7
0
        public static bool IsRegistered(string turnEventName)
        {
            var dynamicSetSprite    = SingletonObject.getInstance <DynamicSetSprite>();
            var getSpritesInfoAsset =
                (GetSpritesInfoAsset)Traverse.Create(dynamicSetSprite).Field("gsInfoAsset").GetValue();

            return(getSpritesInfoAsset.trunEventImage.Contains(turnEventName));
        }
Пример #8
0
 public static void CheckUpdate(UnityModManager.ModEntry modEntry)
 {
     status = Status.checkUpdateing;
     if (!UnityModManager.HasNetworkConnection())
     {
         status = Status.networkError;
         return;
     }
     SingletonObject.getInstance <YieldHelper>().StartYield(HasNewerVersion(modEntry, checkUpdateUrl));
 }
        public static bool IsRegistered()
        {
            var dynamicSetSprite    = SingletonObject.getInstance <DynamicSetSprite>();
            var getSpritesInfoAsset =
                (GetSpritesInfoAsset)Traverse.Create(dynamicSetSprite).Field("gsInfoAsset").GetValue();

            if (getSpritesInfoAsset.trunEventImage.Contains("StarFall_1"))
            {
                return(true);
            }

            return(false);
        }
Пример #10
0
        public static void InitializeGongFaButton()
        {
            for (int i = 0; i < 9; i++)
            {
                int        id         = 30101;
                GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(BattleSystem.instance.battleGongFa[0], Vector3.zero, Quaternion.identity);
                gameObject.name = "BattleGongFa," + id;
                gameObject.transform.SetParent(BattleSystem.instance.actorGongFaHolder[0], false);
                gameObject.transform.Find("GongFaName").GetComponent <Text>().text = DateFile.instance.gongFaDate[id][0];
                GameObject gameObject2 = gameObject.transform.Find("GongFaIcon").gameObject;
                SingletonObject.getInstance <DynamicSetSprite>().SetImageSprite(gameObject2.GetComponent <Image>(), "gongFaSprites", new int[]
                {
                    int.Parse(DateFile.instance.gongFaDate[id][98])
                });
                //gameObject2.GetComponent<Image>().sprite = GetSprites.instance.gongFaSprites[DateFile.instance.ParseInt(DateFile.instance.gongFaDate[id][98])];
                gameObject2.name = $"GongFaIcon," + id;
                gameObjects2[i]  = gameObject2;
                GameObject gameObject3 = gameObject.transform.Find("GongFaSizeBack").gameObject;
                gameObject3.SetActive(true);
                for (int j = 0; j < 6; j++)
                {
                    Transform  transform = gameObject3.transform.Find(string.Format("Cost{0}Icon", j + 1));
                    GameObject gameObject7;
                    if (transform == null)
                    {
                        gameObject7      = UnityEngine.Object.Instantiate(gameObject3.transform.Find("Cost1Icon").gameObject, gameObject3.transform.Find("Cost1Icon").parent);
                        gameObject7.name = $"Cost{j + 1}Icon";
                    }
                    else
                    {
                        gameObject7 = transform.gameObject;
                    }
                    gameObject7.GetComponent <Image>().sprite = GetSprites.instance.gongFaCostSprites[DateFile.instance.ParseInt(DateFile.instance.attackTypDate[0][98])];
                    gameObject7.transform.Find("CostText").GetComponent <Text>().text = "";
                    gameObject7.SetActive(true);
                }
                gameObject3.GetComponent <GridLayoutGroup>().constraint      = GridLayoutGroup.Constraint.FixedRowCount;
                gameObject3.GetComponent <GridLayoutGroup>().constraintCount = 1;
                gameObjects[i] = gameObject;
                gameObject.SetActive(false);
            }

            for (int i = 0; i < settings.myConfirmedGongFa.Count; i++)
            {
                gameObjects[i].SetActive(true);
                SetActorGongFaButton(settings.myConfirmedGongFa[i], i);
            }
            BattleSystem.instance.otherGongFaRange.sizeDelta = new Vector2((float)Mathf.Max(125 + settings.myConfirmedGongFa.Count * 95, 220), 160f);
        }
Пример #11
0
        public void SetBookId(int bookId)
        {
            if (gameObject.name == "Item," + bookId)
            {
                return;
            }
            gameObject.name = "Item," + bookId;
            gameObject.GetComponent <Toggle>().group = HomeSystem.instance.bookHolder.GetComponent <ToggleGroup>();
            Image component = gameObject.transform.Find("ItemBack").GetComponent <Image>();

            SingletonObject.getInstance <DynamicSetSprite>().SetImageSprite(component, "itemBackSprites", int.Parse(DateFile.instance.GetItemDate(bookId, 4)));
            component.color = ActorMenu.instance.LevelColor(int.Parse(DateFile.instance.GetItemDate(bookId, 8, true)));
            GameObject gameObject2 = gameObject.transform.GetChild(2).gameObject;

            gameObject2.name = "ItemIcon," + bookId;
            SingletonObject.getInstance <DynamicSetSprite>().SetImageSprite(gameObject2.GetComponent <Image>(), "itemSprites", int.Parse(DateFile.instance.GetItemDate(bookId, 98)));
            int num2  = int.Parse(DateFile.instance.GetItemDate(bookId, 901, true));
            int num3  = int.Parse(DateFile.instance.GetItemDate(bookId, 902, true));
            var df    = DateFile.instance;
            var pinji = int.Parse(df.GetItemDate(bookId, 8, false)) - 1;

            if (HomeSystem.instance.studySkillTyp >= 17)
            {
                var gongfaId = int.Parse(df.GetItemDate(bookId, 32));
                var gangId   = int.Parse(df.gongFaDate[gongfaId][3]);
                var gangName = df.presetGangDate[gangId][0].Substring(0, 2);
                gameObject.transform.Find("ItemHpText").GetComponent <Text>().text = $"{df.SetColoer(20002 + pinji, gangName)}{ActorMenu.instance.Color3(num2, num3)}{num2}</color>/{num3}";
            }
            else
            {
                gameObject.transform.Find("ItemHpText").GetComponent <Text>().text = $"{df.SetColoer(20002 + pinji, Main.pinji[pinji])}{ActorMenu.instance.Color3(num2, num3)}{num2}</color>/{num3}";
            }
            int[]     bookPage  = DateFile.instance.GetBookPage(bookId);
            Transform transform = gameObject.transform.Find("PageBack");

            for (int j = 0; j < transform.childCount; j++)
            {
                if (bookPage[j] == 1)
                {
                    transform.GetChild(j).GetComponent <Image>().color = new Color(100f / 255, 200f / 255, 0f, 1f);
                }
                else
                {
                    transform.GetChild(j).GetComponent <Image>().color = new Color(1f, 0f, 0f, 25f / 255);
                }
            }
        }
Пример #12
0
    private float GetProperHeight()
    {
        float retVal = 0;

        if (SingletonObject.getInstance <DeviceOrientationManager>().IsLandscape())
        {
            retVal = landscapePreferredSize.y;
            retVal = Mathf.Clamp(retVal, landscapeMinSize.y, landScapeMaxSize.y);
        }
        else
        {
            retVal = potraitPreferredSize.y;
            retVal = Mathf.Clamp(retVal, potraitMinSize.y, potraitMaxSize.y);
        }

        return(retVal);
    }
Пример #13
0
        public void UpdateActorFace()
        {
            var baseFace = (DateFile.instance.GetActorDate(RuntimeConfig.UI_Config.ActorId, 995) ?? "0").Split('|');

            if (baseFace.Length == 1)
            {
                instance.ContentChildren["AppChange"].SetActive(false);
                return;
            }
            else
            {
                instance.ContentChildren["AppChange"].SetActive(true);
            }
            TaiwuActorFace.Age          = DateFile.instance.GetActorFaceAge(RuntimeConfig.UI_Config.ActorId);
            TaiwuActorFace.Gender       = int.Parse(DateFile.instance.GetActorDate(RuntimeConfig.UI_Config.ActorId, 14, false) ?? "1");
            TaiwuActorFace.GenderChange = int.Parse((DateFile.instance.GetActorDate(RuntimeConfig.UI_Config.ActorId, 17)) ?? "0");
            TaiwuActorFace.FaceData     = new int[baseFace.Length];
            for (int i = 0; i < TaiwuActorFace.FaceData.Length; i++)
            {
                TaiwuActorFace.FaceData[i] = int.Parse(baseFace[i] ?? "0");
            }
            var baseColor = (DateFile.instance.GetActorDate(RuntimeConfig.UI_Config.ActorId, 996) ?? "0").Split('|');

            TaiwuActorFace.FaceColor = new int[baseColor.Length];
            for (int i = 0; i < TaiwuActorFace.FaceColor.Length; i++)
            {
                TaiwuActorFace.FaceColor[i] = int.Parse(baseColor[i] ?? "0");
            }
            int clothes = int.Parse(DateFile.instance.GetActorDate(RuntimeConfig.UI_Config.ActorId, 305) ?? "0");

            if (clothes <= 0)
            {
                clothes = 0;
            }
            else
            {
                clothes = int.Parse(DateFile.instance.presetitemDate[int.Parse(GameData.Items.GetItemProperty(clothes, 999) ?? "0")][15] ?? "0");
            }
            TaiwuActorFace.ClothesIndex = clothes;

            for (int i = 0; i < 8; i++)
            {
                AppValueLable[i].Text = $"{TaiwuActorFace.FaceData[i] + 1} / {SingletonObject.getInstance<DynamicSetSprite>().GetGroupLength("actorFace", TaiwuActorFace.AppGender - 1, 0, EditorUI.MoreUI.KeyTable[i])}";
                ColorBoxGroups[i].ChoseIndex(TaiwuActorFace.FaceColor[i]);
            }
        }
Пример #14
0
    public void WriteLogToFile()
    {
#if UNITY_MOBILE && DEBUG_VERSION
        if (!b_init)
        {
            SingletonObject.getInstance <GLog>();
        }
        StringBuilder sbuilder = new StringBuilder();
        for (int i = 0, max = logList.Count; i < max; ++i)
        {
            sbuilder.Append(logList[i].ToString() + "\r\n");
        }
        File.AppendAllText(logFilePath, sbuilder.ToString(), Encoding.UTF8);
#else
        Log("只有移动端可以写入日志到文件!");
#endif
    }
Пример #15
0
    public static void LogError(string msg)
    {
#if LOG_ON
        if (!b_init)
        {
            SingletonObject.getInstance <GLog>();
        }
#if UNITY_MOBILE
        LogItem item = new LogItem();
        item.msg        = msg;
        item.tmLog      = DateTime.Now;
        item.logType    = LogType.Error;
        item.stackTrace = GetStackTraceModelName();
        AddLogItem(item);
#else
        Debug.LogError(msg);
#endif
#endif
    }
Пример #16
0
 public static void Postfix(bool isActor, int index, ref int[] ___actorWeaponCost)
 {
     if (!Main.enabled || Main.weaponCostToggle == null)
     {
         return;
     }
     if (isActor)
     {
         if (Main.weaponCostToggle[0] == null)
         {
             return;
         }
         int        weaponId    = BattleSystem.instance.GetWeaponId(isActor, index, false);
         string[]   costs       = DateFile.instance.GetItemDate(weaponId, 7, false).Split('|');
         List <int> listOfCosts = new List <int>();
         for (int i = 0; i < costs.Length; i++)
         {
             int cost;
             if (int.TryParse(costs[i], out cost))
             {
                 if (!listOfCosts.Contains(cost))
                 {
                     listOfCosts.Add(cost);
                 }
             }
         }
         listOfCosts.Sort();
         for (int i = 0; i < 3; i++)
         {
             Main.weaponCostToggle[i].SetActive(i < listOfCosts.Count ? true : false);
             Main.weaponCostToggle[i].transform.parent.gameObject.SetActive(i < listOfCosts.Count ? true : false);
             if (i < listOfCosts.Count)
             {
                 GameObject gameObject = Main.weaponCostToggle[i];
                 SingletonObject.getInstance <DynamicSetSprite>().SetImageSprite(gameObject.transform.Find($"weaponCostIcon{i + 1}").gameObject.GetComponent <Image>(), "gongFaCostSprites", new int[] { int.Parse(DateFile.instance.attackTypDate[listOfCosts[i]][98]) });
                 //gameObject.transform.Find($"weaponCostIcon{i+1}").gameObject.GetComponent<Image>().sprite= GetSprites.instance.gongFaCostSprites[DateFile.instance.ParseInt(DateFile.instance.attackTypDate[listOfCosts[i]][98])];
                 gameObject.GetComponent <Toggle>().name = $"weaponCostToggle{i + 1},{listOfCosts[i]}";
             }
         }
         BattleSystem_ShowBattleWindow_Patch.OnToggleClick(Main.weaponCostToggle[0].GetComponent <Toggle>(), true);
     }
 }
Пример #17
0
        public static bool Load(UnityModManager.ModEntry modEntry)
        {
            if (!Directory.Exists(backupdir))
            {
                Directory.CreateDirectory(backupdir);
            }

            Logger             = modEntry.Logger;
            settings           = UnityModManager.ModSettings.Load <Settings>(modEntry);
            modEntry.OnToggle  = OnToggle;
            modEntry.OnGUI     = OnGUI;
            modEntry.OnSaveGUI = OnSaveGUI;
            // 动态加载贴图类
            DynamicSetSprite dynamicSetSprites = SingletonObject.getInstance <DynamicSetSprite>();

            // 游戏贴图信息类
            getSpritesInfoAsset = (GetSpritesInfoAsset)Traverse.Create(dynamicSetSprites).Field("gsInfoAsset").GetValue();
            HarmonyInstance.Create(modEntry.Info.Id).PatchAll(Assembly.GetExecutingAssembly());
            return(true);
        }
Пример #18
0
        private static bool Prefix(SetGongFaTree __instance, int typ, int gangId, int gangValue)
        {
            if (!Main.enabled)
            {
                return(true);
            }
            int num = DateFile.instance.MianActorID();

            SingletonObject.getInstance <DynamicSetSprite>().SetImageSprite(__instance.gongFaImage, "gongFaImage", typ);
            __instance.gongFaNameText.text = DateFile.instance.baseSkillDate[101 + typ][0];
            int        num2 = (gangValue >= 0) ? Mathf.Max(gangValue / 100 - 2, 0) : (-1);
            List <int> list = new List <int>();

            for (int i = 0; i < __instance.gongFaLevelText.Length; i++)
            {
                __instance.gongFaLevelText[i].text = DateFile.instance.massageDate[7003][3].Split('|')[i];
            }
            for (int j = 0; j < DateFile.instance.allGongFaKey.Count; j++)
            {
                int num3 = DateFile.instance.allGongFaKey[j];
                if (int.Parse(DateFile.instance.gongFaDate[num3][1]) == typ && int.Parse(DateFile.instance.gongFaDate[num3][3]) == gangId)
                {
                    list.Add(num3);
                }
            }
            for (int k = 0; k < __instance.gongFaIcons.Length; k++)
            {
                if (k < list.Count)
                {
                    int num4 = list[k];
                    __instance.gongFaImages[k].SetActive(value: true);
                    __instance.gongFaImages[k].name = "GongFaImage," + num4;
                    if (DateFile.instance.actorGongFas.ContainsKey(num) && DateFile.instance.actorGongFas[num].ContainsKey(num4))
                    {
                        SingletonObject.getInstance <DynamicSetSprite>().SetImageSprite(__instance.gongFaIcons[k], "gongFaSprites", int.Parse(DateFile.instance.gongFaDate[num4][98]));
                        __instance.gongFaNames[k].text = DateFile.instance.SetColoer((num2 < k) ? 20002 : 10003, DateFile.instance.gongFaDate[num4][0]);
                        if (DateFile.instance.GetGongFaLevel(num, num4) >= 100 && DateFile.instance.GetGongFaFLevel(num, num4) >= 10)
                        {
                            __instance.gongFaStudyMassageText[k].text = DateFile.instance.SetColoer(20009, DateFile.instance.massageDate[7007][5].Split('|')[3]);
                        }
                        else
                        {
                            __instance.gongFaStudyMassageText[k].text = DateFile.instance.SetColoer(20008, DateFile.instance.massageDate[7007][5].Split('|')[2]);
                        }
                        continue;
                    }
                    if (num2 < k && int.Parse(DateFile.instance.gongFaDate[num4][16]) == 1 && !Main.settings.showAll)
                    {
                        __instance.gongFaIcons[k].GetComponent <PointerEnter>().enabled = false;
                        SingletonObject.getInstance <DynamicSetSprite>().SetImageSprite(__instance.gongFaIcons[k], "gongFaSprites", int.Parse(DateFile.instance.gongFaDate[num4][98]));
                        __instance.gongFaNames[k].text            = DateFile.instance.SetColoer(10004, DateFile.instance.massageDate[7007][5].Split('|')[0]);
                        __instance.gongFaStudyMassageText[k].text = DateFile.instance.SetColoer(10004, DateFile.instance.massageDate[7007][5].Split('|')[1]);
                    }
                    else
                    {
                        SingletonObject.getInstance <DynamicSetSprite>().SetImageSprite(__instance.gongFaIcons[k], "gongFaSprites", int.Parse(DateFile.instance.gongFaDate[num4][98]));
                        __instance.gongFaNames[k].text            = DateFile.instance.SetColoer((num2 < k) ? 20002 : 10003, DateFile.instance.gongFaDate[num4][0]);
                        __instance.gongFaStudyMassageText[k].text = "";
                    }
                    __instance.gongFaIcons[k].color = ((num2 < k) ? new Color(0f, 0f, 0f) : new Color(1f, 1f, 1f));
                }
                else
                {
                    __instance.gongFaImages[k].SetActive(value: false);
                }
            }
            return(false);
        }
Пример #19
0
 public void WriteLogToFile()
 {
     SingletonObject.getInstance <GLog>().WriteLogToFile();
 }
Пример #20
0
        public static void Postfix(int ___actorUseWeaponIndex, ref int[] ___actorWeaponCost)
        {
            if (!Main.enabled)
            {
                return;
            }
            for (int i = 0; i < Main.defAttack.Length; i++)
            {
                Main.defAttack[i] = 0;
            }
            GameObject gameObject = new GameObject();

            gameObject.AddComponent <ToggleGroup>();
            int weaponId = BattleSystem.instance.GetWeaponId(true, ___actorUseWeaponIndex, false);

            string[]   costs       = DateFile.instance.GetItemDate(weaponId, 7, false).Split('|');
            List <int> listOfCosts = new List <int>();

            for (int i = 0; i < costs.Length; i++)
            {
                int cost;
                if (int.TryParse(costs[i], out cost))
                {
                    if (!listOfCosts.Contains(cost))
                    {
                        listOfCosts.Add(cost);
                    }
                }
            }
            listOfCosts.Sort();
            for (int i = 0; i < 3; i++)
            {
                //复制toggle
                Main.weaponCostToggle[i]      = UnityEngine.Object.Instantiate(BattleSystem.instance.actorWeapons[0].gameObject);
                Main.weaponCostToggle[i].name = $"weaponCostToggle{i + 1}";
                Main.weaponCostToggle[i].tag  = "SystemIcon";
                //复制背景图+移位改名
                Image image = UnityEngine.Object.Instantiate(BattleSystem.instance.actorWeapons[0].transform.parent.Find("BattleButtonBack").gameObject.GetComponent <Image>(), BattleSystem.instance.actorWeapons[0].transform.parent);
                image.transform.localPosition = new Vector3(-200f + 50f * i, 0f, 0f);
                image.name = $"weaponCostToggleBack{i + 1}";
                Main.weaponCostToggle[i].transform.SetParent(image.transform, false);
                Main.weaponCostToggle[i].transform.localPosition = new Vector3(0f, 0f, 0f);
                //找到图标+改名+换图
                Transform transform = Main.weaponCostToggle[i].transform.Find("Weapon1Icon,298");
                transform.gameObject.name = $"weaponCostIcon{i+1}";
                transform.gameObject.tag  = "SystemIcon";
                //transform.gameObject.GetComponent<Image>().sprite = GetSprites.instance.gongFaCostSprites[DateFile.instance.ParseInt(DateFile.instance.attackTypDate[i < listOfCosts.Count ? listOfCosts[i] : 15][98])];
                SingletonObject.getInstance <DynamicSetSprite>().SetImageSprite(transform.gameObject.GetComponent <Image>(), "gongFaCostSprites", new int[]
                {
                    int.Parse(DateFile.instance.attackTypDate[i < listOfCosts.Count ? listOfCosts[i] : 15][98])
                });
                UnityEngine.Object.DestroyImmediate(Main.weaponCostToggle[i].GetComponent <Toggle>());
                Main.weaponCostToggle[i].AddComponent <Toggle>();
                Toggle toggle = Main.weaponCostToggle[i].GetComponent <Toggle>();
                toggle.name        += $",{(i < listOfCosts.Count ? listOfCosts[i] : 15)}";
                toggle.interactable = true;
                Transform transform2 = toggle.transform.Find("Weapon1LabelIcon");
                Image     image2     = transform2.gameObject.GetComponent <Image>();
                transform2.localPosition = new Vector3(0f, 0f, 0f);
                toggle.graphic           = image2;
                toggle.group             = gameObject.GetComponent <ToggleGroup>();
                toggle.isOn = false;
                toggle.onValueChanged.AddListener((bool value) => OnToggleClick(toggle, value));
            }
            for (int i = 0; i < 3; i++)
            {
                Main.weaponCostToggle[i].SetActive(i < listOfCosts.Count ? true : false);
                Main.weaponCostToggle[i].transform.parent.gameObject.SetActive(i < listOfCosts.Count ? true : false);
            }
            Main.weaponCostToggle[0].GetComponent <Toggle>().isOn  = true;
            gameObject.GetComponent <ToggleGroup>().allowSwitchOff = false;
        }
Пример #21
0
        static void OnGUI(UnityModManager.ModEntry modEntry)
        {
            bool flag;
            int  tmp;

            GUILayout.BeginHorizontal();
            GUILayout.Label("ID(2001-2009)");
            flag = int.TryParse(GUILayout.TextField(PresetActorId.ToString()), out tmp);
            if (flag)
            {
                PresetActorId = tmp;
            }
            GUILayout.Label("姓名");
            GUILayout.TextField(ActorName);
            GUILayout.Label("难度(0-3)");
            flag = int.TryParse(GUILayout.TextField(Difficulty.ToString()), out tmp);
            if (flag)
            {
                Difficulty = tmp;
            }
            GUILayout.Label("次序(0-6)");
            flag = int.TryParse(GUILayout.TextField(XXLevel.ToString()), out tmp);
            if (flag)
            {
                XXLevel = tmp;
            }
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            flag = GUILayout.Button("属性");
            if (flag)
            {
                var boss = Boss.Get();
                Print(boss.name);
                Print(boss.allData.ToString());
            }

            flag = GUILayout.Button("开战");
            if (flag)
            {
                CallBattle();
            }

            flag = GUILayout.Button("找错人了,告辞");
            if (flag)
            {
                EndBattle();
            }
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            flag = GUILayout.Button("剑冢数据");
            if (flag)
            {
                bp.SaveAll();
            }

            flag = GUILayout.Button("物品数据");
            if (flag)
            {
                ip.SaveAll();
            }
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            flag = GUILayout.Button("某物");
            if (flag)
            {
                Show(ip.One(PresetActorId)[1]);
            }
            flag = GUILayout.Button("建筑");
            if (flag)
            {
                var instance    = SingletonObject.getInstance <DynamicSetSprite>();
                var gsInfoAsset = (GetSpritesInfoAsset)typeof(DynamicSetSprite).GetField("gsInfoAsset", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(instance);
                foreach (var kvp in DateFile.instance.basehomePlaceDate)
                {
                    int icon = int.Parse(kvp.Value[98]);
                    Show(icon + "\t" + gsInfoAsset.GetSpriteName("buildingSprites", icon), limit: false);
                }
            }
            flag = GUILayout.Button("图片名");
            if (flag)
            {
                var dynamicSetSprite = SingletonObject.getInstance <DynamicSetSprite>();
                var gsInfoAsset      = (GetSpritesInfoAsset)typeof(DynamicSetSprite)
                                       .GetField("gsInfoAsset", BindingFlags.NonPublic | BindingFlags.Instance)
                                       .GetValue(dynamicSetSprite);
                var commonNameGroup = (Dictionary <string, string[]>) typeof(GetSpritesInfoAsset)
                                      .GetField("commonNameGroup", BindingFlags.NonPublic | BindingFlags.Instance)
                                      .GetValue(gsInfoAsset);
                foreach (var typ in commonNameGroup)
                {
                    Main.Logger.Log($"{typ.Key}:");
                    for (int i = 0; i < typ.Value.Length; i++)
                    {
                        Main.Logger.Log($"\t[{i}] = \"{typ.Value[i]}\"");
                    }
                    Main.Logger.Log("");
                }
            }
            GUILayout.EndHorizontal();

            GUILayout.BeginVertical();
            GUILayout.TextArea(showText);
            GUILayout.EndVertical();
        }
Пример #22
0
 // Use this for initialization
 void Awake()
 {
     SingletonObject.getInstance <Entry>(this);
     LoadDebugObj();
     DeviceOrientationManager.Init();
 }
Пример #23
0
 public static void Init()
 {
     SingletonObject.getInstance <DeviceOrientationManager>();
 }
Пример #24
0
        /// <summary>
        /// 显示事件
        /// </summary>
        internal void ShowUI(int TargetActorID)
        {
            if (ui_MessageWindow.Instance.showActorMenuButton != null)
            {
                ui_MessageWindow.Instance.showActorMenuButton.SetActive(TargetActorID != DateFile.instance.mianActorId &&
                                                                        int.Parse(DateFile.instance.GetActorDate(TargetActorID, 8, applyBonus: false)) == 1);
            }
            if (ui_MessageWindow.Instance.actorFavor != null)
            {
                ui_MessageWindow.Instance.actorFavor.SetActive(value: false);
            }
            if (ui_MessageWindow.Instance.actorGoodIcon != null)
            {
                ui_MessageWindow.Instance.actorGoodIcon.SetActive(value: false);
            }
            if (ui_MessageWindow.Instance.actorWariness != null)
            {
                ui_MessageWindow.Instance.actorWariness.SetActive(value: false);
            }
            if (ui_MessageWindow.Instance.actorLifeFace != null)
            {
                ui_MessageWindow.Instance.actorLifeFace.SetActive(value: false);
            }

            if (BackgroundID > 0)
            {
                ui_MessageWindow.Instance.eventBackImage.sprite = Resources.Load <Sprite>("Graphics/EventBack/EventBack_" + BackgroundID);
            }
            else
            {
                ui_MessageWindow.Instance.eventBackImage.sprite = Resources.Load <Sprite>("Graphics/EventBack/EventBack_101_" + DateFile.instance.GetNewMapDate(DateFile.instance.mianPartId, DateFile.instance.mianPlaceId, 82));
            }

            int num12        = 0;
            int taiwuClothes = int.Parse(DateFile.instance.GetActorDate(DateFile.instance.mianActorId, 305));

            if (DateFile.instance.HaveLifeDate(TargetActorID, 1001) && DateFile.instance.GetLifeDate(TargetActorID, 1001, 1) >= 100)
            {
                num12 = DateFile.instance.GetLifeDate(TargetActorID, 1001, 0);
            }
            else if (taiwuClothes > 0)
            {
                num12 = int.Parse(DateFile.instance.GetItemDate(taiwuClothes, 15));
            }

            if (TargetActorID > 0 && TargetActorID != DateFile.instance.mianActorId)
            {
                if (int.Parse(DateFile.instance.GetActorDate(TargetActorID, 8, applyBonus: false)) == 1)
                {
                    if (int.Parse(DateFile.instance.GetActorDate(TargetActorID, 26, applyBonus: false)) == 0)
                    {
                        if (!DateFile.instance.HaveLifeDate(TargetActorID, 1001))
                        {
                            DateFile.instance.ResetActorLifeFace(TargetActorID, num12, 5);
                        }
                        if (int.Parse(DateFile.instance.GetActorDate(TargetActorID, 3, applyBonus: false)) == -1)
                        {
                            DateFile.instance.ChangeFavor(TargetActorID, 0);
                            DateFile.instance.AddActorScore(1);
                        }
                    }
                    if (ui_MessageWindow.Instance.actorFavor != null)
                    {
                        ui_MessageWindow.Instance.actorFavor.SetActive(true);
                        if (int.Parse(DateFile.instance.GetActorDate(TargetActorID, 47, applyBonus: false)) > 0 &&
                            int.Parse(DateFile.instance.GetGangDate(int.Parse(DateFile.instance.GetActorDate(TargetActorID, 19, applyBonus: false)), 2)) == 1)
                        {
                            ui_MessageWindow.Instance.actorGoodIcon.SetActive(value: true);
                            ui_MessageWindow.Instance.actorPartValue.text = "+" + (DateFile.instance.GetActorPartValue(TargetActorID) / 10f).ToString("f1") + "%";
                        }
                        ui_MessageWindow.Instance.UpdateActorFavorBar(TargetActorID);
                    }
                    if (ui_MessageWindow.Instance.actorWariness != null)
                    {
                        ui_MessageWindow.Instance.actorWariness.SetActive(value: true);
                        ui_MessageWindow.Instance.UpdateActorWarinessBar(TargetActorID);
                    }
                    if (ui_MessageWindow.Instance.actorLifeFace != null)
                    {
                        ui_MessageWindow.Instance.actorLifeFace.name = "LifeFaceIcon,525," + TargetActorID;
                        ui_MessageWindow.Instance.actorLifeFace.SetActive(value: true);
                        ui_MessageWindow.Instance.UpdateActorFaceBar(TargetActorID);
                    }
                }
                if (TargetActorID >= 1501 && TargetActorID <= 1509 && ui_MessageWindow.Instance.actorFavor != null)
                {
                    ui_MessageWindow.Instance.actorFavor.SetActive(value: true);
                    JuniorXiangshuSystem instance       = SingletonObject.getInstance <JuniorXiangshuSystem>();
                    int juniorXiangshuIdByPresetActorId = instance.GetJuniorXiangshuIdByPresetActorId(TargetActorID);
                    JuniorXiangshuSystem.JuniorXiangshuDisplayInfo displayInfo = instance.GetDisplayInfo(juniorXiangshuIdByPresetActorId);
                    ui_MessageWindow.Instance.actorFavorBar1.fillAmount = displayInfo.actorFavor / 30000f;
                    ui_MessageWindow.Instance.actorFavorBar2.fillAmount = (displayInfo.actorFavor - 30000) / 30000f;
                }
            }

            if (TargetActorID != -99)
            {
                int num14 = Mathf.Abs(TargetActorID);
                if (ui_MessageWindow.Instance.mianActorName != null)
                {
                    ui_MessageWindow.Instance.mianActorName.SetActive(value: true);
                }
                string actorGeneration = DateFile.instance.GetActorGeneration(num14, 999, massageShow: true);
                if (actorGeneration != "")
                {
                    ui_MessageWindow.Instance.mianActorGenerationText.gameObject.SetActive(value: true);
                    ui_MessageWindow.Instance.mianActorGenerationText.text = actorGeneration;
                }
                else
                {
                    ui_MessageWindow.Instance.mianActorGenerationText.gameObject.SetActive(value: false);
                }
                ui_MessageWindow.Instance.mianActorNameText.text = ((TargetActorID < 0) ? (DateFile.instance.GetActorDate(num14, 28, applyBonus: false) + WindowManage.instance.Mut()) : (DateFile.instance.GetActorName(num14) + WindowManage.instance.Mut()));
                ui_MessageWindow.Instance.mianActorFace.SetActorFace(num14);
            }
            else
            {
                if (ui_MessageWindow.Instance.mianActorGenerationText != null)
                {
                    ui_MessageWindow.Instance.mianActorGenerationText.gameObject.SetActive(value: false);
                }
                if (ui_MessageWindow.Instance.mianActorName != null)
                {
                    ui_MessageWindow.Instance.mianActorName.SetActive(value: false);
                }
            }

            var chooseHolder = ui_MessageWindow.Instance.chooseHolder;

            for (int i = 0; i < chooseHolder.childCount; i++)
            {
                GameObject.Destroy(chooseHolder.GetChild(i).gameObject);
            }

            EventMisc.QuQuCall       = false;
            EventMisc.battleQuquCall = false;
            var inputInfo = (InputFieldInfo)DynamicInputFieldInfo?.Call(ID, TargetActorID) ?? InputFieldInfo;

            if (ui_MessageWindow.Instance.inputTextField != null)
            {
                if (inputInfo == null || !inputInfo.UseInputField)
                {
                    ui_MessageWindow.Instance.inputMassageText.text = "";
                    ui_MessageWindow.Instance.inputTextField.gameObject.SetActive(false);
                    ui_MessageWindow.Instance.mianMassageText.text = GetDesc(TargetActorID);
                }
                else
                {
                    RuntimeConfig.ChoiceEnvironment.InputFieldInfo               = inputInfo;
                    ui_MessageWindow.Instance.inputMassageText.text              = GetDesc(TargetActorID);
                    ui_MessageWindow.Instance.mianMassageText.text               = " ";
                    ui_MessageWindow.Instance.inputTextField.inputType           = inputInfo.InputType;
                    ui_MessageWindow.Instance.inputTextField.characterValidation = inputInfo.CharacterValidation;
                    ui_MessageWindow.Instance.inputTextField.contentType         = inputInfo.ContentType;
                    ui_MessageWindow.Instance.inputTextField.gameObject.SetActive(true);
                    ui_MessageWindow.Instance.inputTextField.text = "";
                }
            }

            ui_MessageWindow.Instance.mianMassageShowText.text = ui_MessageWindow.Instance.mianMassageText.text;
            ui_MessageWindow.Instance.mianMassageText.GetComponent <UnityEngine.UI.ContentSizeFitter>().SetLayoutVertical();

            var dChoices = DynamicChoices?.Call(ID, TargetActorID) as AdditionalChoices;
            var choice   = new List <EventChoice>(Choices);

            if (dChoices != null)
            {
                var index = dChoices.Index;
                if (index < 0)
                {
                    index += choice.Count + 1;
                }
                if (index < 0)
                {
                    index = 0;
                }
                if (index > choice.Count)
                {
                    index = choice.Count;
                }
                choice.InsertRange(index, dChoices.Choices);
            }

            for (var index = 0; index < choice.Count; index++)
            {
                choice[index].DrawChoice(TargetActorID, $"{ ID }:{ index }");
            }
        }