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); }
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); }