Show / Hide Table of Contents

Class ViewManager

Manages Views on client. Read more details about View System in ViewSystem.md.

Inheritance
System.Object
ViewManager
Namespace: Eco.Shared.View
Assembly: Eco.Shared.dll
Syntax
public static class ViewManager : Object

Fields

DataBlobs

Declaration
public static Dictionary<int, byte[]> DataBlobs
Field Value
Type Description
System.Collections.Generic.Dictionary<System.Int32, System.Byte[]>

DataCache

Declaration
public static ViewManager.IDataCache DataCache
Field Value
Type Description
ViewManager.IDataCache

IdToViewClassInfo

Declaration
public static Dictionary<int, ViewClassInfo> IdToViewClassInfo
Field Value
Type Description
System.Collections.Generic.Dictionary<System.Int32, ViewClassInfo>

NameToViewClassInfo

Declaration
public static Dictionary<string, ViewClassInfo> NameToViewClassInfo
Field Value
Type Description
System.Collections.Generic.Dictionary<System.String, ViewClassInfo>

Properties

Client

Declaration
public static INetObject Client { get; }
Property Value
Type Description
INetObject

Methods

AddError(String)

Declaration
public static void AddError(string error)
Parameters
Type Name Description
System.String error

BindController(INetObject)

Declaration
public static void BindController(INetObject controller)
Parameters
Type Name Description
INetObject controller

Clear()

Declaration
public static void Clear()

CollectInvalidSubscriptions()

Collects all invalid subscriptions. Invalid subscription is a IPropertySubscription which has null or destroyed target for an instance method (it is always null for static methods).

Declaration
public static IEnumerable<IPropertySubscription> CollectInvalidSubscriptions()
Returns
Type Description
System.Collections.Generic.IEnumerable<IPropertySubscription>

CollectViewStats()

Collect stats about existing views in ViewManager. May be used for statistic and leaks detection.

Declaration
public static IEnumerable<IGrouping<string, View.ViewData>> CollectViewStats()
Returns
Type Description
System.Collections.Generic.IEnumerable<System.Linq.IGrouping<System.String, View.ViewData>>

DerivedTypes(Int32)

Declaration
public static IEnumerable<ViewClassInfo> DerivedTypes(int typeID)
Parameters
Type Name Description
System.Int32 typeID
Returns
Type Description
System.Collections.Generic.IEnumerable<ViewClassInfo>

DerivedTypesRecursive(Int32, Boolean)

Returns all the derived types for the given type id.

Declaration
public static IEnumerable<ViewClassInfo> DerivedTypesRecursive(int typeID, bool includeObject)
Parameters
Type Name Description
System.Int32 typeID
System.Boolean includeObject
Returns
Type Description
System.Collections.Generic.IEnumerable<ViewClassInfo>

GetAndClearErrors()

Declaration
public static string GetAndClearErrors()
Returns
Type Description
System.String

GetProperties(Int32)

Declaration
public static Dictionary<int, PropertyInfo> GetProperties(int typeID)
Parameters
Type Name Description
System.Int32 typeID
Returns
Type Description
System.Collections.Generic.Dictionary<System.Int32, System.Reflection.PropertyInfo>

GetTypeFromID(Int32)

Declaration
public static Type GetTypeFromID(int id)
Parameters
Type Name Description
System.Int32 id
Returns
Type Description
System.Type

GetView(Int32)

Returns the view with the given ID if we have it, otherwise null.

Declaration
public static View GetView(int viewID)
Parameters
Type Name Description
System.Int32 viewID
Returns
Type Description
View

GetView<T>(Int32)

Declaration
public static T GetView<T>(int viewID)
    where T : View
Parameters
Type Name Description
System.Int32 viewID
Returns
Type Description
T
Type Parameters
Name Description
T

GetViewClassInfo(Int32)

Declaration
public static ViewClassInfo GetViewClassInfo(int id)
Parameters
Type Name Description
System.Int32 id
Returns
Type Description
ViewClassInfo

GetViewClassInfo(String)

Declaration
public static ViewClassInfo GetViewClassInfo(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
ViewClassInfo

Initialize(IEnumerable<Assembly>, ViewManager.IDataCache)

Declaration
public static void Initialize(IEnumerable<Assembly> assemblies, ViewManager.IDataCache cache = null)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<System.Reflection.Assembly> assemblies
ViewManager.IDataCache cache

LogError(String)

Declaration
public static void LogError(string s)
Parameters
Type Name Description
System.String s

NotifyAllViews()

Notifies all views about all subscribed properties changes. NOT INTENDED FOR PRODUCTION USAGE. ONLY FOR DEBUGGING!

Declaration
public static void NotifyAllViews()

PackageView(Object, in BsonSerializationContext)

Declaration
public static BSONObject PackageView(object view, in BsonSerializationContext context)
Parameters
Type Name Description
System.Object view
BsonSerializationContext context
Returns
Type Description
BSONObject

ReceiveViewData(BSONObject)

Declaration
public static void ReceiveViewData(BSONObject data)
Parameters
Type Name Description
BSONObject data

ReceiveViewUpdate(BSONArray)

Declaration
public static void ReceiveViewUpdate(BSONArray updates)
Parameters
Type Name Description
BSONArray updates

ReleaseUnusedViews(TimeLimit)

Declaration
public static void ReleaseUnusedViews(TimeLimit timeLimit)
Parameters
Type Name Description
TimeLimit timeLimit

SampleViewTraces(String, Int32, Int32)

Returns InfoBuilder with traces for n views of viewType type (see TraceViewRefs(Int32)). Optionally it can skip firt skipN elements.

Declaration
public static InfoBuilder SampleViewTraces(string viewType, int n, int skipN = 0)
Parameters
Type Name Description
System.String viewType
System.Int32 n
System.Int32 skipN
Returns
Type Description
InfoBuilder

TraceViewRefs(Int32)

Traces existing views for references to view with specified viewId. It helps to debug why some view was added to the client and why it wasn't GC.

Declaration
public static string TraceViewRefs(int viewId)
Parameters
Type Name Description
System.Int32 viewId
Returns
Type Description
System.String

TryGetTypeFromID(Int32, out Type)

Declaration
public static bool TryGetTypeFromID(int id, out Type type)
Parameters
Type Name Description
System.Int32 id
System.Type type
Returns
Type Description
System.Boolean

TryGetView(Int32, out View)

Try get View by id. It may not return view if it wasn't received or already released (has no active ref).

Declaration
public static bool TryGetView(int viewId, out View view)
Parameters
Type Name Description
System.Int32 viewId
View view
Returns
Type Description
System.Boolean

UnpackageBlobs(BSONArray)

Declaration
[ClientAPI]
public static void UnpackageBlobs(BSONArray data)
Parameters
Type Name Description
BSONArray data

UnpackageView(BSONValue)

Declaration
[ClientAPI]
public static View UnpackageView(this BSONValue bson)
Parameters
Type Name Description
BSONValue bson
Returns
Type Description
View

UnpackageView<T>(BSONValue)

Declaration
[ClientAPI]
public static T UnpackageView<T>(this BSONValue bson)
    where T : View
Parameters
Type Name Description
BSONValue bson
Returns
Type Description
T
Type Parameters
Name Description
T

UnpackageViews(BSONArray)

Declaration
[ClientAPI]
public static void UnpackageViews(BSONArray data)
Parameters
Type Name Description
BSONArray data

Events

ViewDataReceivedEvent

Declaration
public static event Action ViewDataReceivedEvent
Event Type
Type Description
System.Action
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾