Show / Hide Table of Contents

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

IRPCAttribute

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.

IServerInfo

IWorldObserver

☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾