using vnxbqy.UI; using System; using System.Collections.Generic; using UnityEngine; // TODO YYL public class RichTableEvent : TRichTextEvent { public RichTableEvent() { RichTextMgr.Inst.RegisterEvent(RichTextEventEnum.TABLE, this); RichTextMgr.Inst.RegisterEvent(RichTextEventEnum.SHOWITEM, this); } 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; // } return false; } public override string GetDisplay(RichTextEventEnum type, Dictionary _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> 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("|"); // } // } // 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(); // 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)); // } // return goodsName; // } // } // break; // } // } // } // break; // } return string.Empty; } private void DisplayItem(int itemId, RichTextMgr.HrefInfo hrefInfo) { // ItemTipUtility.CustomItemPlus itemplus = default(ItemTipUtility.CustomItemPlus); // itemplus.Preview = 1; // if (hrefInfo.mSplits.ContainsKey("itemplus") && !string.IsNullOrEmpty(hrefInfo.mSplits["itemplus"])) // { // itemplus = LitJson.JsonMapper.ToObject(hrefInfo.mSplits["itemplus"]); // itemplus.Preview = 0; // } // else if (hrefInfo.mSplits.ContainsKey("guid")) // { // var userdata = string.Empty; // if (hrefInfo.mSplits.ContainsKey("userdata")) // { // userdata = hrefInfo.mSplits["userdata"]; // } // var guid = hrefInfo.mSplits["guid"]; // if (!string.IsNullOrEmpty(guid)) // { // RichViewItemUtility.SendViewNotifyItem(guid, userdata); // return; // } // } // else if (hrefInfo.mSplits.ContainsKey("userdata")) // { // itemplus.UserData = hrefInfo.mSplits["userdata"]; // } // RichViewItemUtility.DisplayItem(itemId, itemplus); } static string GetItemColorName(int _itemColor) { // switch (_itemColor) // { // case 2: // return Language.Get("EquipSuitBlue"); // case 3: // return Language.Get("EquipSuitPurple"); // case 4: // return Language.Get("EquipSuitOrange"); // case 5: // return Language.Get("EquipSuitRed"); // default: // return Language.Get("EquipSuitWhite"); // } return string.Empty; } static string AppendColor(string info, int _itemColor, Dictionary dic) { if (dic.ContainsKey("col")) { if (int.Parse(dic["col"]) == 0) { return info; } } var text = RichTextMgr.Inst.presentRichText; int colorType = 0; if (text != null) { colorType = text.colorType == RichText.ColorType.Dark ? 0 : 1; } return UIHelper.AppendColor(_itemColor, info, colorType == 1); } // static bool TryGetUserData(Dictionary href, out Dictionary> userdata) // { // // userdata = null; // // if (href.ContainsKey("itemplus")) // // { // // var itemplus = LitJson.JsonMapper.ToObject(href["itemplus"]); // // userdata = ConfigParse.Analysis(itemplus.UserData); // // } // // else if (href.ContainsKey("userdata")) // // { // // userdata = ConfigParse.Analysis(href["userdata"]); // // } // return false; // } }