Ejemplo n.º 1
0
        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);
        }