Show / Hide Table of Contents

Class UserRoster

A roster maintains a list of users in which both the owner of the list and the user being added need to approve. It tracks a set of members (externally defined), a set of applicants, and a set of invitees. This is used for membership requirements like residency, classrooms, and citizenship.

Inheritance
System.Object
UserRoster
Implements
System.ComponentModel.INotifyPropertyChanged
IThreadSafeSubscriptions
ISubscriptions<ThreadSafeSubscriptions>
ISubscriptions
IRoster
IHasClientControlledContainers
IController
IViewController
IHasUniversalID
Namespace: Eco.Gameplay.UI
Assembly: Eco.Gameplay.dll
Syntax
public class UserRoster : Object, INotifyPropertyChanged, IThreadSafeSubscriptions, ISubscriptions<ThreadSafeSubscriptions>, ISubscriptions, IRoster, IHasClientControlledContainers, IController, IViewController, IHasUniversalID

Constructors

UserRoster()

Declaration
public UserRoster()

Properties

Applicants

Declaration
[ConfirmDelete]
public ControllerHashSet<User> Applicants { get; set; }
Property Value
Type Description
ControllerHashSet<User>

ApplicantsAllowed

Declaration
public bool ApplicantsAllowed { get; set; }
Property Value
Type Description
System.Boolean

ControllerID

Declaration
public ref int ControllerID { get; }
Property Value
Type Description
System.Int32

ExtraInfo

Declaration
public LocString ExtraInfo { get; set; }
Property Value
Type Description
LocString

Invited

Declaration
[ConfirmDelete]
public ControllerHashSet<IAlias> Invited { get; set; }
Property Value
Type Description
ControllerHashSet<IAlias>

MemberAddedEvent

Declaration
public ThreadSafeAction<INetObject, object> MemberAddedEvent { get; }
Property Value
Type Description
ThreadSafeAction<INetObject, System.Object>

MemberCount

Declaration
public int MemberCount { get; }
Property Value
Type Description
System.Int32

MemberRemovedEvent

Declaration
public ThreadSafeAction<INetObject, object> MemberRemovedEvent { get; }
Property Value
Type Description
ThreadSafeAction<INetObject, System.Object>

Members

Declaration
[ConfirmDelete]
public ControllerHashSet<User> Members { get; set; }
Property Value
Type Description
ControllerHashSet<User>

MembersChangedEvent

Declaration
public ThreadSafeAction MembersChangedEvent { get; }
Property Value
Type Description
ThreadSafeAction

Status

Declaration
public LocString Status { get; }
Property Value
Type Description
LocString

Subscriptions

Declaration
public ref ThreadSafeSubscriptions Subscriptions { get; }
Property Value
Type Description
ThreadSafeSubscriptions

Title

Declaration
public LocString Title { get; }
Property Value
Type Description
LocString

Methods

AcceptInvitation(User)

Declaration
public void AcceptInvitation(User user)
Parameters
Type Name Description
User user

AddToRoster(User, User, Boolean, Boolean)

Declaration
public void AddToRoster(User userAdding, User userToAdd, bool sendNotice, bool forceAdd = false)
Parameters
Type Name Description
User userAdding
User userToAdd
System.Boolean sendNotice
System.Boolean forceAdd

AdminAssign(Player)

Declaration
public Task AdminAssign(Player player)
Parameters
Type Name Description
Player player
Returns
Type Description
System.Threading.Tasks.Task

Apply(User)

Declaration
public void Apply(User user)
Parameters
Type Name Description
User user

Approve(User, User)

Declaration
public void Approve(User userApproving, User userApplicant)
Parameters
Type Name Description
User userApproving
User userApplicant

CanAcceptInvitation(User)

Declaration
public bool CanAcceptInvitation(User user)
Parameters
Type Name Description
User user
Returns
Type Description
System.Boolean

CanAdminAssign(Player)

Declaration
public bool CanAdminAssign(Player player)
Parameters
Type Name Description
Player player
Returns
Type Description
System.Boolean

CanApply(User)

Declaration
public bool CanApply(User user)
Parameters
Type Name Description
User user
Returns
Type Description
System.Boolean

CanApprove(User)

Declaration
public bool CanApprove(User user)
Parameters
Type Name Description
User user
Returns
Type Description
System.Boolean

CanInvite(User)

Declaration
public bool CanInvite(User user)
Parameters
Type Name Description
User user
Returns
Type Description
System.Boolean

CanLeave(User)

Declaration
public bool CanLeave(User user)
Parameters
Type Name Description
User user
Returns
Type Description
System.Boolean

Finalize()

Declaration
protected override void Finalize()

ForceRemoveMember(User, UserRoster)

Declaration
public bool ForceRemoveMember(User user, UserRoster rosterToJoinUponLeaving = null)
Parameters
Type Name Description
User user
UserRoster rosterToJoinUponLeaving

In case we want the user to join another roster before leaving this one.

Returns
Type Description
System.Boolean

Initialize(WorldObject)

Declaration
public void Initialize(WorldObject hostObject)
Parameters
Type Name Description
WorldObject hostObject

Invite(User)

Declaration
public void Invite(User invitingUser)
Parameters
Type Name Description
User invitingUser

IsApplicant(User)

Declaration
public bool IsApplicant(User user)
Parameters
Type Name Description
User user
Returns
Type Description
System.Boolean

Leave(User, Boolean, UserRoster)

Declaration
public void Leave(User userLeaving, bool notify = true, UserRoster rosterToJoinUponLeaving = null)
Parameters
Type Name Description
User userLeaving
System.Boolean notify
UserRoster rosterToJoinUponLeaving

If we want the player to join another roster before actually leaving this one then we specifiy this param.

LeaveAndJoinAnotherRoster(User, Boolean)

This will make sure to check whether the player should join another roster upon leaving or not.

Declaration
public void LeaveAndJoinAnotherRoster(User userLeaving, bool notify = true)
Parameters
Type Name Description
User userLeaving
System.Boolean notify

RejectApplication(User)

Declaration
public void RejectApplication(User userSelfCancelling)
Parameters
Type Name Description
User userSelfCancelling

RejectApplication(User, User)

Declaration
public void RejectApplication(User userApproving, User deniedUser)
Parameters
Type Name Description
User userApproving
User deniedUser

RemoveApplicant(User)

Declaration
public bool RemoveApplicant(User user)
Parameters
Type Name Description
User user
Returns
Type Description
System.Boolean

RemoveInvited(User)

Declaration
public bool RemoveInvited(User user)
Parameters
Type Name Description
User user
Returns
Type Description
System.Boolean

SetApprover(IAlias)

Declaration
public void SetApprover(IAlias approver)
Parameters
Type Name Description
IAlias approver

SetDescriptions(LocString, LocString)

Updates the names of the memberships.

Declaration
public void SetDescriptions(LocString memberDesc, LocString memberDescPlural)
Parameters
Type Name Description
LocString memberDesc
LocString memberDescPlural

SubscribeRosterChange(Action)

Declaration
public void SubscribeRosterChange(Action onChanged)
Parameters
Type Name Description
System.Action onChanged

TryInvite(User, IAlias, Boolean)

Declaration
public bool TryInvite(User userInviting, IAlias userInvited, bool notifyInviter = true)
Parameters
Type Name Description
User userInviting
IAlias userInvited
System.Boolean notifyInviter
Returns
Type Description
System.Boolean

Events

CanAcceptInviteCallback

Declaration
public event Func<User, Task<bool>> CanAcceptInviteCallback
Event Type
Type Description
System.Func<User, System.Threading.Tasks.Task<System.Boolean>>

CanApplyCallback

Declaration
public event Func<User, Task<bool>> CanApplyCallback
Event Type
Type Description
System.Func<User, System.Threading.Tasks.Task<System.Boolean>>

CanBeMember

Declaration
public event Func<User, Player, Result> CanBeMember
Event Type
Type Description
System.Func<User, Player, Result>

CanLeaveCallback

Declaration
public event Func<User, Task<bool>> CanLeaveCallback
Event Type
Type Description
System.Func<User, System.Threading.Tasks.Task<System.Boolean>>

CheckAdminAssign

Declaration
public event Func<Player, IEnumerable<User>, Task<bool>> CheckAdminAssign
Event Type
Type Description
System.Func<Player, System.Collections.Generic.IEnumerable<User>, System.Threading.Tasks.Task<System.Boolean>>

PropertyChanged

Declaration
public event PropertyChangedEventHandler PropertyChanged
Event Type
Type Description
System.ComponentModel.PropertyChangedEventHandler

ShouldJoinUponLeaving

Declaration
public event Func<User, Task<UserRoster>> ShouldJoinUponLeaving
Event Type
Type Description
System.Func<User, System.Threading.Tasks.Task<UserRoster>>

Implements

System.ComponentModel.INotifyPropertyChanged
IThreadSafeSubscriptions
ISubscriptions<TSubscriptionsList>
ISubscriptions
IRoster
IHasClientControlledContainers
IController
IViewController
IHasUniversalID

Extension Methods

TagUtils.TagNames(Object, Boolean)
TagUtils.TagDisplayNames(Object, Boolean)
ClientSetViewExtensions.SetClassOfProperty(Object, Player, String, String, Int32)
TypeTooltipExtensions.UILinkGeneric(Object)
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾