Ejemplo n.º 1
0
    public static string GetString(string key, FontColor fc = FontColor.White)
    {
        if (!DataManager.StringTable.ContainsKey(key))
        {
            return("");
        }
        StringTableItem item = DataManager.StringTable[key] as StringTableItem;

        return(fc == FontColor.White ? item.str : StringWithColor(fc, item.str));
    }
Ejemplo n.º 2
0
        private static TableEntry HandleStringType(XElement caseElement)
        {
            double gpa   = GetBaseGpa(caseElement);
            bool   bonus = GetBonusStatus(caseElement);

            if (caseElement.Name == "item")
            {
                string          value = XmlHelper.GetAttributeValue(caseElement, "value");
                StringTableItem item  = new StringTableItem(value, gpa, bonus);
                Debug.WriteLine("> Loading <string> item: " + item);
                return(item);
            }

            throw XmlHelper.CreateException(caseElement, "Invalid score case type: " + caseElement.Name);
        }
Ejemplo n.º 3
0
        private static TableEntry HandleStringType(XElement caseElement)
        {
            double gpa = GetBaseGpa(caseElement);
            bool bonus = GetBonusStatus(caseElement);

            if (caseElement.Name == "item")
            {
                string value = XmlHelper.GetAttributeValue(caseElement, "value");
                StringTableItem item = new StringTableItem(value, gpa, bonus);
                Debug.WriteLine("> Loading <string> item: " + item);
                return item;
            }

            throw XmlHelper.CreateException(caseElement, "Invalid score case type: " + caseElement.Name);
        }
Ejemplo n.º 4
0
        public static bool JumpTalentPatch(WgTalentTreeController __instance, TalentNode talentNode)
        {
            var  t    = Traverse.Create(__instance);
            bool flag = t.Method("CheckCondition", talentNode).GetValue <bool>();//__instance.CheckCondition(talentNode);
            int  a    = 1;

            if (jumpTalent.Value)
            {
                a    = (flag ? 1 : 5);
                flag = (flag || __instance.talentPoint >= talentNode.NeedPoints * a);
            }
            if (flag)
            {
                StringTableItem stringTableItem = Game.Data.Get <StringTableItem>("UITalentNodeClickDialog");
                string          text            = (stringTableItem != null) ? stringTableItem.StringValue : null;
                text = string.Format(text, talentNode.Item.Name, talentNode.NeedPoints * a);
                Action <bool> onResult = delegate(bool confirm)
                {
                    if (confirm)
                    {
                        talentNode.CurrentState = eSkillNodeType.Clicked;
                        __instance.Model.TalentData.ClickedNodes.Add(talentNode.Item.Id);
                        TalentNode talentNode2 = talentNode;
                        if (talentNode2 == null)
                        {
                            flag = false;
                        }
                        else
                        {
                            TalentItem item = talentNode2.Item;
                            flag = (((item != null) ? item.Values : null) != null);
                        }
                        if (flag)
                        {
                            __instance.Model.TalentData.AddValues(talentNode.Item.Values);
                        }
                        if (talentNode.Item != null && talentNode.Item.PropertyValues != null)
                        {
                            __instance.Model.PropertiesChange(talentNode.Item.PropertyValues, true, false);
                        }
                        Action <string> talentLearned = __instance.Model.TalentData.TalentLearned;
                        if (talentLearned != null)
                        {
                            talentLearned(talentNode.Item.Id);
                        }
                        __instance.talentPoint -= talentNode.NeedPoints * a;
                        Action <int> updateCurrentExp = __instance.UpdateCurrentExp;
                        if (updateCurrentExp != null)
                        {
                            updateCurrentExp(__instance.talentPoint);
                        }
                        __instance.Model.TalentData.NewPoint -= talentNode.NeedPoints * a;
                        t.Method("AdjacentUpdata", talentNode).GetValue();//__instance.AdjacentUpdata(talentNode);
                        Action <string> learnNode = __instance.LearnNode;
                        if (learnNode != null)
                        {
                            learnNode(talentNode.Id);
                        }
                        Action <int> onTalentPointChanged = __instance.OnTalentPointChanged;
                        if (onTalentPointChanged != null)
                        {
                            onTalentPointChanged(__instance.Model.TalentData.NewPoint);
                        }
                        if (talentNode.IsStart)
                        {
                            Action closeOtherStartNodes = __instance.CloseOtherStartNodes;
                            if (closeOtherStartNodes != null)
                            {
                                closeOtherStartNodes();
                            }
                        }
                        if (__instance.talentPoint == 0)
                        {
                            t.Method("UpdateCanClicked").GetValue();//__instance.UpdateCanClicked();
                        }
                        if (!talentNode.Item.OpenNextId.IsNullOrEmpty())
                        {
                            Action <string> openNextNode = __instance.OpenNextNode;
                            if (openNextNode != null)
                            {
                                openNextNode(talentNode.Item.OpenNextId);
                            }
                        }
                        new SoundEffect("LearnTalent").PlayOnce();
                        Heluo.Logger.Log("學會天賦" + talentNode.Item.Id + ". " + talentNode.Item.Name, Heluo.Logger.LogLevel.MESSAGE, "white", "NodeClick", "D:\\JingYong\\Assets\\Script\\UI\\View\\TalentTree\\WgSkillTreeController.cs", 874);
                        return;
                    }
                };
                Game.UI.ShowDialog(string.Empty, text, onResult, false).buttonConfirm.ConfrimSoundEffect = new SoundEffect(GameConfig.MuteSoundID);
            }
            return(false);
        }