Namespace Eco.Shared.Networking
Classes
AnyStateAllowedAttribute
Mark a property as able to refernce any state of Proposablew.
AutoRPCAttribute
Creates an RPC in the view for the client to change this property.
BackgroundAttribute
ClientAPIAttribute
Marks method or class with all it's members as Client API. It prevents it marked as unused and adds semantic about use cases.
ClientUpdate
Contains data for ClientUpdate events. Every ClientUpdate belongs to network queue with Eco.Shared.Networking.ClientUpdate.networkChannel. Queue index defines associated NetworkEvent as ClientUpdateIndex (i.e. ClientUpdateGeneral and ClientUpdateChunks). It has four data arrays for Created objects, Updated objects, Destroyed objects and ViewUpdates. They should be filled and then flushed with Send(INetClient) method. Only non-empty arrays sent. If all arrays are empty then Send(INetClient) call will be ignored unless ForceSend is set.
Constants
Constants.AuthBranch
Enum to determine current auth environment.
CustomIconOnTypeTooltipAttribute
Use to have a property prepended with an icon different than its type's.
Example: Alias has no icon of its own, but we want it to appear with the icon of 'Demographics', so we apply [CustomIconOnTypeTooltip(typeof(Demographics))].
CustomRPCSetterAttribute
Default
DefaultNetObjectCollection
DefaultNetObjectViewerCollection
DerivesAttribute
DoNotLinkOnTypeTooltipAttribute
Marks the type as non-linkable, even if it inherits from ILinkable. Types with this will not be linked from CivicsTooltip.
EcoAttribute
One attribute to rule them all. This gives all the bells-and-whistles to a property or class, including:
- Serialized. Loads and saves the entry.
- SyncToView. It creates a view of the property on the client and keeps it updated.
- AutoRPC. Creates an RPC for the client to edit this parameter.
- AutoGen. Tags the member to have UI generated for it automatically created on the client.
- Property Scanning. The Property Scanner will traverse into it to update validity.
- PropertyExplanation. Explains the property.
EcoTextLimitAttribute
Limit the strings to a certain range, based on the text type
EcoTextLimitAttribute.TextRangeStyle
ForceAotHint
Used to force add a specific class/struct to AoTHints in ViewAutogen on the client, see AutoGenViews.cs for more details.
ForceScanSubPropAttribute
Mark a property as to traverse its sub properties, even if it wouldn't usually otherwise (ie, references dont usually 'scan into')
FragmentedMessageHandler
IgnoreValidityAttribute
When this is encountered, the Property Scanner will continue scanning that property and any children properties, but will no longer check validity. This is useful when you have a property with members who's validity shouldnt affect our own (like actions that an election references), but you still want to perform the other features PropertyManager provides (like setting up references).
IncrementAttribute
For editable numbers, the default increment.
KeepIconAttribute
Keep class icon when using as property for GameValue instead of context icon.
Example: GameAction contains Citizen property and uses context icon, this attribute will force any User property to use it's own icon.
NatPunchThroughHandler
NatPunchThroughHandler.PeerKind
NetEntity
NetMessage
NetObjAttachInfo
NetObject
NetObjectController
NetObjectExtensions
NetObjectManager
NetObjectPriority
NetPhysicsEntity
NetStats
NetworkChannel
Network events are sent via different channels, this allows to have better performance, ensuring that heavy stuff from one queue will still allow other objects to be updated. Read more here: https://github.com/StrangeLoopGames/Eco/tree/develop/Server/Eco.Shared/Networking#network-queues-for-client-updates
NetworkClient
NetworkClient.PingRequest
NetworkEvent
NetworkUtils
ProfanityAttribute
Filter profanity RPC properties and parameters
ProfanityPropertyAttribute
Filter profanity RPC properties and parameters by replacing with some specific property
RangeAttribute
Limit the strings to a certain range, based on the text type
ReceivedNetworkPacket
RelayClient
RPCAttribute
Creates an RPC that can be called on the client. See RPCAuthorization.md for details.
RPCEvent
Handles BSON packaging for the RPC calls and used by RPCManager
RPCInfo
RPCInfo contains identifying information for RPC method. The method may be called by name or by Id (usually faster and may be only way to call overloaded RPC methods). This info shared with client.
RPCInvocation
Contains information about RPCMethod invocation including method itself, target and prepared args. Used as prepared call for RPCManager internally and also may be used externally if you need to do some kind of postprocessing/security checks on invocation.
RPCManager
Manager responsible for RPC lookup and invocation.
RPCMethod
RPCMethod contains all meta information about RPC method like name, flags, required arguments, required access etc.
RPCMethodFlags
Important flags for RPCMethod.
ScanPropAttribute
Mark a property as being traversed by Property Scanner, even if not tagged [Eco].
ServerInfo
Stores extended information about a world. Stored as a json string inside the strange world cloud data.
ServerJoinRequest
SharedAttributeExtensions
SkillSpecializationSetting
StrangeWorld
TreatAsReferenceAttribute
Used for things that reference types like 'object', and we should consider them references from a scanning point of view.
UdpConnectionStatus
UdpDataMessage
UdpPeerExtensions
UnconnectedUdpMessageHeader
ViewDistance
ViewDistance structure used by IWorldObserver for representing view distance optimized for checks. Visible is when object is visible in the view distance and NotVisible is when object is out of view distance. It usually higher than Visible value to avoid too adding and removing objects in the view.
Interfaces
IAttributeTooltip
INetClient
INetObject
INetObjectCollection
INetObjectContainer
INetObjectManager
Interface for INetObject manager.
INetObjectName
Interface which may be implemented by INetObject to expose custom name for network object (i.e. for logging).
INetObjectPosition
INetObjectPriority
INetObjectViewer
INetObjectViewerCollection
INetworkEventHandler
INetworkInterceptor
Allows an object to intercept BSONObjects being sent.
See AddNetworkInteceptor(INetworkInterceptor) and RemoveNetworkInterceptor(INetworkInterceptor) for adding/removing INetworkInterceptor instances.
INotifyNetObjectDestroy
INotifyRemoval
IObserverConversionTarget
IPositionAndBounds
IRPCAuthChecks
Add to an object and when any RPC is called on it, it will first do the following auth check.
IRpcMethodHandler
Custom RPC find method handler, for unity side to route RPCs to corresponding components instead of the NetObjComponent. Read more about RPC in Eco.Shared/Networking/README.md.