public static MessagePiece BuildSysMsgItem(string msgText) { var dictionary = ChatUtils.BuildParametersDictionary(msgText); var id = ChatUtils.GetId(dictionary, "item"); var uid = ChatUtils.GetItemUid(dictionary); var rawLink = new StringBuilder("1#####"); rawLink.Append(id.ToString()); if (uid != 0) { rawLink.Append("@" + uid); } if (dictionary.TryGetValue("UserName", out var username)) { rawLink.Append("@" + username); } else { username = SessionManager.CurrentPlayer.Name; } var name = $"Unknown item [{id}]"; var grade = RareGrade.Common; if (SessionManager.DB.ItemsDatabase.Items.TryGetValue(id, out var i)) { name = i.Name; grade = i.RareGrade; } var mp = new MessagePiece($"<{name}>") { Type = MessagePieceType.Item, //BoundType = i.BoundType, ItemId = id, ItemUid = uid, OwnerName = username, RawLink = rawLink.ToString() }; mp.SetColor(ChatUtils.GradeToColorString(grade)); return(mp); }
public static MessagePiece BuildSysMsgItem(string msgText) { var dictionary = ChatUtils.BuildParametersDictionary(msgText); var id = ChatUtils.GetId(dictionary, "item"); var uid = ChatUtils.GetItemUid(dictionary); var rawLink = new StringBuilder("1#####"); rawLink.Append(id.ToString()); if (uid != 0) { rawLink.Append("@" + uid.ToString()); } var username = SessionManager.CurrentPlayer.Name; if (dictionary.ContainsKey("UserName")) { username = dictionary["UserName"]; rawLink.Append("@" + username); } var mp = new MessagePiece(id.ToString()); if (SessionManager.ItemsDatabase.Items.TryGetValue(id, out var i)) { var txt = $"<{i.Name}>"; mp = new MessagePiece(txt) { Type = MessagePieceType.Item, //BoundType = i.BoundType, ItemId = id, ItemUid = uid, OwnerName = username, RawLink = rawLink.ToString() }; mp.SetColor(ChatUtils.GetItemColor(i)); } return(mp); }