示例#1
0
        public void RegisterCustomRole(RoleInformation role)
        {
            if (role.ID >= 0 && role.ID <= HighestRole)
            {
                throw new SynapseRoleAlreadyRegisteredException("A Plugin tried to register a CustomRole with an Id of a vanilla RoleType", role);
            }
            if (IsIDRegistered(role.ID))
            {
                throw new SynapseRoleAlreadyRegisteredException("A Role was registered with an already registered ID", role);
            }

            CustomRoles.Add(role);
        }
示例#2
0
        public void RegisterCustomRole <TRole>() where TRole : IRole
        {
            var role = (IRole)Activator.CreateInstance(typeof(TRole));
            var info = new RoleInformation(role.GetRoleName(), role.GetRoleID(), typeof(TRole));

            if (role.GetRoleID() >= 0 && role.GetRoleID() <= HighestRole)
            {
                throw new SynapseRoleAlreadyRegisteredException("A Plugin tried to register a CustomRole with an Id of a vanilla RoleType", info);
            }
            if (IsIDRegistered(role.GetRoleID()))
            {
                throw new SynapseRoleAlreadyRegisteredException("A Role was registered with an already registered ID", info);
            }

            CustomRoles.Add(info);
        }