Show / Hide Table of Contents

Class Channel

Channels are managed via ChannelManager. Channel has a Manager/User permission set using Aliases, that allows creating rich and contextual communication hubs in game.

Inheritance
System.Object
SimpleEntry
Channel
Implements
ILinkableParameterized<System.Boolean>
ILinkableParameterized<SimpleEntry.NamingOptions>
ILinkable
ICachesValidity
System.ComponentModel.INotifyPropertyChanged
IDescribable
ISuffixName
IThreadSafeSubscriptions
ISubscriptions<ThreadSafeSubscriptions>
ISubscriptions
ISpecialRegistrarEntry
ICustomValidity
IValidity
IHasClientControlledContainers
IChatReceiver
IHasID
INamed
IReInitializable
IHasReferenceableSerializableID
IHasSerializableID
IRemovableEntry
IController
IViewController
IHasUniversalID
Inherited Members
SimpleEntry.Description()
SimpleEntry.PostLoad()
SimpleEntry.CreatorText(Player)
SimpleEntry.ToString()
SimpleEntry.SaveInRegistrar()
SimpleEntry.UILinkContent()
SimpleEntry.UILinkContent(Boolean)
SimpleEntry.UILinkContent(SimpleEntry.NamingOptions)
SimpleEntry.ReInitialize()
SimpleEntry.MarkDirty()
SimpleEntry.UserDescription
SimpleEntry.Creator
SimpleEntry.NameSuffix
SimpleEntry.CreationTime
SimpleEntry.CachedValidity
SimpleEntry.IsDestroyed
SimpleEntry.OnValidityChanged
SimpleEntry.Initialized
SimpleEntry.MarkedUpName
SimpleEntry.Id
SimpleEntry.IconName
SimpleEntry.Registrar
SimpleEntry.WorldTimeSinceCreation
SimpleEntry.TextName
SimpleEntry.Scannable
SimpleEntry.Style
SimpleEntry.ControllerID
SimpleEntry.TrueResult
SimpleEntry.Subscriptions
SimpleEntry.PropertyChanged
Namespace: Eco.Gameplay.Systems.Messaging.Chat.Channels
Assembly: Eco.Gameplay.dll
Syntax
public class Channel : SimpleEntry, ILinkableParameterized<bool>, ILinkableParameterized<SimpleEntry.NamingOptions>, ILinkable, ICachesValidity, INotifyPropertyChanged, IDescribable, ISuffixName, IThreadSafeSubscriptions, ISubscriptions<ThreadSafeSubscriptions>, ISubscriptions, ISpecialRegistrarEntry, ICustomValidity, IValidity, IHasClientControlledContainers, IChatReceiver, IHasID, INamed, IReInitializable, IHasReferenceableSerializableID, IHasSerializableID, IRemovableEntry, IController, IViewController, IHasUniversalID

Constructors

Channel()

Declaration
public Channel()

Fields

OnChange

Declaration
public static ThreadSafeAction<Channel> OnChange
Field Value
Type Description
ThreadSafeAction<Channel>

Properties

CanBeDeleted

Declaration
public override bool CanBeDeleted { get; }
Property Value
Type Description
System.Boolean
Overrides
SimpleEntry.CanBeDeleted

ChatRecipients

Declaration
public IEnumerable<User> ChatRecipients { get; set; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<User>

ChatTag

Declaration
public string ChatTag { get; }
Property Value
Type Description
System.String

Managers

Declaration
[ClientCanSelectAndAdd("Select Managers", "Manager", "Managers", true)]
public ControllerAliasSet Managers { get; set; }
Property Value
Type Description
ControllerAliasSet

MarkedUpChatTag

Declaration
public string MarkedUpChatTag { get; }
Property Value
Type Description
System.String

Name

Declaration
public override string Name { get; }
Property Value
Type Description
System.String
Overrides
SimpleEntry.Name

SpecialType

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

Users

Declaration
[ClientCanSelectAndAdd("Select Users", "User", "Users", true)]
public ControllerAliasSet Users { get; set; }
Property Value
Type Description
ControllerAliasSet

Methods

AccessType(User)

Declaration
public AccountAccess AccessType(User user)
Parameters
Type Name Description
User user
Returns
Type Description
AccountAccess

CanAccess(User, AccountAccess)

Declaration
public Result CanAccess(User user, AccountAccess access)
Parameters
Type Name Description
User user
AccountAccess access
Returns
Type Description
Result

Destroyed()

Declaration
public override void Destroyed()
Overrides
SimpleEntry.Destroyed()

GetLinkableName()

Define a string that will be parsed as a link for the Channel, so we do not overlap custom names of channels and simple words or names of other objects.

Declaration
public string GetLinkableName()
Returns
Type Description
System.String

Initialize()

Declaration
public override void Initialize()
Overrides
SimpleEntry.Initialize()

OnLinkClicked(TooltipOrigin, TooltipClickContext, User)

Set this channel as a receiver (change output tag) with clicking on it's name in the Chat Log.

Declaration
public override void OnLinkClicked(TooltipOrigin origin, TooltipClickContext clickContext, User user)
Parameters
Type Name Description
TooltipOrigin origin
TooltipClickContext clickContext
User user
Overrides
SimpleEntry.OnLinkClicked(TooltipOrigin, TooltipClickContext, User)

Remove(User)

Declaration
public Task<bool> Remove(User caller)
Parameters
Type Name Description
User caller
Returns
Type Description
System.Threading.Tasks.Task<System.Boolean>

Valid()

Declaration
public Result Valid()
Returns
Type Description
Result

VerifyCanRemove(Player, IClientControlledContainer, Object)

Declaration
public Task<Result> VerifyCanRemove(Player player, IClientControlledContainer container, object obj)
Parameters
Type Name Description
Player player
IClientControlledContainer container
System.Object obj
Returns
Type Description
System.Threading.Tasks.Task<Result>

Implements

ILinkableParameterized<T>
ILinkableParameterized<T>
ILinkable
ICachesValidity
System.ComponentModel.INotifyPropertyChanged
IDescribable
ISuffixName
IThreadSafeSubscriptions
ISubscriptions<TSubscriptionsList>
ISubscriptions
ISpecialRegistrarEntry
ICustomValidity
IValidity
IHasClientControlledContainers
IChatReceiver
IHasID
INamed
IReInitializable
IHasReferenceableSerializableID
IHasSerializableID
IRemovableEntry
IController
IViewController
IHasUniversalID

Extension Methods

TagUtils.TagNames(Object, Boolean)
TagUtils.TagDisplayNames(Object, Boolean)
ClientSetViewExtensions.SetClassOfProperty(Object, Player, String, String, Int32)
TypeTooltipExtensions.UILinkGeneric(Object)
ILinkableTooltipLibrary.ChannelLinkClicked(Channel)
MiscTooltipLibrary.SimpleEntryTooltip(SimpleEntry, User)
MiscTooltipLibrary.SimpleEntryTitle(SimpleEntry)
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾