|  |  | 
 |  |  |  | 
 |  |  | using UnityEngine; | 
 |  |  |  | 
 |  |  | // TODO YYL | 
 |  |  |  | 
 |  |  | public class RichTableEvent : TRichTextEvent | 
 |  |  | { | 
 |  |  |     public RichTableEvent() | 
 |  |  | 
 |  |  |  | 
 |  |  |     public override bool Execute(RichTextEventEnum type, RichTextMgr.HrefInfo href) | 
 |  |  |     { | 
 |  |  |         // switch (type) | 
 |  |  |         // { | 
 |  |  |         //     case RichTextEventEnum.SHOWITEM: | 
 |  |  |         //         { | 
 |  |  |         //             var config = ItemConfig.Get(href.mSplits["showitem"]); | 
 |  |  |         //             if (config != null) | 
 |  |  |         //             { | 
 |  |  |         //                 DisplayItem(config.ID, href); | 
 |  |  |         //             } | 
 |  |  |         //         } | 
 |  |  |         //         break; | 
 |  |  |         // } | 
 |  |  |         switch (type) | 
 |  |  |         { | 
 |  |  |             case RichTextEventEnum.SHOWITEM: | 
 |  |  |                 { | 
 |  |  |                     var config = ItemConfig.Get(int.Parse(href.mSplits["showitem"])); | 
 |  |  |                     if (config != null) | 
 |  |  |                     { | 
 |  |  |                         DisplayItem(config.ID, href); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 break; | 
 |  |  |         } | 
 |  |  |         return false; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |      | 
 |  |  |     public override string GetDisplay(RichTextEventEnum type, Dictionary<string, string> _dict) | 
 |  |  |     { | 
 |  |  |         // switch (type) | 
 |  |  |         // { | 
 |  |  |         //     case RichTextEventEnum.TABLE: | 
 |  |  |         //         { | 
 |  |  |         //             if (_dict.ContainsKey("info")) | 
 |  |  |         //             { | 
 |  |  |         //                 string info = _dict["info"]; | 
 |  |  |         //                 switch (info) | 
 |  |  |         //                 { | 
 |  |  |         //                     case "richtextmsgreplace": | 
 |  |  |         //                         { | 
 |  |  |         //                             int id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 return RichTextMsgReplaceConfig.GetRichReplace(_dict["name"], id); | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "item": | 
 |  |  |         //                         { | 
 |  |  |         //                             int id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 ItemConfig cfg = ItemConfig.Get(id); | 
 |  |  |         //                                 if (cfg != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     var _itemColor = cfg.ItemColor; | 
 |  |  |         //                                     if (ItemLogicUtility.Instance.IsWing(id))//翅膀 | 
 |  |  |         //                                     { | 
 |  |  |         //                                         Dictionary<int, List<int>> userdata = null; | 
 |  |  |         //                                         if (TryGetUserData(_dict, out userdata)) | 
 |  |  |         //                                         { | 
 |  |  |         //                                             _itemColor = ItemLogicUtility.Instance.GetItemQuality(cfg.ID, userdata); | 
 |  |  |         //                                         } | 
 |  |  |         //                                     } | 
 |  |  |         //                                     var itemName = cfg.ItemName; | 
 |  |  |         //                                     if (_dict.ContainsKey("chatsend")) | 
 |  |  |         //                                     { | 
 |  |  |         //                                         itemName = StringUtility.Contact("[", itemName, "]"); | 
 |  |  |         //                                     } | 
 |  |  |         //                                     if (_dict.ContainsKey("count")) | 
 |  |  |         //                                     { | 
 |  |  |         //                                         var count = 0; | 
 |  |  |         //                                         int.TryParse(_dict["count"], out count); | 
 |  |  |         //                                         if (count > 0) | 
 |  |  |         //                                         { | 
 |  |  |         //                                             itemName = StringUtility.Contact(itemName, "x", count); | 
 |  |  |         //                                         } | 
 |  |  |         //                                     } | 
 |  |  |         //                                     var suitLabel = string.Empty; | 
 |  |  |         //                                     if (!_dict.ContainsKey("chatsend")) | 
 |  |  |         //                                     { | 
 |  |  |         //                                         var text = RichTextMgr.Inst.presentRichText; | 
 |  |  |         //                                         int colorType = 0; | 
 |  |  |         //                                         if (text != null) | 
 |  |  |         //                                         { | 
 |  |  |         //                                             colorType = text.colorType == RichText.ColorType.Dark ? 0 : 1; | 
 |  |  |         //                                         } | 
 |  |  |         //                                         if (ItemLogicUtility.Instance.IsSuitEquip(id)) | 
 |  |  |         //                                         { | 
 |  |  |         //                                             suitLabel = StringUtility.Contact("<Suitname=", UIHelper.GetEquipSuitName(id, colorType == 1), "/>|"); | 
 |  |  |         //                                         } | 
 |  |  |         //                                     } | 
 |  |  |         //                                     return StringUtility.Contact(suitLabel, AppendColor(itemName, _itemColor, _dict)); | 
 |  |  |         //                                 } | 
 |  |  |         //                                 else | 
 |  |  |         //                                 { | 
 |  |  |         //                                     Debug.LogError(string.Format("物品表里没有ID{0}对应的物品", id)); | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "npc": | 
 |  |  |         //                         { | 
 |  |  |         //                             int id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 NPCConfig cfg = NPCConfig.Get(id); | 
 |  |  |         //                                 if (cfg != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     return cfg.charName; | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "map": | 
 |  |  |         //                         { | 
 |  |  |         //                             int id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 var lineId = 0; | 
 |  |  |         //                                 if (_dict.ContainsKey("lineid") && int.TryParse(_dict["lineid"], out lineId)) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     var mapResourceConfig = MapResourcesConfig.GetConfig(id, lineId); | 
 |  |  |         //                                     if (mapResourceConfig != null) | 
 |  |  |         //                                     { | 
 |  |  |         //                                         return mapResourceConfig.Name; | 
 |  |  |         //                                     } | 
 |  |  |         //                                 } | 
 |  |  |         //                                 MapConfig cfg = MapConfig.Get(id); | 
 |  |  |         //                                 if (cfg != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     return cfg.Name; | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "skill": | 
 |  |  |         //                         { | 
 |  |  |         //                             int id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 SkillConfig cfg = SkillConfig.Get(id); | 
 |  |  |         //                                 if (cfg != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     return cfg.SkillName; | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "fairyquestion": | 
 |  |  |         //                         { | 
 |  |  |         //                             int id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 QuestionBankConfig cfg = QuestionBankConfig.Get(id); | 
 |  |  |         //                                 if (cfg != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     return cfg.question; | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "runetower": | 
 |  |  |         //                         { | 
 |  |  |         //                             int id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 RuneTowerConfig cfg = RuneTowerConfig.Get(id); | 
 |  |  |         //                                 if (cfg != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     return cfg.TowerName; | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "realm": | 
 |  |  |         //                         { | 
 |  |  |         //                             int id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 RealmConfig _cfg = RealmConfig.Get(id); | 
 |  |  |         //                                 if (_cfg != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     var text = RichTextMgr.Inst.presentRichText; | 
 |  |  |         //                                     int colorType = 0; | 
 |  |  |         //                                     if (text != null) | 
 |  |  |         //                                     { | 
 |  |  |         //                                         colorType = text.colorType == RichText.ColorType.Dark ? 0 : 1; | 
 |  |  |         //                                     } | 
 |  |  |         //                                     return UIHelper.GetRealmName(id, colorType == 1); | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "pet": | 
 |  |  |         //                         { | 
 |  |  |         //                             int id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 PetInfoConfig _cfg = PetInfoConfig.Get(id); | 
 |  |  |         //                                 if (_cfg != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     return AppendColor(_cfg.Name, _cfg.Quality, _dict); | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "alchemy": | 
 |  |  |         //                         { | 
 |  |  |         //                             int id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 AlchemyConfig _cfg = AlchemyConfig.Get(id); | 
 |  |  |         //                                 if (_cfg != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     return _cfg.AlchemName; | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "treasure": | 
 |  |  |         //                         { | 
 |  |  |         //                             int id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 TreasureConfig _cfg = TreasureConfig.Get(id); | 
 |  |  |         //                                 if (_cfg != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     return _cfg.Name; | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "godweapon": | 
 |  |  |         //                         { | 
 |  |  |         //                             var _type = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("type") && int.TryParse(_dict["type"], out _type)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 var _cfg = GodWeaponConfig.GetConfig(_type, 1); | 
 |  |  |         //                                 if (_cfg != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     return _cfg.Name; | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "buffdesc": | 
 |  |  |         //                         { | 
 |  |  |         //                             var _id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 var _cfg = SkillConfig.Get(_id); | 
 |  |  |         //                                 if (_cfg != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     return _cfg.BuffDescription; | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "property": | 
 |  |  |         //                         { | 
 |  |  |         //                             var _id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 var _cfg = PlayerPropertyConfig.Get(_id); | 
 |  |  |         //                                 if (_cfg != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     return _cfg.Name; | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "mount": | 
 |  |  |         //                         { | 
 |  |  |         //                             var _id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 var _cfg = HorseConfig.Get(_id); | 
 |  |  |         //                                 if (_cfg != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     return AppendColor(_cfg.Name, _cfg.Quality, _dict); | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "success": | 
 |  |  |         //                         { | 
 |  |  |         //                             var _id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 var _cfg = SuccessConfig.Get(_id); | 
 |  |  |         //                                 if (_cfg != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     return _cfg.Describe; | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "osredenvelope": | 
 |  |  |         //                         { | 
 |  |  |         //                             var _id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 var _cfg = OSRedAchieveConfig.Get(_id); | 
 |  |  |         //                                 if (_cfg != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     return _cfg.typeName; | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "treasureprivilege": | 
 |  |  |         //                         { | 
 |  |  |         //                             var _id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 var _cfg = TreasurePrivilegeConfig.Get(_id); | 
 |  |  |         //                                 if (_cfg != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     return _cfg.Name; | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "towernewrune": | 
 |  |  |         //                         { | 
 |  |  |         //                             var _id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 var config = RuneTowerConfig.Get(_id + 1); | 
 |  |  |         //                                 if (config != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     var itemConfig = ItemConfig.Get(config.ProductRune); | 
 |  |  |         //                                     return itemConfig.ItemName; | 
 |  |  |         //                                 } | 
 |  |  |         //                                 var towerFloor = RuneTowerFloorConfig.Get(_id * 100 + 8); | 
 |  |  |         //                                 if (config != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     var itemConfig = ItemConfig.Get(towerFloor.UnLockCompose); | 
 |  |  |         //                                     return itemConfig.ItemName; | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "runetowerfloor": | 
 |  |  |         //                         { | 
 |  |  |         //                             var _id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 var config = RuneTowerFloorConfig.Get(_id); | 
 |  |  |         //                                 if (config != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     var towerConfig = RuneTowerConfig.Get(config.TowerId); | 
 |  |  |         //                                     return StringUtility.Contact(towerConfig.TowerName, config.FloorName); | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "skytowerfloor": | 
 |  |  |         //                         { | 
 |  |  |         //                             var _id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 var config = SkyTowerConfig.Get(_id); | 
 |  |  |         //                                 if (config != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     return config.floorName; | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "coloritem": | 
 |  |  |         //                         { | 
 |  |  |         //                             var _id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 var config = ItemConfig.Get(_id); | 
 |  |  |         //                                 if (config != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     return StringUtility.Contact(GetItemColorName(config.ItemColor), AppendColor(config.ItemName, config.ItemColor, _dict)); | 
 |  |  |         //                                 } | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "crossserverarena": | 
 |  |  |         //                         { | 
 |  |  |         //                             var _id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 var text = RichTextMgr.Inst.presentRichText; | 
 |  |  |         //                                 int colorType = 0; | 
 |  |  |         //                                 if (text != null) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     colorType = text.colorType == RichText.ColorType.Dark ? 0 : 1; | 
 |  |  |         //                                 } | 
 |  |  |         //                                 return UIHelper.AppendDanLVNameColor(_id, colorType == 1); | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "equipsuitname": | 
 |  |  |         //                         { | 
 |  |  |         //                             var _id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 return EquipSuitConfig.GetEquipSuitName(_id); | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "title": | 
 |  |  |         //                         { | 
 |  |  |         //                             var _id = 0; | 
 |  |  |         //                             if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |         //                             { | 
 |  |  |         //                                 return UIHelper.AppendColor(TextColType.Green, DienstgradConfig.Get(_id).Name, true); | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                     case "orderInfo": | 
 |  |  |         //                         { | 
 |  |  |         //                             if (_dict.ContainsKey("id")) | 
 |  |  |         //                             { | 
 |  |  |         //                                 var cpInfo = _dict["id"]; | 
 |  |  |         //                                 string goodsName = string.Empty; | 
 |  |  |         //                                 OrderInfoConfig orderInfo = null; | 
 |  |  |         //                                 VipModel vipModel = ModelCenter.Instance.GetModel<VipModel>(); | 
 |  |  |         //                                 if (vipModel.orderInfoToCTGID[cpInfo] != 0) | 
 |  |  |         //                                 { | 
 |  |  |         //                                     vipModel.TryGetOrderInfo(vipModel.orderInfoToCTGID[cpInfo], out orderInfo); | 
 |  |  |         //                                     goodsName = CTGConfig.Get(vipModel.orderInfoToCTGID[cpInfo]).Title; | 
 |  |  |         //                                 } | 
 |  |  |         //                                 else | 
 |  |  |         //                                 { | 
 |  |  |         //                                     var keys = OrderInfoConfig.GetKeys(); | 
 |  |  |         //                                     for (int i = 0; i < keys.Count; i++) | 
 |  |  |         //                                     { | 
 |  |  |         //                                         orderInfo = OrderInfoConfig.Get(keys[i]); | 
 |  |  |         //                                         if (orderInfo != null && orderInfo.OrderInfo == cpInfo) | 
 |  |  |         //                                         { | 
 |  |  |         //                                             break; | 
 |  |  |         //                                         } | 
 |  |  |         //                                     } | 
 |  |  |         //                                     goodsName = Language.Get("DayGoods_1", UIHelper.GetMoneyFormat(orderInfo.PayRMBNum)); | 
 |  |  |         //                                 } | 
 |  |  |         switch (type) | 
 |  |  |         { | 
 |  |  |             case RichTextEventEnum.TABLE: | 
 |  |  |                 { | 
 |  |  |                     if (_dict.ContainsKey("info")) | 
 |  |  |                     { | 
 |  |  |                         string info = _dict["info"]; | 
 |  |  |                         switch (info) | 
 |  |  |                         { | 
 |  |  |                             case "richtextmsgreplace": | 
 |  |  |                                 { | 
 |  |  |                                     int id = 0; | 
 |  |  |                                     if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out id)) | 
 |  |  |                                     { | 
 |  |  |                                         return RichTextMsgReplaceConfig.GetRichReplace(_dict["name"], id); | 
 |  |  |                                     } | 
 |  |  |                                 } | 
 |  |  |                                 break; | 
 |  |  |                             case "item": | 
 |  |  |                                 { | 
 |  |  |                                     int id = 0; | 
 |  |  |                                     if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out id)) | 
 |  |  |                                     { | 
 |  |  |                                         ItemConfig cfg = ItemConfig.Get(id); | 
 |  |  |                                         if (cfg != null) | 
 |  |  |                                         { | 
 |  |  |                                             var _itemColor = cfg.ItemColor; | 
 |  |  |                                             if (ItemLogicUtility.Instance.IsWing(id))//翅膀 | 
 |  |  |                                             { | 
 |  |  |                                                 Dictionary<int, List<int>> userdata = null; | 
 |  |  |                                                 if (TryGetUserData(_dict, out userdata)) | 
 |  |  |                                                 { | 
 |  |  |                                                     _itemColor = ItemLogicUtility.Instance.GetItemQuality(cfg.ID, userdata); | 
 |  |  |                                                 } | 
 |  |  |                                             } | 
 |  |  |                                             var itemName = cfg.ItemName; | 
 |  |  |                                             if (_dict.ContainsKey("chatsend")) | 
 |  |  |                                             { | 
 |  |  |                                                 itemName = StringUtility.Contact("[", itemName, "]"); | 
 |  |  |                                             } | 
 |  |  |                                             if (_dict.ContainsKey("count")) | 
 |  |  |                                             { | 
 |  |  |                                                 var count = 0; | 
 |  |  |                                                 int.TryParse(_dict["count"], out count); | 
 |  |  |                                                 if (count > 0) | 
 |  |  |                                                 { | 
 |  |  |                                                     itemName = StringUtility.Contact(itemName, "x", count); | 
 |  |  |                                                 } | 
 |  |  |                                             } | 
 |  |  |                                             var suitLabel = string.Empty; | 
 |  |  |                                             if (!_dict.ContainsKey("chatsend")) | 
 |  |  |                                             { | 
 |  |  |                                                 var text = RichTextMgr.Inst.presentRichText; | 
 |  |  |                                                 int colorType = 0; | 
 |  |  |                                                 if (text != null) | 
 |  |  |                                                 { | 
 |  |  |                                                     colorType = text.colorType == RichText.ColorType.Dark ? 0 : 1; | 
 |  |  |                                                 } | 
 |  |  |                                                 // if (ItemLogicUtility.Instance.IsSuitEquip(id)) | 
 |  |  |                                                 // { | 
 |  |  |                                                 //     suitLabel = StringUtility.Contact("<Suitname=", UIHelper.GetEquipSuitName(id, colorType == 1), "/>|"); | 
 |  |  |                                                 // } | 
 |  |  |                                             } | 
 |  |  |                                             return StringUtility.Contact(suitLabel, AppendColor(itemName, _itemColor, _dict)); | 
 |  |  |                                         } | 
 |  |  |                                         else | 
 |  |  |                                         { | 
 |  |  |                                             Debug.LogError(string.Format("物品表里没有ID{0}对应的物品", id)); | 
 |  |  |                                         } | 
 |  |  |                                     } | 
 |  |  |                                 } | 
 |  |  |                                 break; | 
 |  |  |                             case "npc": | 
 |  |  |                                 { | 
 |  |  |                                     int id = 0; | 
 |  |  |                                     if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out id)) | 
 |  |  |                                     { | 
 |  |  |                                         NPCConfig cfg = NPCConfig.Get(id); | 
 |  |  |                                         if (cfg != null) | 
 |  |  |                                         { | 
 |  |  |                                             return cfg.NPCName; | 
 |  |  |                                         } | 
 |  |  |                                     } | 
 |  |  |                                 } | 
 |  |  |                                 break; | 
 |  |  |                             case "map": | 
 |  |  |                                 { | 
 |  |  |                                     //     int id = 0; | 
 |  |  |                                     //     if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out id)) | 
 |  |  |                                     //     { | 
 |  |  |                                     //         var lineId = 0; | 
 |  |  |                                     //         if (_dict.ContainsKey("lineid") && int.TryParse(_dict["lineid"], out lineId)) | 
 |  |  |                                     //         { | 
 |  |  |                                     //             var mapResourceConfig = MapResourcesConfig.GetConfig(id, lineId); | 
 |  |  |                                     //             if (mapResourceConfig != null) | 
 |  |  |                                     //             { | 
 |  |  |                                     //                 return mapResourceConfig.Name; | 
 |  |  |                                     //             } | 
 |  |  |                                     //         } | 
 |  |  |                                     //         MapConfig cfg = MapConfig.Get(id); | 
 |  |  |                                     //         if (cfg != null) | 
 |  |  |                                     //         { | 
 |  |  |                                     //             return cfg.Name; | 
 |  |  |                                     //         } | 
 |  |  |                                     //     } | 
 |  |  |                                     return "map"; | 
 |  |  |                                  } | 
 |  |  |                                 break; | 
 |  |  |                             case "skill": | 
 |  |  |                                 { | 
 |  |  |                                     int id = 0; | 
 |  |  |                                     if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out id)) | 
 |  |  |                                     { | 
 |  |  |                                         SkillConfig cfg = SkillConfig.Get(id); | 
 |  |  |                                         if (cfg != null) | 
 |  |  |                                         { | 
 |  |  |                                             return cfg.SkillName; | 
 |  |  |                                         } | 
 |  |  |                                     } | 
 |  |  |                                 } | 
 |  |  |                                 break; | 
 |  |  |                             case "realm": | 
 |  |  |                                 { | 
 |  |  |                                     int id = 0; | 
 |  |  |                                     if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out id)) | 
 |  |  |                                     { | 
 |  |  |                                         RealmConfig _cfg = RealmConfig.Get(id); | 
 |  |  |                                         if (_cfg != null) | 
 |  |  |                                         { | 
 |  |  |                                             var text = RichTextMgr.Inst.presentRichText; | 
 |  |  |                                             int colorType = 0; | 
 |  |  |                                             if (text != null) | 
 |  |  |                                             { | 
 |  |  |                                                 colorType = text.colorType == RichText.ColorType.Dark ? 0 : 1; | 
 |  |  |                                             } | 
 |  |  |                                             return UIHelper.GetRealmName(id, colorType == 1); | 
 |  |  |                                         } | 
 |  |  |                                     } | 
 |  |  |                                 } | 
 |  |  |                                 break; | 
 |  |  |                             case "pet": | 
 |  |  |                                 { | 
 |  |  |                                     // int id = 0; | 
 |  |  |                                     // if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out id)) | 
 |  |  |                                     // { | 
 |  |  |                                     //     PetInfoConfig _cfg = PetInfoConfig.Get(id); | 
 |  |  |                                     //     if (_cfg != null) | 
 |  |  |                                     //     { | 
 |  |  |                                     //         return AppendColor(_cfg.Name, _cfg.Quality, _dict); | 
 |  |  |                                     //     } | 
 |  |  |                                     // } | 
 |  |  |                                     return "pet"; | 
 |  |  |                                 } | 
 |  |  |                                 break; | 
 |  |  |                             case "buffdesc": | 
 |  |  |                                 { | 
 |  |  |                                     var _id = 0; | 
 |  |  |                                     if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |                                     { | 
 |  |  |                                         var _cfg = SkillConfig.Get(_id); | 
 |  |  |                                         if (_cfg != null) | 
 |  |  |                                         { | 
 |  |  |                                             return _cfg.Description; | 
 |  |  |                                         } | 
 |  |  |                                     } | 
 |  |  |                                 } | 
 |  |  |                                 break; | 
 |  |  |                             case "property": | 
 |  |  |                                 { | 
 |  |  |                                     var _id = 0; | 
 |  |  |                                     if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |                                     { | 
 |  |  |                                         var _cfg = PlayerPropertyConfig.Get(_id); | 
 |  |  |                                         if (_cfg != null) | 
 |  |  |                                         { | 
 |  |  |                                             return _cfg.Name; | 
 |  |  |                                         } | 
 |  |  |                                     } | 
 |  |  |                                 } | 
 |  |  |                                 break; | 
 |  |  |                             case "mount": | 
 |  |  |                                 { | 
 |  |  |                                     // var _id = 0; | 
 |  |  |                                     // if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |                                     // { | 
 |  |  |                                     //     var _cfg = HorseConfig.Get(_id); | 
 |  |  |                                     //     if (_cfg != null) | 
 |  |  |                                     //     { | 
 |  |  |                                     //         return AppendColor(_cfg.Name, _cfg.Quality, _dict); | 
 |  |  |                                     //     } | 
 |  |  |                                     // } | 
 |  |  |                                 } | 
 |  |  |                                 break; | 
 |  |  |                             case "success": | 
 |  |  |                                 { | 
 |  |  |                                     var _id = 0; | 
 |  |  |                                     if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |                                     { | 
 |  |  |                                         var _cfg = SuccessConfig.Get(_id); | 
 |  |  |                                         if (_cfg != null) | 
 |  |  |                                         { | 
 |  |  |                                             return _cfg.Describe; | 
 |  |  |                                         } | 
 |  |  |                                     } | 
 |  |  |                                 } | 
 |  |  |                                 break; | 
 |  |  |  | 
 |  |  |         //                                 return goodsName; | 
 |  |  |         //                             } | 
 |  |  |         //                         } | 
 |  |  |         //                         break; | 
 |  |  |         //                 } | 
 |  |  |         //             } | 
 |  |  |         //         } | 
 |  |  |         //         break; | 
 |  |  |         // } | 
 |  |  |                             case "treasureprivilege": | 
 |  |  |                                 { | 
 |  |  |                                     // var _id = 0; | 
 |  |  |                                     // if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |                                     // { | 
 |  |  |                                     //     var _cfg = TreasurePrivilegeConfig.Get(_id); | 
 |  |  |                                     //     if (_cfg != null) | 
 |  |  |                                     //     { | 
 |  |  |                                     //         return _cfg.Name; | 
 |  |  |                                     //     } | 
 |  |  |                                     // } | 
 |  |  |                                     return "treasureprivilege"; | 
 |  |  |                                 } | 
 |  |  |                                 break; | 
 |  |  |                              | 
 |  |  |                             // case "skytowerfloor": | 
 |  |  |                             //     { | 
 |  |  |                             //         var _id = 0; | 
 |  |  |                             //         if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |                             //         { | 
 |  |  |                             //             var config = SkyTowerConfig.Get(_id); | 
 |  |  |                             //             if (config != null) | 
 |  |  |                             //             { | 
 |  |  |                             //                 return config.floorName; | 
 |  |  |                             //             } | 
 |  |  |                             //         } | 
 |  |  |                             //     } | 
 |  |  |                             //     break; | 
 |  |  |                             case "coloritem": | 
 |  |  |                                 { | 
 |  |  |                                     var _id = 0; | 
 |  |  |                                     if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |                                     { | 
 |  |  |                                         var config = ItemConfig.Get(_id); | 
 |  |  |                                         if (config != null) | 
 |  |  |                                         { | 
 |  |  |                                             return StringUtility.Contact(GetItemColorName(config.ItemColor), AppendColor(config.ItemName, config.ItemColor, _dict)); | 
 |  |  |                                         } | 
 |  |  |                                     } | 
 |  |  |                                 } | 
 |  |  |                                 break; | 
 |  |  |                             // case "crossserverarena": | 
 |  |  |                             //     { | 
 |  |  |                             //         var _id = 0; | 
 |  |  |                             //         if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |                             //         { | 
 |  |  |                             //             var text = RichTextMgr.Inst.presentRichText; | 
 |  |  |                             //             int colorType = 0; | 
 |  |  |                             //             if (text != null) | 
 |  |  |                             //             { | 
 |  |  |                             //                 colorType = text.colorType == RichText.ColorType.Dark ? 0 : 1; | 
 |  |  |                             //             } | 
 |  |  |                             //             return UIHelper.AppendDanLVNameColor(_id, colorType == 1); | 
 |  |  |                             //         } | 
 |  |  |                             //     } | 
 |  |  |                             //     break; | 
 |  |  |  | 
 |  |  |                             case "title": | 
 |  |  |                                 { | 
 |  |  |                                     var _id = 0; | 
 |  |  |                                     if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) | 
 |  |  |                                     { | 
 |  |  |                                         return UIHelper.AppendColor(TextColType.Green, DienstgradConfig.Get(_id).Name, true); | 
 |  |  |                                     } | 
 |  |  |                                 } | 
 |  |  |                                 break; | 
 |  |  |                             case "orderInfo": | 
 |  |  |                                 { | 
 |  |  |                                     if (_dict.ContainsKey("id")) | 
 |  |  |                                     { | 
 |  |  |                                         var cpInfo = _dict["id"]; | 
 |  |  |                                         string goodsName = string.Empty; | 
 |  |  |                                         OrderInfoConfig orderInfo = null; | 
 |  |  |                                         if (RechargeManager.Instance.orderInfoToCTGID[cpInfo] != 0) | 
 |  |  |                                         { | 
 |  |  |                                             RechargeManager.Instance.TryGetOrderInfo(RechargeManager.Instance.orderInfoToCTGID[cpInfo], out orderInfo); | 
 |  |  |                                             goodsName = CTGConfig.Get(RechargeManager.Instance.orderInfoToCTGID[cpInfo]).Title; | 
 |  |  |                                         } | 
 |  |  |                                         else | 
 |  |  |                                         { | 
 |  |  |                                             var keys = OrderInfoConfig.GetKeys(); | 
 |  |  |                                             for (int i = 0; i < keys.Count; i++) | 
 |  |  |                                             { | 
 |  |  |                                                 orderInfo = OrderInfoConfig.Get(keys[i]); | 
 |  |  |                                                 if (orderInfo != null && orderInfo.OrderInfo == cpInfo) | 
 |  |  |                                                 { | 
 |  |  |                                                     break; | 
 |  |  |                                                 } | 
 |  |  |                                             } | 
 |  |  |                                             goodsName = Language.Get("DayGoods_1", UIHelper.GetMoneyFormat(orderInfo.PayRMBNum)); | 
 |  |  |                                         } | 
 |  |  |  | 
 |  |  |                                         return goodsName; | 
 |  |  |                                     } | 
 |  |  |                                 } | 
 |  |  |                                 break; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 break; | 
 |  |  |         } | 
 |  |  |         return string.Empty; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |         return UIHelper.AppendColor(_itemColor, info, colorType == 1); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     // static bool TryGetUserData(Dictionary<string, string> href, out Dictionary<int, List<int>> userdata) | 
 |  |  |     // { | 
 |  |  |     //     // userdata = null; | 
 |  |  |     //     // if (href.ContainsKey("itemplus")) | 
 |  |  |     //     // { | 
 |  |  |     //     //     var itemplus = LitJson.JsonMapper.ToObject<ItemTipUtility.CustomItemPlus>(href["itemplus"]); | 
 |  |  |     //     //     userdata = ConfigParse.Analysis(itemplus.UserData); | 
 |  |  |     //     // } | 
 |  |  |     //     // else if (href.ContainsKey("userdata")) | 
 |  |  |     //     // { | 
 |  |  |     //     //     userdata = ConfigParse.Analysis(href["userdata"]); | 
 |  |  |     //     // } | 
 |  |  |     //     return false; | 
 |  |  |     // } | 
 |  |  |     static bool TryGetUserData(Dictionary<string, string> href, out Dictionary<int, List<int>> userdata) | 
 |  |  |     { | 
 |  |  |         userdata = null; | 
 |  |  |         if (href.ContainsKey("itemplus")) | 
 |  |  |         { | 
 |  |  |             var itemplus = LitJson.JsonMapper.ToObject<ItemTipUtility.CustomItemPlus>(href["itemplus"]); | 
 |  |  |             userdata = ConfigParse.Analysis(itemplus.UserData); | 
 |  |  |         } | 
 |  |  |         else if (href.ContainsKey("userdata")) | 
 |  |  |         { | 
 |  |  |             userdata = ConfigParse.Analysis(href["userdata"]); | 
 |  |  |         } | 
 |  |  |         return false; | 
 |  |  |     } | 
 |  |  | } |