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<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));
|
// }
|
|
// 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<ItemTipUtility.CustomItemPlus>(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<string, string> 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<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;
|
// }
|
}
|