Exemple #1
0
        public JsonObject Serialize()
        {
            JsonObject obj = new JsonObject {
                { NameTag, Name }, { IDTag, ID }
            };

            string colorName = ChatColor.GetName(Color);

            if (colorName != null)
            {
                obj.Add(ColorTag, colorName);
            }

            if (Prefix.Length > 0)
            {
                obj.Add(PrefixTag, Prefix);
            }
            obj.Add(AgBlocksTag, AntiGriefBlocks);
            obj.Add(AgSecondsTag, AntiGriefSeconds);

            if (DrawLimit > 0)
            {
                obj.Add(DrawLimitTag, DrawLimit);
            }
            if (IdleKickTimer > 0)
            {
                obj.Add(IdleKickTag, IdleKickTimer);
            }
            if (ReservedSlot)
            {
                obj.Add(ReserveTag, ReservedSlot);
            }
            if (AllowSecurityCircumvention)
            {
                obj.Add(SecurityCircTag, AllowSecurityCircumvention);
            }

            obj.Add(CopyTag, CopySlots);
            obj.Add(FillTag, FillLimit);
            List <PermissionJsonObject> perms = new List <PermissionJsonObject>();

            for (int i = 0; i < Enum.GetValues(typeof(Permission)).Length; i++)
            {
                PermissionJsonObject pt = new PermissionJsonObject();
                if (Permissions[i])
                {
                    pt.PermissionValue = i;

                    if (PermissionLimits[i] != null)
                    {
                        pt.PerissionLimitString = "max: " + GetLimit((Permission)i).FullName;
                    }
                }

                perms.Add(pt);
            }

            return(obj);
        }