public PlayerMethodDescriptor(string name, PlayerMethodDelegate method,
                               Type methodReturnType)
     : base(name, null)
 {
     _method           = method;
     _methodReturnType = methodReturnType;
 }
示例#2
0
        public PropertyDescriptorCollection GetView()
        {
            List <PropertyDescriptor> props = new List <PropertyDescriptor>();
            PlayerMethodDelegate      del   = delegate(Player p)
            {
                return(p.name);
            };

            props.Add(new PlayerMethodDescriptor("Name", del, typeof(string)));

            del = delegate(Player p) {
                return(p.level.name);
            };
            props.Add(new PlayerMethodDescriptor("Map", del, typeof(string)));

            del = delegate(Player p)
            {
                return(p.group.name);
            };
            props.Add(new PlayerMethodDescriptor("Rank", del, typeof(string)));

            del = delegate(Player p)
            {
                if (p.hidden)
                {
                    return("hidden");
                }
                if (Server.afkset.Contains(p.name))
                {
                    return("afk");
                }
                return("active");
            };
            props.Add(new PlayerMethodDescriptor("Status", del, typeof(string)));

            PropertyDescriptor[] propArray = new PropertyDescriptor[props.Count];
            props.CopyTo(propArray);
            return(new PropertyDescriptorCollection(propArray));
        }