Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Gabriel Tofvesson 2018-04-20 13:05:17 +02:00
commit 54f0df852c
403 changed files with 7139 additions and 3125 deletions

View File

@ -0,0 +1,8 @@
using System;
[Serializable]
public class GithubAsset
{
public string browser_download_url;
public string name;
}

View File

@ -0,0 +1,13 @@
using System;
[Serializable]
public class GithubRelease
{
public string html_url;
public string tag_name;
public string name;
public string body;
public string published_at;
public bool prerelease;
public GithubAsset[] assets;
}

View File

@ -0,0 +1,8 @@
using System;
[Serializable]
public class GithubAsset
{
public string browser_download_url;
public string name;
}

View File

@ -0,0 +1,13 @@
using System;
[Serializable]
public class GithubRelease
{
public string html_url;
public string tag_name;
public string name;
public string body;
public string published_at;
public bool prerelease;
public GithubAsset[] assets;
}

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{A45DBD43-D640-4562-9F24-6745269CEDF7}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MLAPI_Editor</RootNamespace>
<AssemblyName>MLAPI-Editor</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="UnityEditor">
<HintPath>..\..\..\..\..\Program Files\Unity\Editor\Data\Managed\UnityEditor.dll</HintPath>
</Reference>
<Reference Include="UnityEngine">
<HintPath>..\..\..\..\..\Program Files\Unity\Editor\Data\Managed\UnityEngine.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="GithubAsset.cs" />
<Compile Include="GithubRelease.cs" />
<Compile Include="MLAPIEditor.cs" />
<Compile Include="NetworkedAnimatorEditor.cs" />
<Compile Include="NetworkedBehaviourEditor.cs" />
<Compile Include="NetworkedObjectEditor.cs" />
<Compile Include="NetworkingManagerEditor.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="TrackedObjectEditor.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\MLAPI\MLAPI.csproj">
<Project>{EE431720-A9ED-43DC-9E74-10B693816D38}</Project>
<Name>MLAPI</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

173
MLAPI-Editor/MLAPIEditor.cs Normal file
View File

@ -0,0 +1,173 @@
using System;
using System.Collections.Generic;
using System.IO;
using UnityEditor;
using UnityEngine;
public class MLAPIEditor : EditorWindow
{
private GithubRelease[] releases = new GithubRelease[0];
private bool[] foldoutStatus = new bool[0];
private long lastUpdated = 0;
private string currentVersion;
[MenuItem("Window/MLAPI")]
public static void ShowWindow()
{
GetWindow<MLAPIEditor>();
}
private void Init()
{
lastUpdated = 0;
if (EditorPrefs.HasKey("MLAPI_version"))
currentVersion = EditorPrefs.GetString("MLAPI_version");
else
currentVersion = "None";
}
private void Awake()
{
Init();
}
private void OnFocus()
{
Init();
}
private void OnGUI()
{
if(foldoutStatus != null)
{
for (int i = 0; i < foldoutStatus.Length; i++)
{
if (releases[i] == null)
continue;
foldoutStatus[i] = EditorGUILayout.Foldout(foldoutStatus[i], releases[i].tag_name + " - " + releases[i].name);
if (foldoutStatus[i])
{
EditorGUI.indentLevel++;
EditorGUILayout.LabelField("Release notes", EditorStyles.boldLabel);
EditorGUILayout.LabelField(releases[i].body, EditorStyles.wordWrappedLabel);
EditorGUILayout.Space();
EditorGUILayout.Space();
if (releases[i].prerelease)
{
GUIStyle style = new GUIStyle(EditorStyles.boldLabel);
style.normal.textColor = new Color(1f, 0.5f, 0f);
EditorGUILayout.LabelField("Pre-release", style);
}
else
{
GUIStyle style = new GUIStyle(EditorStyles.boldLabel);
style.normal.textColor = new Color(0f, 1f, 0f);
EditorGUILayout.LabelField("Stable-release", style);
}
if (currentVersion == releases[i].tag_name)
{
GUIStyle boldStyle = new GUIStyle(EditorStyles.boldLabel);
boldStyle.normal.textColor = new Color(0.3f, 1f, 0.3f);
EditorGUILayout.LabelField("Installed", boldStyle);
}
EditorGUILayout.LabelField("Release date: " + DateTime.Parse(DateTime.Parse(releases[i].published_at).ToString()), EditorStyles.miniBoldLabel);
if(currentVersion != releases[i].tag_name && GUILayout.Button("Install"))
InstallRelease(i);
EditorGUI.indentLevel--;
}
}
}
GUILayout.BeginArea(new Rect(5, position.height - 20, position.width, 20));
if (GUILayout.Button("Check for updates"))
GetReleases();
GUILayout.EndArea();
string lastUpdatedString = lastUpdated == 0 ? "Never" : new DateTime(lastUpdated).ToShortTimeString();
EditorGUI.LabelField(new Rect(5, position.height - 40, position.width, 20), "Last checked: " + lastUpdatedString, EditorStyles.centeredGreyMiniLabel);
if ((DateTime.Now - new DateTime(lastUpdated)).Seconds > 3600)
GetReleases();
Repaint();
}
private void InstallRelease(int index)
{
for (int i = 0; i < releases[index].assets.Length; i++)
{
WWW www = new WWW(releases[index].assets[i].browser_download_url);
while (!www.isDone && string.IsNullOrEmpty(www.error))
{
EditorGUI.ProgressBar(new Rect(5, position.height - 60, position.width, 20), www.progress, "Installing " + i + "/" + releases[index].assets.Length);
}
if(!Directory.Exists(Application.dataPath + "/MLAPI/Lib/"))
Directory.CreateDirectory(Application.dataPath + "/MLAPI/Lib/");
File.WriteAllBytes(Application.dataPath + "/MLAPI/Lib/" + releases[index].assets[i].name, www.bytes);
if (releases[index].assets[i].name.EndsWith(".unitypackage"))
AssetDatabase.ImportPackage(Application.dataPath + "/MLAPI/Lib/" + releases[index].assets[i].name, false);
}
EditorPrefs.SetString("MLAPI_version", releases[index].tag_name);
currentVersion = releases[index].tag_name;
AssetDatabase.Refresh();
}
private void GetReleases()
{
lastUpdated = DateTime.Now.Ticks;
WWW www = new WWW("https://api.github.com/repos/TwoTenPvP/MLAPI/releases");
while(!www.isDone && string.IsNullOrEmpty(www.error))
{
EditorGUI.ProgressBar(new Rect(5, position.height - 60, position.width, 20), www.progress, "Fetching...");
}
string json = www.text;
//This makes it from a json array to the individual objects in the array.
//The JSON serializer cant take arrays. We have to split it up outselves.
List<string> releasesJson = new List<string>();
int depth = 0;
string currentObject = "";
for (int i = 1; i < json.Length - 1; i++)
{
if (json[i] == '[')
depth++;
else if (json[i] == ']')
depth--;
else if (json[i] == '{')
depth++;
else if (json[i] == '}')
depth--;
if ((depth == 0 && json[i] != ',') || depth > 0)
currentObject += json[i];
if (depth == 0 && json[i] == ',')
{
releasesJson.Add(currentObject);
currentObject = "";
}
}
releases = new GithubRelease[releasesJson.Count];
foldoutStatus = new bool[releasesJson.Count];
for (int i = 0; i < releasesJson.Count; i++)
{
releases[i] = JsonUtility.FromJson<GithubRelease>(releasesJson[i]);
if (i == 0)
foldoutStatus[i] = true;
else
foldoutStatus[i] = false;
}
}
}

View File

@ -0,0 +1,97 @@
using MLAPI.MonoBehaviours.Prototyping;
using System;
using UnityEditor.Animations;
using UnityEngine;
namespace UnityEditor
{
[CustomEditor(typeof(NetworkedAnimator), true)]
[CanEditMultipleObjects]
public class NetworkAnimatorEditor : Editor
{
private NetworkedAnimator networkedAnimatorTarget;
[NonSerialized]
private bool initialized;
private SerializedProperty animatorProperty;
private GUIContent animatorLabel;
void Init()
{
if (initialized)
return;
initialized = true;
networkedAnimatorTarget = target as NetworkedAnimator;
animatorProperty = serializedObject.FindProperty("_animator");
animatorLabel = new GUIContent("Animator", "The Animator component to synchronize.");
}
public override void OnInspectorGUI()
{
Init();
serializedObject.Update();
DrawControls();
serializedObject.ApplyModifiedProperties();
}
void DrawControls()
{
EditorGUI.BeginChangeCheck();
EditorGUILayout.PropertyField(animatorProperty, animatorLabel);
if (EditorGUI.EndChangeCheck())
networkedAnimatorTarget.ResetParameterOptions();
if (networkedAnimatorTarget.animator == null)
return;
var controller = networkedAnimatorTarget.animator.runtimeAnimatorController as AnimatorController;
if (controller != null)
{
var showWarning = false;
EditorGUI.indentLevel += 1;
int i = 0;
foreach (var p in controller.parameters)
{
if (i >= 32)
{
showWarning = true;
break;
}
bool oldSend = networkedAnimatorTarget.GetParameterAutoSend(i);
bool send = EditorGUILayout.Toggle(p.name, oldSend);
if (send != oldSend)
{
networkedAnimatorTarget.SetParameterAutoSend(i, send);
EditorUtility.SetDirty(target);
}
i += 1;
}
if (showWarning)
EditorGUILayout.HelpBox("NetworkAnimator can only select between the first 32 parameters in a mecanim controller", MessageType.Warning);
EditorGUI.indentLevel -= 1;
}
if (Application.isPlaying)
{
EditorGUILayout.Separator();
if (networkedAnimatorTarget.param0 != "")
EditorGUILayout.LabelField("Param 0", networkedAnimatorTarget.param0);
if (networkedAnimatorTarget.param1 != "")
EditorGUILayout.LabelField("Param 1", networkedAnimatorTarget.param1);
if (networkedAnimatorTarget.param2 != "")
EditorGUILayout.LabelField("Param 2", networkedAnimatorTarget.param2);
if (networkedAnimatorTarget.param3 != "")
EditorGUILayout.LabelField("Param 3", networkedAnimatorTarget.param3);
if (networkedAnimatorTarget.param4 != "")
EditorGUILayout.LabelField("Param 4", networkedAnimatorTarget.param4);
}
}
}
}

View File

@ -0,0 +1,84 @@
using MLAPI.Attributes;
using MLAPI.MonoBehaviours.Core;
using System;
using System.Collections.Generic;
using System.Reflection;
using UnityEngine;
namespace UnityEditor
{
[CustomEditor(typeof(NetworkedBehaviour), true)]
[CanEditMultipleObjects]
public class NetworkedBehaviourInspector : Editor
{
private bool initialized;
protected List<string> syncedVarNames = new List<string>();
private GUIContent syncedVarLabelGuiContent;
private void Init(MonoScript script)
{
initialized = true;
syncedVarLabelGuiContent = new GUIContent("SyncedVar", "This variable has been marked with the [SyncedVar] attribute.");
FieldInfo[] fields = script.GetClass().GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.FlattenHierarchy | BindingFlags.NonPublic);
for (int i = 0; i < fields.Length; i++)
{
Attribute[] attributes = (Attribute[])fields[i].GetCustomAttributes(typeof(SyncedVar), true);
if (attributes.Length > 0)
syncedVarNames.Add(fields[i].Name);
}
}
public override void OnInspectorGUI()
{
if (!initialized)
{
serializedObject.Update();
SerializedProperty scriptProperty = serializedObject.FindProperty("m_Script");
if (scriptProperty == null)
return;
MonoScript targetScript = scriptProperty.objectReferenceValue as MonoScript;
Init(targetScript);
}
EditorGUI.BeginChangeCheck();
serializedObject.Update();
SerializedProperty property = serializedObject.GetIterator();
bool expanded = true;
while (property.NextVisible(expanded))
{
bool isSyncVar = syncedVarNames.Contains(property.name);
if (property.propertyType == SerializedPropertyType.ObjectReference)
{
if (property.name == "m_Script")
EditorGUI.BeginDisabledGroup(true);
EditorGUILayout.PropertyField(property, true);
if (isSyncVar)
GUILayout.Label(syncedVarLabelGuiContent, EditorStyles.miniLabel, GUILayout.Width(EditorStyles.miniLabel.CalcSize(syncedVarLabelGuiContent).x));
if (property.name == "m_Script")
EditorGUI.EndDisabledGroup();
}
else
{
EditorGUILayout.BeginHorizontal();
EditorGUILayout.PropertyField(property, true);
if (isSyncVar)
GUILayout.Label(syncedVarLabelGuiContent, EditorStyles.miniLabel, GUILayout.Width(EditorStyles.miniLabel.CalcSize(syncedVarLabelGuiContent).x));
EditorGUILayout.EndHorizontal();
}
expanded = false;
}
serializedObject.ApplyModifiedProperties();
EditorGUI.EndChangeCheck();
}
}
}

View File

@ -0,0 +1,51 @@
using MLAPI.MonoBehaviours.Core;
using UnityEngine;
namespace UnityEditor
{
[CustomEditor(typeof(NetworkedObject), true)]
[CanEditMultipleObjects]
public class NetworkedObjectEditor : Editor
{
private bool initialized;
private NetworkedObject networkedObject;
private void Init()
{
if (initialized)
return;
initialized = true;
networkedObject = (NetworkedObject)target;
}
public override void OnInspectorGUI()
{
Init();
if (NetworkingManager.singleton == null || (!NetworkingManager.singleton.isServer && !NetworkingManager.singleton.isClient))
base.OnInspectorGUI(); //Only run this if we are NOT running server. This is where the ServerOnly box is drawn
if (!networkedObject.isSpawned && NetworkingManager.singleton != null && NetworkingManager.singleton.isServer)
{
EditorGUILayout.BeginHorizontal();
EditorGUILayout.LabelField(new GUIContent("Spawn", "Spawns the object across the network"));
if (GUILayout.Toggle(false, "Spawn", EditorStyles.miniButtonLeft))
{
networkedObject.Spawn();
EditorUtility.SetDirty(target);
}
EditorGUILayout.EndHorizontal();
}
else if(networkedObject.isSpawned)
{
EditorGUILayout.LabelField("NetworkId: ", networkedObject.NetworkId.ToString(), EditorStyles.label);
EditorGUILayout.LabelField("OwnerId: ", networkedObject.OwnerClientId.ToString(), EditorStyles.label);
EditorGUILayout.LabelField("isSpawned: ", networkedObject.isSpawned.ToString(), EditorStyles.label);
EditorGUILayout.LabelField("isLocalPlayer: ", networkedObject.isLocalPlayer.ToString(), EditorStyles.label);
EditorGUILayout.LabelField("isOwner: ", networkedObject.isOwner.ToString(), EditorStyles.label);
EditorGUILayout.LabelField("isPoolObject: ", networkedObject.isPlayerObject.ToString(), EditorStyles.label);
EditorGUILayout.LabelField("isPlayerObject: ", networkedObject.isPlayerObject.ToString(), EditorStyles.label);
//EditorGUILayout.LabelField("ServerOnly: ", networkedObject.ServerOnly.ToString(), EditorStyles.label);
}
}
}
}

View File

@ -0,0 +1,75 @@
using MLAPI.MonoBehaviours.Core;
using UnityEditor;
using UnityEngine;
using UnityEditorInternal;
[CustomEditor(typeof(NetworkingManager), true)]
[CanEditMultipleObjects]
public class NetworkingManagerEditor : Editor
{
private ReorderableList networkedObjectList;
private NetworkingManager networkingManager;
private bool initialized;
private void Init()
{
if (initialized)
return;
initialized = true;
networkingManager = (NetworkingManager)target;
}
private void OnEnable()
{
networkedObjectList = new ReorderableList(serializedObject, serializedObject.FindProperty("NetworkConfig").FindPropertyRelative("NetworkedPrefabs"), true, true, true, true);
networkedObjectList.drawElementCallback = (Rect rect, int index, bool isActive, bool isFocused) =>
{
var element = networkedObjectList.serializedProperty.GetArrayElementAtIndex(index);
rect.y += 2;
EditorGUI.PropertyField(new Rect(rect.x, rect.y, rect.width - 30, EditorGUIUtility.singleLineHeight),
element.FindPropertyRelative("prefab"), GUIContent.none);
EditorGUI.PropertyField(new Rect(rect.x + rect.width - 30, rect.y, 30, EditorGUIUtility.singleLineHeight),
element.FindPropertyRelative("playerPrefab"), GUIContent.none);
};
networkedObjectList.drawHeaderCallback = (Rect rect) => {
EditorGUI.LabelField(rect, "Networked Prefabs");
};
}
public override void OnInspectorGUI()
{
Init();
if (!networkingManager.isServer && !networkingManager.isClient)
{
EditorGUILayout.Space();
serializedObject.Update();
networkedObjectList.DoLayoutList();
serializedObject.ApplyModifiedProperties();
base.OnInspectorGUI(); //Only draw if we don't have a running client or server
}
else
{
string instanceType = "";
if (networkingManager.isHost)
instanceType = "Host";
else if (networkingManager.isServer)
instanceType = "Server";
else if (networkingManager.isClient)
instanceType = "Client";
EditorGUILayout.HelpBox("You cannot edit the NetworkConfig when a " + instanceType + " is running", MessageType.Info);
if (GUILayout.Toggle(false, "Stop " + instanceType, EditorStyles.miniButtonMid))
{
if (networkingManager.isHost)
networkingManager.StopHost();
else if (networkingManager.isServer)
networkingManager.StopServer();
else if (networkingManager.isClient)
networkingManager.StopClient();
}
}
Repaint();
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("MLAPI-Editor")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("MLAPI-Editor")]
[assembly: AssemblyCopyright("Copyright © 2018")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("a45dbd43-d640-4562-9f24-6745269cedf7")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,34 @@
using MLAPI.MonoBehaviours.Core;
using UnityEngine;
namespace UnityEditor
{
[CustomEditor(typeof(TrackedObject), true)]
[CanEditMultipleObjects]
public class TrackedObjectEditor : Editor
{
private TrackedObject trackedObject;
private bool initialized;
private void Init()
{
if (initialized)
return;
trackedObject = (TrackedObject)target;
initialized = true;
}
public override void OnInspectorGUI()
{
Init();
base.OnInspectorGUI();
if(NetworkingManager.singleton != null && NetworkingManager.singleton.isServer)
{
EditorGUILayout.LabelField("Total points: ", trackedObject.TotalPoints.ToString(), EditorStyles.label);
EditorGUILayout.LabelField("Avg time between points: ", trackedObject.AvgTimeBetweenPointsMs.ToString() + " ms", EditorStyles.label);
}
Repaint();
}
}
}

View File

@ -5,6 +5,8 @@ VisualStudioVersion = 15.0.27130.2027
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MLAPI", "MLAPI\MLAPI.csproj", "{EE431720-A9ED-43DC-9E74-10B693816D38}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MLAPI-Editor", "MLAPI-Editor\MLAPI-Editor.csproj", "{A45DBD43-D640-4562-9F24-6745269CEDF7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -18,6 +20,12 @@ Global
{EE431720-A9ED-43DC-9E74-10B693816D38}.Development|Any CPU.Build.0 = Development|Any CPU
{EE431720-A9ED-43DC-9E74-10B693816D38}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EE431720-A9ED-43DC-9E74-10B693816D38}.Release|Any CPU.Build.0 = Release|Any CPU
{A45DBD43-D640-4562-9F24-6745269CEDF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A45DBD43-D640-4562-9F24-6745269CEDF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A45DBD43-D640-4562-9F24-6745269CEDF7}.Development|Any CPU.ActiveCfg = Debug|Any CPU
{A45DBD43-D640-4562-9F24-6745269CEDF7}.Development|Any CPU.Build.0 = Debug|Any CPU
{A45DBD43-D640-4562-9F24-6745269CEDF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A45DBD43-D640-4562-9F24-6745269CEDF7}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -0,0 +1,10 @@
using System;
namespace MLAPI.Attributes
{
[AttributeUsage(AttributeTargets.Method)]
public class ClientRpc : Attribute
{
}
}

View File

@ -0,0 +1,10 @@
using System;
namespace MLAPI.Attributes
{
[AttributeUsage(AttributeTargets.Method)]
public class Command : Attribute
{
}
}

View File

@ -11,6 +11,10 @@ namespace MLAPI.Attributes
/// <summary>
/// The method name to invoke when the SyncVar get's updated.
/// </summary>
public string hook;
public string hookMethodName;
/// <summary>
/// If true, the syncedVar will only be synced to the owner.
/// </summary>
public bool target;
}
}

View File

@ -0,0 +1,10 @@
using System;
namespace MLAPI.Attributes
{
[AttributeUsage(AttributeTargets.Method)]
public class TargetRpc : Attribute
{
}
}

51
MLAPI/Data/Cache.cs Normal file
View File

@ -0,0 +1,51 @@
using System.Collections.Generic;
using System.Security.Cryptography;
using System.Text;
namespace MLAPI.Data
{
internal static class Cache
{
internal static Dictionary<string, ulong> messageAttributeHashes = new Dictionary<string, ulong>();
internal static Dictionary<ulong, string> messageAttributeNames = new Dictionary<ulong, string>();
internal static ulong GetMessageAttributeHash(string name)
{
if (messageAttributeHashes.ContainsKey(name))
return messageAttributeHashes[name];
using (SHA256Managed sha = new SHA256Managed())
{
byte[] hash = sha.ComputeHash(Encoding.UTF8.GetBytes(name));
ulong value = hash[0] | ((ulong)hash[1] << 8) | ((ulong)hash[2] << 16) | ((ulong)hash[3] << 24) | ((ulong)hash[4] << 32) | ((ulong)hash[5] << 40) | ((ulong)hash[6] << 48) | ((ulong)hash[7] << 56);
//ulong value = hash[0] | ((uint)hash[1] << 8) | ((uint)hash[2] << 16) | ((uint)hash[3] << 24);
messageAttributeHashes.Add(name, value);
messageAttributeNames.Add(value, name);
return value;
}
}
internal static string GetAttributeMethodName(ulong hash)
{
if (messageAttributeNames.ContainsKey(hash))
return messageAttributeNames[hash];
else
return string.Empty;
}
internal static void RegisterMessageAttributeName(string name)
{
if (messageAttributeHashes.ContainsKey(name))
return;
using (SHA256Managed sha = new SHA256Managed())
{
byte[] hash = sha.ComputeHash(Encoding.UTF8.GetBytes(name));
ulong value = hash[0] | ((ulong)hash[1] << 8) | ((ulong)hash[2] << 16) | ((ulong)hash[3] << 24) | ((ulong)hash[4] << 32) | ((ulong)hash[5] << 40) | ((ulong)hash[6] << 48) | ((ulong)hash[7] << 56);
//ulong value = hash[0] | ((uint)hash[1] << 8) | ((uint)hash[2] << 16) | ((uint)hash[3] << 24);
messageAttributeHashes.Add(name, value);
messageAttributeNames.Add(value, name);
}
}
}
}

View File

@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine.Networking;
namespace MLAPI.Data

View File

@ -1,4 +1,9 @@
namespace MLAPI.Data
using MLAPI.NetworkingManagerComponents.Binary;
using System;
using System.Reflection;
using UnityEngine;
namespace MLAPI.Data
{
/// <summary>
/// The datatype used to classify SyncedVars
@ -7,7 +12,6 @@
{
Bool,
Byte,
Char,
Double,
Single,
Int,
@ -21,6 +25,502 @@
Vector3,
Vector2,
Quaternion,
ByteArray
BoolArray,
ByteArray,
DoubleArray,
SingleArray,
IntArray,
LongArray,
SByteArray,
ShortArray,
UIntArray,
ULongArray,
UShortArray,
StringArray,
Vector3Array,
Vector2Array,
QuaternionArray,
Invalid
}
internal static class FieldTypeHelper
{
internal static void WriteFieldType(BitWriter writer, object value, FieldType fieldType)
{
switch (fieldType)
{
case FieldType.Bool:
writer.WriteBool((bool)value);
break;
case FieldType.Byte:
writer.WriteByte((byte)value);
break;
case FieldType.Double:
writer.WriteDouble((double)value);
break;
case FieldType.Single:
writer.WriteFloat((float)value);
break;
case FieldType.Int:
writer.WriteInt((int)value);
break;
case FieldType.Long:
writer.WriteLong((long)value);
break;
case FieldType.SByte:
writer.WriteSByte((sbyte)value);
break;
case FieldType.Short:
writer.WriteShort((short)value);
break;
case FieldType.UInt:
writer.WriteUInt((uint)value);
break;
case FieldType.ULong:
writer.WriteULong((ulong)value);
break;
case FieldType.UShort:
writer.WriteUShort((ushort)value);
break;
case FieldType.String:
writer.WriteString((string)value);
break;
case FieldType.Vector3:
Vector3 vector3 = (Vector3)value;
writer.WriteFloat(vector3.x);
writer.WriteFloat(vector3.y);
writer.WriteFloat(vector3.z);
break;
case FieldType.Vector2:
Vector2 vector2 = (Vector2)value;
writer.WriteFloat(vector2.x);
writer.WriteFloat(vector2.y);
break;
case FieldType.Quaternion:
Vector3 euler = ((Quaternion)value).eulerAngles;
writer.WriteFloat(euler.x);
writer.WriteFloat(euler.y);
writer.WriteFloat(euler.z);
break;
case FieldType.BoolArray:
bool[] bools = (bool[])value;
writer.WriteUShort((ushort)bools.Length);
for (int j = 0; j < bools.Length; j++)
writer.WriteBool(bools[j]);
break;
case FieldType.ByteArray:
writer.WriteByteArray((byte[])value);
break;
case FieldType.DoubleArray:
writer.WriteDoubleArray((double[])value);
break;
case FieldType.SingleArray:
writer.WriteFloatArray((float[])value);
break;
case FieldType.IntArray:
writer.WriteIntArray((int[])value);
break;
case FieldType.LongArray:
writer.WriteLongArray((long[])value);
break;
case FieldType.SByteArray:
writer.WriteSByteArray((sbyte[])value);
break;
case FieldType.ShortArray:
writer.WriteShortArray((short[])value);
break;
case FieldType.UIntArray:
writer.WriteUIntArray((uint[])value);
break;
case FieldType.ULongArray:
writer.WriteULongArray((ulong[])value);
break;
case FieldType.UShortArray:
writer.WriteUShortArray((ushort[])value);
break;
case FieldType.StringArray:
string[] strings = (string[])value;
writer.WriteUShort((ushort)strings.Length);
for (int j = 0; j < strings.Length; j++)
writer.WriteString(strings[j]);
break;
case FieldType.Vector3Array:
Vector3[] vector3s = (Vector3[])value;
writer.WriteUShort((ushort)vector3s.Length);
for (int j = 0; j < vector3s.Length; j++)
{
writer.WriteFloat(vector3s[j].x);
writer.WriteFloat(vector3s[j].y);
writer.WriteFloat(vector3s[j].z);
}
break;
case FieldType.Vector2Array:
Vector2[] vector2s = (Vector2[])value;
writer.WriteUShort((ushort)vector2s.Length);
for (int j = 0; j < vector2s.Length; j++)
{
writer.WriteFloat(vector2s[j].x);
writer.WriteFloat(vector2s[j].y);
}
break;
case FieldType.QuaternionArray:
Quaternion[] quaternions = (Quaternion[])value;
writer.WriteUShort((ushort)quaternions.Length);
for (int j = 0; j < quaternions.Length; j++)
{
writer.WriteFloat(quaternions[j].eulerAngles.x);
writer.WriteFloat(quaternions[j].eulerAngles.y);
writer.WriteFloat(quaternions[j].eulerAngles.z);
}
break;
}
}
internal static void WriteFieldType(BitWriter writer, FieldInfo field, object fieldInstance, FieldType fieldType)
{
switch (fieldType)
{
case FieldType.Bool:
writer.WriteBool((bool)field.GetValue(fieldInstance));
break;
case FieldType.Byte:
writer.WriteByte((byte)field.GetValue(fieldInstance));
break;
case FieldType.Double:
writer.WriteDouble((double)field.GetValue(fieldInstance));
break;
case FieldType.Single:
writer.WriteFloat((float)field.GetValue(fieldInstance));
break;
case FieldType.Int:
writer.WriteInt((int)field.GetValue(fieldInstance));
break;
case FieldType.Long:
writer.WriteLong((long)field.GetValue(fieldInstance));
break;
case FieldType.SByte:
writer.WriteSByte((sbyte)field.GetValue(fieldInstance));
break;
case FieldType.Short:
writer.WriteShort((short)field.GetValue(fieldInstance));
break;
case FieldType.UInt:
writer.WriteUInt((uint)field.GetValue(fieldInstance));
break;
case FieldType.ULong:
writer.WriteULong((ulong)field.GetValue(fieldInstance));
break;
case FieldType.UShort:
writer.WriteUShort((ushort)field.GetValue(fieldInstance));
break;
case FieldType.String:
writer.WriteString((string)field.GetValue(fieldInstance));
break;
case FieldType.Vector3:
Vector3 vector3 = (Vector3)field.GetValue(fieldInstance);
writer.WriteFloat(vector3.x);
writer.WriteFloat(vector3.y);
writer.WriteFloat(vector3.z);
break;
case FieldType.Vector2:
Vector2 vector2 = (Vector2)field.GetValue(fieldInstance);
writer.WriteFloat(vector2.x);
writer.WriteFloat(vector2.y);
break;
case FieldType.Quaternion:
Vector3 euler = ((Quaternion)field.GetValue(fieldInstance)).eulerAngles;
writer.WriteFloat(euler.x);
writer.WriteFloat(euler.y);
writer.WriteFloat(euler.z);
break;
case FieldType.BoolArray:
bool[] bools = (bool[])field.GetValue(fieldInstance);
writer.WriteUShort((ushort)bools.Length);
for (int j = 0; j < bools.Length; j++)
writer.WriteBool(bools[j]);
break;
case FieldType.ByteArray:
writer.WriteByteArray((byte[])field.GetValue(fieldInstance));
break;
case FieldType.DoubleArray:
writer.WriteDoubleArray((double[])field.GetValue(fieldInstance));
break;
case FieldType.SingleArray:
writer.WriteFloatArray((float[])field.GetValue(fieldInstance));
break;
case FieldType.IntArray:
writer.WriteIntArray((int[])field.GetValue(fieldInstance));
break;
case FieldType.LongArray:
writer.WriteLongArray((long[])field.GetValue(fieldInstance));
break;
case FieldType.SByteArray:
writer.WriteSByteArray((sbyte[])field.GetValue(fieldInstance));
break;
case FieldType.ShortArray:
writer.WriteShortArray((short[])field.GetValue(fieldInstance));
break;
case FieldType.UIntArray:
writer.WriteUIntArray((uint[])field.GetValue(fieldInstance));
break;
case FieldType.ULongArray:
writer.WriteULongArray((ulong[])field.GetValue(fieldInstance));
break;
case FieldType.UShortArray:
writer.WriteUShortArray((ushort[])field.GetValue(fieldInstance));
break;
case FieldType.StringArray:
string[] strings = (string[])field.GetValue(fieldInstance);
writer.WriteUShort((ushort)strings.Length);
for (int j = 0; j < strings.Length; j++)
writer.WriteString(strings[j]);
break;
case FieldType.Vector3Array:
Vector3[] vector3s = (Vector3[])field.GetValue(fieldInstance);
writer.WriteUShort((ushort)vector3s.Length);
for (int j = 0; j < vector3s.Length; j++)
{
writer.WriteFloat(vector3s[j].x);
writer.WriteFloat(vector3s[j].y);
writer.WriteFloat(vector3s[j].z);
}
break;
case FieldType.Vector2Array:
Vector2[] vector2s = (Vector2[])field.GetValue(fieldInstance);
writer.WriteUShort((ushort)vector2s.Length);
for (int j = 0; j < vector2s.Length; j++)
{
writer.WriteFloat(vector2s[j].x);
writer.WriteFloat(vector2s[j].y);
}
break;
case FieldType.QuaternionArray:
Quaternion[] quaternions = (Quaternion[])field.GetValue(fieldInstance);
writer.WriteUShort((ushort)quaternions.Length);
for (int j = 0; j < quaternions.Length; j++)
{
writer.WriteFloat(quaternions[j].eulerAngles.x);
writer.WriteFloat(quaternions[j].eulerAngles.y);
writer.WriteFloat(quaternions[j].eulerAngles.z);
}
break;
}
}
internal static FieldType GetFieldType(Type type)
{
if (type == typeof(bool))
return FieldType.Bool;
else if (type == typeof(byte))
return FieldType.Byte;
else if (type == typeof(double))
return FieldType.Double;
else if (type == typeof(float))
return FieldType.Single;
else if (type == typeof(int))
return FieldType.Int;
else if (type == typeof(long))
return FieldType.Long;
else if (type == typeof(sbyte))
return FieldType.SByte;
else if (type == typeof(short))
return FieldType.Short;
else if (type == typeof(uint))
return FieldType.UInt;
else if (type == typeof(ulong))
return FieldType.ULong;
else if (type == typeof(ushort))
return FieldType.UShort;
else if (type == typeof(string))
return FieldType.String;
else if (type == typeof(Vector3))
return FieldType.Vector3;
else if (type == typeof(Vector2))
return FieldType.Vector2;
else if (type == typeof(Quaternion))
return FieldType.Quaternion;
else if (type == typeof(bool[]))
return FieldType.BoolArray;
else if (type == typeof(byte[]))
return FieldType.ByteArray;
else if (type == typeof(double[]))
return FieldType.DoubleArray;
else if (type == typeof(float[]))
return FieldType.SingleArray;
else if (type == typeof(int[]))
return FieldType.IntArray;
else if (type == typeof(long[]))
return FieldType.LongArray;
else if (type == typeof(sbyte[]))
return FieldType.SByteArray;
else if (type == typeof(short[]))
return FieldType.ShortArray;
else if (type == typeof(uint[]))
return FieldType.UIntArray;
else if (type == typeof(ulong[]))
return FieldType.ULongArray;
else if (type == typeof(ushort[]))
return FieldType.UShortArray;
else if (type == typeof(string[]))
return FieldType.StringArray;
else if (type == typeof(Vector3[]))
return FieldType.Vector3Array;
else if (type == typeof(Vector2[]))
return FieldType.Vector2Array;
else if (type == typeof(Quaternion[]))
return FieldType.QuaternionArray;
else
return FieldType.Invalid;
}
internal static object[] ReadObjects(BitReader reader, byte paramCount)
{
object[] returnVal = new object[paramCount];
for (int i = 0; i < paramCount; i++)
{
FieldType fieldType = (FieldType)reader.ReadBits(5);
switch (fieldType)
{
case FieldType.Bool:
returnVal[i] = reader.ReadBool();
break;
case FieldType.Byte:
returnVal[i] = reader.ReadByte();
break;
case FieldType.Double:
returnVal[i] = reader.ReadDouble();
break;
case FieldType.Single:
returnVal[i] = reader.ReadFloat();
break;
case FieldType.Int:
returnVal[i] = reader.ReadInt();
break;
case FieldType.Long:
returnVal[i] = reader.ReadLong();
break;
case FieldType.SByte:
returnVal[i] = reader.ReadSByte();
break;
case FieldType.Short:
returnVal[i] = reader.ReadShort();
break;
case FieldType.UInt:
returnVal[i] = reader.ReadUInt();
break;
case FieldType.ULong:
returnVal[i] = reader.ReadULong();
break;
case FieldType.UShort:
returnVal[i] = reader.ReadUShort();
break;
case FieldType.String:
returnVal[i] = reader.ReadString();
break;
case FieldType.Vector3:
Vector3 vector3 = Vector3.zero;
vector3.x = reader.ReadFloat();
vector3.y = reader.ReadFloat();
vector3.z = reader.ReadFloat();
returnVal[i] = vector3;
break;
case FieldType.Vector2:
Vector2 vector2 = Vector2.zero;
vector2.x = reader.ReadFloat();
vector2.y = reader.ReadFloat();
returnVal[i] = vector2;
break;
case FieldType.Quaternion:
Vector3 eulerAngle = Vector3.zero;
eulerAngle.x = reader.ReadFloat();
eulerAngle.y = reader.ReadFloat();
eulerAngle.z = reader.ReadFloat();
returnVal[i] = Quaternion.Euler(eulerAngle);
break;
case FieldType.BoolArray:
ushort boolCount = reader.ReadUShort();
for (int j = 0; j < boolCount; j++)
returnVal[i] = reader.ReadBool();
break;
case FieldType.ByteArray:
returnVal[i] = reader.ReadByteArray();
break;
case FieldType.DoubleArray:
returnVal[i] = reader.ReadDoubleArray();
break;
case FieldType.SingleArray:
returnVal[i] = reader.ReadFloatArray();
break;
case FieldType.IntArray:
returnVal[i] = reader.ReadIntArray();
break;
case FieldType.LongArray:
returnVal[i] = reader.ReadLongArray();
break;
case FieldType.SByteArray:
returnVal[i] = reader.ReadSByteArray();
break;
case FieldType.ShortArray:
returnVal[i] = reader.ReadShortArray();
break;
case FieldType.UIntArray:
returnVal[i] = reader.ReadUIntArray();
break;
case FieldType.ULongArray:
returnVal[i] = reader.ReadULongArray();
break;
case FieldType.UShortArray:
returnVal[i] = reader.ReadUShortArray();
break;
case FieldType.StringArray:
ushort stringCount = reader.ReadUShort();
string[] strings = new string[stringCount];
for (int j = 0; j < stringCount; j++)
strings[j] = reader.ReadString();
returnVal[i] = strings;
break;
case FieldType.Vector3Array:
ushort vector3Count = reader.ReadUShort();
Vector3[] vector3s = new Vector3[vector3Count];
for (int j = 0; j < vector3Count; j++)
{
Vector3 vec3 = Vector3.zero;
vec3.x = reader.ReadFloat();
vec3.y = reader.ReadFloat();
vec3.z = reader.ReadFloat();
vector3s[j] = vec3;
}
returnVal[i] = vector3s;
break;
case FieldType.Vector2Array:
ushort vector2Count = reader.ReadUShort();
Vector2[] vector2s = new Vector2[vector2Count];
for (int j = 0; j < vector2Count; j++)
{
Vector2 vec2 = Vector2.zero;
vec2.x = reader.ReadFloat();
vec2.y = reader.ReadFloat();
vector2s[j] = vec2;
}
returnVal[i] = vector2s;
break;
case FieldType.QuaternionArray:
ushort quaternionCount = reader.ReadUShort();
Quaternion[] quaternions = new Quaternion[quaternionCount];
for (int j = 0; j < quaternionCount; j++)
{
Vector3 vec3 = Vector3.zero;
vec3.x = reader.ReadFloat();
vec3.y = reader.ReadFloat();
vec3.z = reader.ReadFloat();
quaternions[j] = Quaternion.Euler(vec3);
}
returnVal[i] = quaternions;
break;
}
}
return returnVal;
}
}
}

View File

@ -1,5 +1,4 @@
using MLAPI.MonoBehaviours.Core;
using System;
namespace MLAPI.Data
{
@ -66,20 +65,15 @@ namespace MLAPI.Data
else
Meta = 0;
}
private static byte[] tempUIntBytes = new byte[4];
private static byte[] tempUShortBytes = new byte[2];
/// <summary>
/// Initializes a new instance of the netId struct from a clientId
/// </summary>
/// <param name="clientId">Client identifier.</param>
public NetId(uint clientId)
{
tempUIntBytes = BitConverter.GetBytes(clientId);
HostId = tempUIntBytes[0];
ConnectionId = BitConverter.ToUInt16(tempUIntBytes, 1);
Meta = tempUIntBytes[3];
HostId = (byte)(clientId & 0xFF);
ConnectionId = (ushort)((byte)((clientId >> 8) & 0xFF) | (ushort)(((clientId >> 16) & 0xFF) << 8));
Meta = (byte)((clientId >> 24) & 0xFF);
}
/// <summary>
/// Gets the clientId.
@ -87,12 +81,7 @@ namespace MLAPI.Data
/// <returns>The client identifier.</returns>
public uint GetClientId()
{
tempUShortBytes = BitConverter.GetBytes(ConnectionId);
tempUIntBytes[0] = HostId;
tempUIntBytes[1] = tempUShortBytes[0];
tempUIntBytes[2] = tempUShortBytes[1];
tempUIntBytes[3] = Meta;
return BitConverter.ToUInt32(tempUIntBytes, 0);
return HostId | (uint)((ConnectionId & 0xFF) << 8) | (uint)(((ConnectionId >> 8) & 0xFF) << 16) | (uint)(Meta << 24);
}
// Rider generated vvv
/// <summary>

View File

@ -1,12 +1,8 @@
using MLAPI.MonoBehaviours.Core;
using MLAPI.NetworkingManagerComponents.Binary;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using UnityEngine;
using UnityEngine.Networking;
namespace MLAPI.Data
{
@ -50,13 +46,16 @@ namespace MLAPI.Data
/// <summary>
/// A list of spawnable prefabs
/// </summary>
[HideInInspector]
public List<NetworkedPrefab> NetworkedPrefabs = new List<NetworkedPrefab>();
internal Dictionary<string, int> NetworkPrefabIds;
internal Dictionary<int, string> NetworkPrefabNames;
/// <summary>
/// The default player prefab
/// </summary>
public string PlayerPrefabName;
[SerializeField]
[HideInInspector]
internal string PlayerPrefabName;
/// <summary>
/// The size of the receive message buffer. This is the max message size.
/// </summary>
@ -100,6 +99,7 @@ namespace MLAPI.Data
/// <summary>
/// The data to send during connection which can be used to decide on if a client should get accepted
/// </summary>
[HideInInspector]
public byte[] ConnectionData = new byte[0];
/// <summary>
/// The amount of seconds to keep a lag compensation position history
@ -151,53 +151,51 @@ namespace MLAPI.Data
if (ConfigHash != null && cache)
return ConfigHash;
using (MemoryStream writeStream = new MemoryStream())
using (BitWriter writer = new BitWriter())
{
using (BinaryWriter writer = new BinaryWriter(writeStream))
{
writer.Write(ProtocolVersion);
writer.WriteUShort(ProtocolVersion);
for (int i = 0; i < Channels.Count; i++)
{
writer.Write(Channels[i].Name);
writer.Write((byte)Channels[i].Type);
writer.WriteString(Channels[i].Name);
writer.WriteByte((byte)Channels[i].Type);
if (EnableEncryption)
writer.Write(Channels[i].Encrypted);
writer.WriteBool(Channels[i].Encrypted);
}
for (int i = 0; i < MessageTypes.Count; i++)
{
writer.Write(MessageTypes[i].Name);
writer.WriteString(MessageTypes[i].Name);
if (AllowPassthroughMessages)
writer.Write(MessageTypes[i].Passthrough);
writer.WriteBool(MessageTypes[i].Passthrough);
}
if (EnableSceneSwitching)
{
for (int i = 0; i < RegisteredScenes.Count; i++)
{
writer.Write(RegisteredScenes[i]);
writer.WriteString(RegisteredScenes[i]);
}
}
if(HandleObjectSpawning)
if (HandleObjectSpawning)
{
for (int i = 0; i < NetworkedPrefabs.Count; i++)
{
writer.Write(NetworkedPrefabs[i].name);
writer.WriteString(NetworkedPrefabs[i].name);
}
}
writer.Write(HandleObjectSpawning);
writer.Write(EnableEncryption);
writer.Write(AllowPassthroughMessages);
writer.Write(EnableSceneSwitching);
writer.Write(SignKeyExchange);
}
writer.WriteBool(HandleObjectSpawning);
writer.WriteBool(EnableEncryption);
writer.WriteBool(AllowPassthroughMessages);
writer.WriteBool(EnableSceneSwitching);
writer.WriteBool(SignKeyExchange);
using (SHA256Managed sha256 = new SHA256Managed())
{
//Returns a 256 bit / 32 byte long checksum of the config
if (cache)
{
ConfigHash = sha256.ComputeHash(writeStream.ToArray());
ConfigHash = sha256.ComputeHash(writer.Finalize());
return ConfigHash;
}
return sha256.ComputeHash(writeStream.ToArray());
return sha256.ComputeHash(writer.Finalize());
}
}
}

View File

@ -1,4 +1,5 @@
using System;
using MLAPI.MonoBehaviours.Core;
using System;
using UnityEngine;
namespace MLAPI.Data
@ -9,13 +10,20 @@ namespace MLAPI.Data
[Serializable]
public class NetworkedPrefab
{
/// <summary>
/// The name of the networked prefab
/// </summary>
public string name;
internal string name
{
get
{
return prefab.GetComponent<NetworkedObject>().NetworkedPrefabName;
}
}
/// <summary>
/// The gameobject of the prefab
/// </summary>
public GameObject prefab;
/// <summary>
/// Wheter or not this is a playerPrefab
/// </summary>
public bool playerPrefab;
}
}

View File

@ -0,0 +1,14 @@
using System.Reflection;
namespace MLAPI.Data
{
internal class SyncedVarField
{
internal FieldInfo FieldInfo;
internal FieldType FieldType;
internal object FieldValue;
internal MethodInfo HookMethod;
internal bool Dirty;
internal bool Target;
}
}

View File

@ -18,3 +18,12 @@
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0018:Inline variable declaration", Justification = "Not supported in Unity Mono version", Scope = "member", Target = "~M:MLAPI.MonoBehaviours.Core.NetworkingManager.Send(System.String,System.String,System.Byte[],System.UInt32,System.Nullable{System.UInt32},System.Nullable{System.UInt16})")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0018:Inline variable declaration", Justification = "Not supported in Unity Mono version", Scope = "member", Target = "~M:MLAPI.MonoBehaviours.Core.NetworkingManager.Send(System.String,System.String,System.Byte[],System.Nullable{System.UInt32},System.Nullable{System.UInt16})")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0018:Inline variable declaration", Justification = "Not supported in Unity Mono version", Scope = "member", Target = "~M:MLAPI.MonoBehaviours.Core.NetworkingManager.Send(System.UInt32[],System.String,System.String,System.Byte[],System.Nullable{System.UInt32},System.Nullable{System.UInt16})")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0018:Inline variable declaration", Justification = "Not supported in Unity Mono version", Scope = "member", Target = "~M:MLAPI.MonoBehaviours.Core.NetworkingManager.HandleApproval(System.UInt32,System.Boolean,UnityEngine.Vector3,UnityEngine.Quaternion)")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0018:Inline variable declaration", Justification = "Not supported in Unity Mono version", Scope = "member", Target = "~M:MLAPI.NetworkingManagerComponents.Core.InternalMessageHandler.HandleConnectionApproved(System.UInt32,System.Byte[],System.Int32)")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0018:Inline variable declaration", Justification = "Not supported in Unity Mono version", Scope = "member", Target = "~M:MLAPI.NetworkingManagerComponents.Core.InternalMessageHandler.HandleTimeSync(System.UInt32,System.Byte[],System.Int32)")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0018:Inline variable declaration", Justification = "Not supported in Unity Mono version", Scope = "member", Target = "~M:MLAPI.NetworkingManagerComponents.Core.InternalMessageHandler.PassthroughSend(System.UInt32,System.UInt32,System.UInt16,System.Int32,System.Byte[],System.Nullable{System.UInt32},System.Nullable{System.UInt16})")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0018:Inline variable declaration", Justification = "Not supported in Unity Mono version", Scope = "member", Target = "~M:MLAPI.NetworkingManagerComponents.Core.InternalMessageHandler.Send(System.Collections.Generic.List{System.UInt32},System.String,System.String,System.Byte[],System.Nullable{System.UInt32},System.Nullable{System.UInt16})")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0018:Inline variable declaration", Justification = "Not supported in Unity Mono version", Scope = "member", Target = "~M:MLAPI.NetworkingManagerComponents.Core.InternalMessageHandler.Send(System.String,System.String,System.Byte[],System.Nullable{System.UInt32},System.Nullable{System.UInt16})")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0018:Inline variable declaration", Justification = "Not supported in Unity Mono version", Scope = "member", Target = "~M:MLAPI.NetworkingManagerComponents.Core.InternalMessageHandler.Send(System.String,System.String,System.Byte[],System.UInt32,System.Nullable{System.UInt32},System.Nullable{System.UInt16})")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0018:Inline variable declaration", Justification = "Not supported in Unity Mono version", Scope = "member", Target = "~M:MLAPI.NetworkingManagerComponents.Core.InternalMessageHandler.Send(System.UInt32[],System.String,System.String,System.Byte[],System.Nullable{System.UInt32},System.Nullable{System.UInt16})")]

View File

@ -36,7 +36,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Development|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\..\MLAPI-Examples\Assets\MLAPI\</OutputPath>
<OutputPath>..\..\MLAPI-Examples\Assets\MLAPI\Lib\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
@ -67,19 +67,24 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Attributes\BinaryIgnore.cs" />
<Compile Include="Attributes\ClientRpc.cs" />
<Compile Include="Attributes\Command.cs" />
<Compile Include="Attributes\TargetRpc.cs" />
<Compile Include="Data\Cache.cs" />
<Compile Include="Data\Channel.cs" />
<Compile Include="Data\FieldType.cs" />
<Compile Include="Attributes\SyncedVar.cs" />
<Compile Include="Data\NetworkConfig.cs" />
<Compile Include="Data\NetworkedPrefab.cs" />
<Compile Include="Data\NetworkPool.cs" />
<Compile Include="Data\SyncedVarField.cs" />
<Compile Include="Data\TrackedPointData.cs" />
<Compile Include="Data\TransportHost.cs" />
<Compile Include="GlobalSuppressions.cs" />
<Compile Include="MonoBehaviours\Prototyping\NetworkedAnimator.cs" />
<Compile Include="MonoBehaviours\Prototyping\NetworkedNavMeshAgent.cs" />
<Compile Include="NetworkingManagerComponents\Binary\BinaryCollector.cs" />
<Compile Include="NetworkingManagerComponents\Binary\BinaryDistributor.cs" />
<Compile Include="NetworkingManagerComponents\Binary\BitWriter.cs" />
<Compile Include="NetworkingManagerComponents\Binary\BitReader.cs" />
<Compile Include="NetworkingManagerComponents\Binary\BinaryHelpers.cs" />
<Compile Include="NetworkingManagerComponents\Binary\BinarySerializer.cs" />
<Compile Include="NetworkingManagerComponents\Cryptography\CryptographyHelper.cs" />
@ -100,6 +105,9 @@
<Compile Include="Data\NetId.cs" />
<Compile Include="NetworkingManagerComponents\Binary\MessageChunker.cs" />
<Compile Include="Data\MessageType.cs" />
<Compile Include="NetworkingManagerComponents\Core\InternalMessageHandler.Send.cs" />
<Compile Include="NetworkingManagerComponents\Core\InternalMessageHandler.Receive.cs" />
<Compile Include="NetworkingManagerComponents\Core\InternalMessageHandler.cs" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -135,7 +135,7 @@ namespace MLAPI.MonoBehaviours.Prototyping
//Snap, set T to 1 (100% of the lerp)
lerpT = 1f;
}
lerpT += Time.deltaTime / timeForLerp;
lerpT += Time.unscaledDeltaTime / timeForLerp;
transform.position = Vector3.Lerp(lerpStartPos, lerpEndPos, lerpT);
transform.rotation = Quaternion.Slerp(lerpStartRot, lerpEndRot, lerpT);
}

View File

@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
namespace MLAPI.NetworkingManagerComponents.Binary
{
public static class BinaryHelpers
@ -20,3 +16,4 @@ namespace MLAPI.NetworkingManagerComponents.Binary
((value << 8) & (0xFFUL << 32)) ;
}
}
#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member

View File

@ -1,13 +1,11 @@
using MLAPI.NetworkingManagerComponents.Binary;
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
namespace Tofvesson.Common
namespace MLAPI.NetworkingManagerComponents.Binary
{
public class BinaryDistributor
public class BitReader
{
private delegate T Getter<T>();
private static readonly float[] holder_f = new float[1];
@ -17,7 +15,7 @@ namespace Tofvesson.Common
private readonly byte[] readFrom;
private long bitCount = 0;
public BinaryDistributor(byte[] readFrom) => this.readFrom = readFrom;
public BitReader(byte[] readFrom) => this.readFrom = readFrom;
public bool ReadBool()
{
@ -38,25 +36,33 @@ namespace Tofvesson.Common
bitCount += 8;
return result;
}
public void SkipPadded() => bitCount += (8 - (bitCount % 8)) % 8;
public ushort ReadUShort() => (ushort)ReadULong();
public uint ReadUInt() => (uint)ReadULong();
public sbyte ReadSByte() => (sbyte)ZigZagDecode(ReadByte(), 1);
public short ReadShort() => (short)ZigZagDecode(ReadUShort(), 2);
public int ReadInt() => (int)ZigZagDecode(ReadUInt(), 4);
public long ReadLong() => ZigZagDecode(ReadULong(), 8);
public float[] ReadFloatArray() => ReadArray(ReadFloat);
public double[] ReadDoubleArray() => ReadArray(ReadDouble);
public byte[] ReadByteArray() => ReadArray(ReadByte);
public ushort[] ReadUShortArray() => ReadArray(ReadUShort);
public uint[] ReadUIntArray() => ReadArray(ReadUInt);
public ulong[] ReadULongArray() => ReadArray(ReadULong);
public sbyte[] ReadSByteArray() => ReadArray(ReadSByte);
public short[] ReadShortArray() => ReadArray(ReadShort);
public int[] ReadIntArray() => ReadArray(ReadInt);
public long[] ReadLongArray() => ReadArray(ReadLong);
public float[] ReadFloatArray(int known = -1) => ReadArray(ReadFloat, known);
public double[] ReadDoubleArray(int known = -1) => ReadArray(ReadDouble, known);
public byte[] ReadByteArray(int known = -1) => ReadArray(ReadByte, known);
public ushort[] ReadUShortArray(int known = -1) => ReadArray(ReadUShort, known);
public uint[] ReadUIntArray(int known = -1) => ReadArray(ReadUInt, known);
public ulong[] ReadULongArray(int known = -1) => ReadArray(ReadULong, known);
public sbyte[] ReadSByteArray(int known = -1) => ReadArray(ReadSByte, known);
public short[] ReadShortArray(int known = -1) => ReadArray(ReadShort, known);
public int[] ReadIntArray(int known = -1) => ReadArray(ReadInt, known);
public long[] ReadLongArray(int known = -1) => ReadArray(ReadLong, known);
public string ReadString() => Encoding.UTF8.GetString(ReadByteArray());
public byte ReadBits(int bits)
{
byte b = 0;
for (int i = 0; --bits >= 0; ++i)
b |= (byte)((ReadBool() ? 1 : 0) << i);
return b;
}
private ulong ReadULong()
public ulong ReadULong()
{
ulong header = ReadByte();
if (header <= 240) return header;
@ -82,9 +88,9 @@ namespace Tofvesson.Common
}
return res;
}
private T[] ReadArray<T>(Getter<T> g)
private T[] ReadArray<T>(Getter<T> g, int knownSize = -1)
{
T[] result = new T[ReadUShort()];
T[] result = new T[knownSize > 0 ? (uint)knownSize : ReadUInt()];
for (ushort s = 0; s < result.Length; ++s)
result[s] = g();
return result;
@ -99,8 +105,6 @@ namespace Tofvesson.Common
lock(result_holder)
lock (type_holder)
{
//for (int i = 0; i < size; ++i)
// holder.SetValue(ReadByte(), i);
if (size == 4) result_holder.SetValue(BinaryHelpers.SwapEndian(ReadUInt()), 0);
else result_holder.SetValue(BinaryHelpers.SwapEndian(ReadULong()), 0);
Buffer.BlockCopy(result_holder, 0, type_holder, 0, size);
@ -111,3 +115,4 @@ namespace Tofvesson.Common
private static long ZigZagDecode(ulong d, int bytes) => (long)(((d << (bytes * 8 - 1)) & 1) | (d >> 1));
}
}
#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member

View File

@ -1,18 +1,16 @@
using MLAPI.NetworkingManagerComponents.Binary;
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text;
using UnityEngine;
namespace Tofvesson.Common
namespace MLAPI.NetworkingManagerComponents.Binary
{
public sealed class BinaryCollector : IDisposable
public sealed class BitWriter : IDisposable
{
// Collects reusable
private static readonly List<WeakReference> expired = new List<WeakReference>();
private static readonly Queue<List<object>> listPool = new Queue<List<object>>();
private static readonly float[] holder_f = new float[1];
private static readonly double[] holder_d = new double[1];
@ -41,45 +39,46 @@ namespace Tofvesson.Common
dec_hi,
dec_flags;
static BinaryCollector()
static BitWriter()
{
dec_lo = typeof(decimal).GetField("lo", BindingFlags.NonPublic);
dec_mid = typeof(decimal).GetField("mid", BindingFlags.NonPublic);
dec_hi = typeof(decimal).GetField("hi", BindingFlags.NonPublic);
dec_flags = typeof(decimal).GetField("flags", BindingFlags.NonPublic);
for (int i = 0; i < 10; i++)
{
listPool.Enqueue(new List<object>());
}
}
private object[] collect;
private readonly int bufferSize;
private int collectCount = 0;
private List<object> collect = null;
private bool tempAlloc = false;
/// <summary>
/// Allocates a new binary collector.
/// </summary>
public BinaryCollector(int bufferSize)
public BitWriter()
{
this.bufferSize = bufferSize;
for (int i = expired.Count - 1; i >= 0; --i)
if (expired[i].IsAlive)
if (listPool.Count == 0)
{
collect = (object[])expired[i].Target;
if (collect.Length >= bufferSize)
{
expired.RemoveAt(i); // This entry he been un-expired for now
break;
Debug.LogWarning("MLAPI: There can be no more than 10 BitWriters. Have you forgotten do dispose? (It will still work with worse performance)");
collect = new List<object>();
tempAlloc = true;
}
else
{
collect = listPool.Dequeue();
}
else expired.RemoveAt(i); // Entry has been collected by GC
if (collect == null || collect.Length < bufferSize)
collect = new object[bufferSize];
}
private void Push<T>(T b)
{
if (b is string || b.GetType().IsArray || IsSupportedType(b.GetType()))
collect[collectCount++] = b is string ? Encoding.UTF8.GetBytes(b as string) : b as object;
//else
// Debug.LogWarning("MLAPI: The type \"" + b.GetType() + "\" is not supported by the Binary Serializer. It will be ignored");
if (b == null) collect.Add(b);
else if (b is string || b.GetType().IsArray || IsSupportedType(b.GetType()))
collect.Add(b is string ? Encoding.UTF8.GetBytes(b as string) : b as object);
else
Debug.LogWarning("MLAPI: The type \"" + b.GetType() + "\" is not supported by the Binary Serializer. It will be ignored");
}
@ -90,60 +89,129 @@ namespace Tofvesson.Common
public void WriteUShort(ushort s) => Push(s);
public void WriteUInt(uint i) => Push(i);
public void WriteULong(ulong l) => Push(l);
public void WriteSByte(sbyte b) => Push(b);
public void WriteShort(short s) => Push(s);
public void WriteInt(int i) => Push(i);
public void WriteLong(long l) => Push(l);
public void WriteFloatArray(float[] f) => Push(f);
public void WriteDoubleArray(double[] d) => Push(d);
public void WriteByteArray(byte[] b) => Push(b);
public void WriteUShortArray(ushort[] s) => Push(s);
public void WriteUIntArray(uint[] i) => Push(i);
public void WriteULongArray(ulong[] l) => Push(l);
public void WriteSByteArray(sbyte[] b) => Push(b);
public void WriteShortArray(short[] s) => Push(s);
public void WriteIntArray(int[] i) => Push(i);
public void WriteLongArray(long[] l) => Push(l);
public void WriteSByte(sbyte b) => Push(ZigZagEncode(b, 8));
public void WriteShort(short s) => Push(ZigZagEncode(s, 8));
public void WriteInt(int i) => Push(ZigZagEncode(i, 8));
public void WriteLong(long l) => Push(ZigZagEncode(l, 8));
public void WriteString(string s) => Push(s);
public byte[] ToArray()
public void WriteAlignBits() => Push<object>(null);
public void WriteFloatArray(float[] f, bool known = false) => PushArray(f, known);
public void WriteDoubleArray(double[] d, bool known = false) => PushArray(d, known);
public void WriteByteArray(byte[] b, bool known = false) => PushArray(b, known);
public void WriteUShortArray(ushort[] s, bool known = false) => PushArray(s, known);
public void WriteUIntArray(uint[] i, bool known = false) => PushArray(i, known);
public void WriteULongArray(ulong[] l, bool known = false) => PushArray(l, known);
public void WriteSByteArray(sbyte[] b, bool known = false) => PushArray(b, known);
public void WriteShortArray(short[] s, bool known = false) => PushArray(s, known);
public void WriteIntArray(int[] i, bool known = false) => PushArray(i, known);
public void WriteLongArray(long[] l, bool known = false) => PushArray(l, known);
public void WriteBits(byte value, int bits)
{
long bitCount = 0;
for (int i = 0; i < collectCount; ++i) bitCount += GetBitCount(collect[i]);
byte[] alloc = new byte[(bitCount / 8) + (bitCount % 8 == 0 ? 0 : 1)];
long bitOffset = 0;
foreach (var item in collect)
Serialize(item, alloc, ref bitOffset);
return alloc;
for (int i = 0; i < bits; ++i) WriteBool((value & (1 << i)) != 0);
}
private static void Serialize<T>(T t, byte[] writeTo, ref long bitOffset)
private void PushArray<T>(T[] t, bool knownSize = false)
{
if (!knownSize) Push((uint)t.Length);
bool signed = IsSigned(t.GetType().GetElementType());
int size = Marshal.SizeOf(t.GetType().GetElementType());
foreach (T t1 in t) Push(signed ? (object)ZigZagEncode(t1 as long? ?? t1 as int? ?? t1 as short? ?? t1 as sbyte? ?? 0, size) : (object)t1);
}
/// <summary>
/// Serializes data, allocates an array and returns it
/// </summary>
/// <returns>Allocated array with written data</returns>
public byte[] Finalize()
{
long bitCount = 0;
for (int i = 0; i < collect.Count; ++i) bitCount += collect[i] == null ? (8 - (bitCount % 8)) % 8 : GetBitCount(collect[i]);
byte[] buffer = new byte[((bitCount / 8) + (bitCount % 8 == 0 ? 0 : 1))];
long bitOffset = 0;
bool isAligned = true;
foreach (var item in collect)
if (item == null)
{
bitOffset += (8 - (bitOffset % 8)) % 8;
isAligned = true;
}
else Serialize(item, buffer, ref bitOffset, ref isAligned);
return buffer;
}
//The ref is not needed. It's purley there to indicate that it's treated as a reference inside the method.
/// <summary>
/// Writes data to the given buffer
/// </summary>
/// <param name="buffer"></param>
/// <returns>The amount of bytes written</returns>
public long Finalize(ref byte[] buffer)
{
if(buffer == null)
{
Debug.LogWarning("MLAPI: no buffer provided");
return 0;
}
long bitCount = 0;
for (int i = 0; i < collect.Count; ++i) bitCount += collect[i] == null ? (8 - (bitCount % 8)) % 8 : GetBitCount(collect[i]);
if (buffer.Length < ((bitCount / 8) + (bitCount % 8 == 0 ? 0 : 1)))
{
Debug.LogWarning("MLAPI: The buffer size is not large enough");
return 0;
}
long bitOffset = 0;
bool isAligned = true;
foreach (var item in collect)
if (item == null)
{
bitOffset += (8 - (bitOffset % 8)) % 8;
isAligned = true;
}
else Serialize(item, buffer, ref bitOffset, ref isAligned);
return (bitCount / 8) + (bitCount % 8 == 0 ? 0 : 1);
}
/// <summary>
/// Gets the size in bytes if you were to serialize now
/// </summary>
/// <returns>The size in bytes</returns>
public long GetFinalizeSize()
{
long bitCount = 0;
for (int i = 0; i < collect.Count; ++i) bitCount += collect[i] == null ? (8 - (bitCount % 8)) % 8 : GetBitCount(collect[i]);
return ((bitCount / 8) + (bitCount % 8 == 0 ? 0 : 1));
}
private static void Serialize<T>(T t, byte[] writeTo, ref long bitOffset, ref bool isAligned)
{
Type type = t.GetType();
bool size = false;
if (type.IsArray)
{
var array = t as Array;
Serialize((ushort)array.Length, writeTo, ref bitOffset);
Serialize((uint)array.Length, writeTo, ref bitOffset, ref isAligned);
foreach (var element in array)
Serialize(element, writeTo, ref bitOffset);
Serialize(element, writeTo, ref bitOffset, ref isAligned);
}
else if (IsSupportedType(type))
{
long offset = GetBitAllocation(type);
long offset = t is bool ? 1 : BytesToRead(t) * 8;
if (type == typeof(bool))
{
WriteBit(writeTo, t as bool? ?? false, bitOffset);
bitOffset += offset;
isAligned = bitOffset % 8 == 0;
}
else if (type == typeof(decimal))
{
WriteDynamic(writeTo, (int)dec_lo.GetValue(t), 4, bitOffset);
WriteDynamic(writeTo, (int)dec_mid.GetValue(t), 4, bitOffset + 32);
WriteDynamic(writeTo, (int)dec_hi.GetValue(t), 4, bitOffset + 64);
WriteDynamic(writeTo, (int)dec_flags.GetValue(t), 4, bitOffset + 96);
WriteDynamic(writeTo, (int)dec_lo.GetValue(t), 4, bitOffset, isAligned);
WriteDynamic(writeTo, (int)dec_mid.GetValue(t), 4, bitOffset + 32, isAligned);
WriteDynamic(writeTo, (int)dec_hi.GetValue(t), 4, bitOffset + 64, isAligned);
WriteDynamic(writeTo, (int)dec_flags.GetValue(t), 4, bitOffset + 96, isAligned);
bitOffset += offset;
}
else if ((size = type == typeof(float)) || type == typeof(double))
@ -162,71 +230,66 @@ namespace Tofvesson.Common
// Since floating point flag bits are seemingly the highest bytes of the floating point values
// and even very small values have them, we swap the endianness in the hopes of reducing the size
if(size) Serialize(BinaryHelpers.SwapEndian((uint)result_holder.GetValue(0)), writeTo, ref bitOffset);
else Serialize(BinaryHelpers.SwapEndian((ulong)result_holder.GetValue(0)), writeTo, ref bitOffset);
if(size) Serialize(BinaryHelpers.SwapEndian((uint)result_holder.GetValue(0)), writeTo, ref bitOffset, ref isAligned);
else Serialize(BinaryHelpers.SwapEndian((ulong)result_holder.GetValue(0)), writeTo, ref bitOffset, ref isAligned);
}
//bitOffset += offset;
}
else
{
bool signed = IsSigned(t.GetType());
ulong value;
if (signed)
if (t is byte)
{
Type t1 = t.GetType();
if (t1 == typeof(sbyte)) value = (byte)ZigZagEncode(t as sbyte? ?? 0, 1);
else if (t1 == typeof(short)) value = (ushort)ZigZagEncode(t as short? ?? 0, 2);
else if (t1 == typeof(int)) value = (uint)ZigZagEncode(t as int? ?? 0, 4);
else /*if (t1 == typeof(long))*/ value = (ulong)ZigZagEncode(t as long? ?? 0, 8);
WriteByte(writeTo, t as byte? ?? 0, bitOffset, isAligned);
bitOffset += 8;
return;
}
else if (t is byte) value = t as byte? ?? 0;
else if (t is ushort) value = t as ushort? ?? 0;
else if (t is uint) value = t as uint? ?? 0;
else /*if (t is ulong)*/ value = t as ulong? ?? 0;
else value = t as ulong? ?? 0;
if (value <= 240) WriteByte(writeTo, (byte)value, bitOffset);
if (value <= 240) WriteByte(writeTo, (byte)value, bitOffset, isAligned);
else if (value <= 2287)
{
WriteByte(writeTo, (value - 240) / 256 + 241, bitOffset);
WriteByte(writeTo, (value - 240) % 256, bitOffset + 8);
WriteByte(writeTo, (value - 240) / 256 + 241, bitOffset, isAligned);
WriteByte(writeTo, (value - 240) % 256, bitOffset + 8, isAligned);
}
else if (value <= 67823)
{
WriteByte(writeTo, 249, bitOffset);
WriteByte(writeTo, (value - 2288) / 256, bitOffset + 8);
WriteByte(writeTo, (value - 2288) % 256, bitOffset + 16);
WriteByte(writeTo, 249, bitOffset, isAligned);
WriteByte(writeTo, (value - 2288) / 256, bitOffset + 8, isAligned);
WriteByte(writeTo, (value - 2288) % 256, bitOffset + 16, isAligned);
}
else
{
WriteByte(writeTo, value & 255, bitOffset + 8);
WriteByte(writeTo, (value >> 8) & 255, bitOffset + 16);
WriteByte(writeTo, (value >> 16) & 255, bitOffset + 24);
WriteByte(writeTo, value & 255, bitOffset + 8, isAligned);
WriteByte(writeTo, (value >> 8) & 255, bitOffset + 16, isAligned);
WriteByte(writeTo, (value >> 16) & 255, bitOffset + 24, isAligned);
if (value > 16777215)
{
WriteByte(writeTo, (value >> 24) & 255, bitOffset + 32);
WriteByte(writeTo, (value >> 24) & 255, bitOffset + 32, isAligned);
if (value > 4294967295)
{
WriteByte(writeTo, (value >> 32) & 255, bitOffset + 40);
WriteByte(writeTo, (value >> 32) & 255, bitOffset + 40, isAligned);
if (value > 1099511627775)
{
WriteByte(writeTo, (value >> 40) & 55, bitOffset + 48);
WriteByte(writeTo, (value >> 40) & 255, bitOffset + 48, isAligned);
if (value > 281474976710655)
{
WriteByte(writeTo, (value >> 48) & 255, bitOffset + 56);
WriteByte(writeTo, (value >> 48) & 255, bitOffset + 56, isAligned);
if (value > 72057594037927935)
{
WriteByte(writeTo, 255, bitOffset);
WriteByte(writeTo, (value >> 56) & 255, bitOffset + 64);
WriteByte(writeTo, 255, bitOffset, isAligned);
WriteByte(writeTo, (value >> 56) & 255, bitOffset + 64, isAligned);
}
else WriteByte(writeTo, 254, bitOffset);
else WriteByte(writeTo, 254, bitOffset, isAligned);
}
else WriteByte(writeTo, 253, bitOffset);
else WriteByte(writeTo, 253, bitOffset, isAligned);
}
else WriteByte(writeTo, 252, bitOffset);
else WriteByte(writeTo, 252, bitOffset, isAligned);
}
else WriteByte(writeTo, 251, bitOffset);
else WriteByte(writeTo, 251, bitOffset, isAligned);
}
else WriteByte(writeTo, 250, bitOffset);
else WriteByte(writeTo, 250, bitOffset, isAligned);
}
bitOffset += BytesToRead(value) * 8;
}
@ -236,7 +299,7 @@ namespace Tofvesson.Common
private static byte Read7BitRange(byte higher, byte lower, int bottomBits) => (byte)((higher << bottomBits) & (lower & (0xFF << (8-bottomBits))));
private static byte ReadNBits(byte from, int offset, int count) => (byte)(from & ((0xFF >> (8-count)) << offset));
private static bool IsSigned(Type t) => Convert.ToBoolean(t.GetField("MinValue").GetValue(null));
private static bool IsSigned(Type t) => t == typeof(sbyte) || t == typeof(short) || t == typeof(int) || t == typeof(long);
private static Type GetUnsignedType(Type t) =>
t == typeof(sbyte) ? typeof(byte) :
@ -255,51 +318,51 @@ namespace Tofvesson.Common
{
Type elementType = type.GetElementType();
count += 16; // Int16 array size. Arrays shouldn't be syncing more than 65k elements
count += BytesToRead((t as Array).Length) * 8; // Int16 array size. Arrays shouldn't be syncing more than 65k elements
if (elementType == typeof(bool)) count += (t as Array).Length;
else
foreach (var element in t as Array)
count += GetBitCount(element);
}
else if (IsSupportedType(type))
{
long ba = GetBitAllocation(type);
long ba = t is bool ? 1 : BytesToRead(t)*8;
if (ba == 0) count += Encoding.UTF8.GetByteCount(t as string);
else if (t is bool || t is decimal) count += ba;
else count += BytesToRead(t) * 8;
}
//else
// Debug.LogWarning("MLAPI: The type \"" + b.GetType() + "\" is not supported by the Binary Serializer. It will be ignored");
return count;
}
private static void WriteBit(byte[] b, bool bit, long index)
=> b[index / 8] = (byte)((b[index / 8] & ~(1 << (int)(index % 8))) | (bit ? 1 << (int)(index % 8) : 0));
private static void WriteByte(byte[] b, ulong value, long index) => WriteByte(b, (byte)value, index);
private static void WriteByte(byte[] b, byte value, long index)
private static void WriteByte(byte[] b, ulong value, long index, bool isAligned) => WriteByte(b, (byte)value, index, isAligned);
private static void WriteByte(byte[] b, byte value, long index, bool isAligned)
{
if (isAligned) b[index / 8] = value;
else
{
int byteIndex = (int)(index / 8);
int shift = (int)(index % 8);
byte upper_mask = (byte)(0xFF << shift);
byte lower_mask = (byte)~upper_mask;
b[byteIndex] = (byte)((b[byteIndex] & lower_mask) | (value << shift));
if(shift != 0 && byteIndex + 1 < b.Length)
b[byteIndex] = (byte)((b[byteIndex] & (byte)~upper_mask) | (value << shift));
b[byteIndex + 1] = (byte)((b[byteIndex + 1] & upper_mask) | (value >> (8 - shift)));
}
private static void WriteBits(byte[] b, byte value, int bits, int offset, long index)
{
for (int i = 0; i < bits; ++i)
WriteBit(b, (value & (1 << (i + offset))) != 0, index + i);
}
private static void WriteDynamic(byte[] b, int value, int byteCount, long index)
private static void WriteDynamic(byte[] b, int value, int byteCount, long index, bool isAligned)
{
for (int i = 0; i < byteCount; ++i)
WriteByte(b, (byte)((value >> (8 * i)) & 0xFF), index + (8 * i));
WriteByte(b, (byte)((value >> (8 * i)) & 0xFF), index + (8 * i), isAligned);
}
private static int BytesToRead(object i)
{
if (i is byte) return 1;
bool size;
ulong integer;
if (i is decimal) return BytesToRead((int)dec_flags.GetValue(i)) + BytesToRead((int)dec_lo.GetValue(i)) + BytesToRead((int)dec_mid.GetValue(i)) + BytesToRead((int)dec_hi.GetValue(i));
if ((size = i is float) || i is double)
{
int bytes = size ? 4 : 8;
@ -318,7 +381,7 @@ namespace Tofvesson.Common
else integer = BinaryHelpers.SwapEndian((ulong)result_holder.GetValue(0));
}
}
else integer = i as ulong? ?? 0;
else integer = i as ulong? ?? i as uint? ?? i as ushort? ?? i as byte? ?? 0;
return
integer <= 240 ? 1 :
integer <= 2287 ? 2 :
@ -334,28 +397,16 @@ namespace Tofvesson.Common
// Supported datatypes for serialization
private static bool IsSupportedType(Type t) => supportedTypes.Contains(t);
// Specifies how many bits will be written
private static long GetBitAllocation(Type t) =>
t == typeof(bool) ? 1 :
t == typeof(byte) ? 8 :
t == typeof(sbyte) ? 8 :
t == typeof(short) ? 16 :
t == typeof(char) ? 16 :
t == typeof(ushort) ? 16 :
t == typeof(int) ? 32 :
t == typeof(uint) ? 32 :
t == typeof(long) ? 64 :
t == typeof(ulong) ? 64 :
t == typeof(float) ? 32 :
t == typeof(double) ? 64 :
t == typeof(decimal) ? 128 :
0; // Unknown type
// Creates a weak reference to the allocated collector so that reuse may be possible
public void Dispose()
{
expired.Add(new WeakReference(collect));
collect = null;
if (!tempAlloc)
{
collect.Clear();
listPool.Enqueue(collect);
}
collect = null; //GC picks this
}
}
}
#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member

View File

@ -0,0 +1,437 @@
using System.Reflection;
using System.Security.Cryptography;
using MLAPI.Data;
using MLAPI.MonoBehaviours.Core;
using MLAPI.NetworkingManagerComponents.Binary;
using UnityEngine;
using UnityEngine.Networking;
namespace MLAPI.NetworkingManagerComponents.Core
{
internal static partial class InternalMessageHandler
{
internal static void HandleConnectionRequest(uint clientId, byte[] incommingData, int channelId)
{
BitReader reader = new BitReader(incommingData);
byte[] configHash = reader.ReadByteArray(32);
if (!netManager.NetworkConfig.CompareConfig(configHash))
{
Debug.LogWarning("MLAPI: NetworkConfiguration missmatch. The configuration between the server and client does not match.");
netManager.DisconnectClient(clientId);
return;
}
if (netManager.NetworkConfig.EnableEncryption)
{
byte[] diffiePublic = reader.ReadByteArray();
netManager.diffieHellmanPublicKeys.Add(clientId, diffiePublic);
}
if (netManager.NetworkConfig.ConnectionApproval)
{
byte[] connectionBuffer = reader.ReadByteArray();
netManager.ConnectionApprovalCallback(connectionBuffer, clientId, netManager.HandleApproval);
}
else
{
netManager.HandleApproval(clientId, true, Vector3.zero, Quaternion.identity);
}
}
internal static void HandleConnectionApproved(uint clientId, byte[] incommingData, int channelId)
{
BitReader reader = new BitReader(incommingData);
netManager.myClientId = reader.ReadUInt();
uint sceneIndex = 0;
if (netManager.NetworkConfig.EnableSceneSwitching)
sceneIndex = reader.ReadUInt();
if (netManager.NetworkConfig.EnableEncryption)
{
byte[] serverPublicKey = reader.ReadByteArray();
netManager.clientAesKey = netManager.clientDiffieHellman.GetSharedSecret(serverPublicKey);
if (netManager.NetworkConfig.SignKeyExchange)
{
byte[] publicKeySignature = reader.ReadByteArray();
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
rsa.PersistKeyInCsp = false;
rsa.FromXmlString(netManager.NetworkConfig.RSAPublicKey);
if (!rsa.VerifyData(serverPublicKey, new SHA512CryptoServiceProvider(), publicKeySignature))
{
//Man in the middle.
Debug.LogWarning("MLAPI: Signature doesnt match for the key exchange public part. Disconnecting");
netManager.StopClient();
return;
}
}
}
}
float netTime = reader.ReadFloat();
int remoteStamp = reader.ReadInt();
byte error;
NetId netId = new NetId(clientId);
int msDelay = NetworkTransport.GetRemoteDelayTimeMS(netId.HostId, netId.ConnectionId, remoteStamp, out error);
if ((NetworkError)error != NetworkError.Ok)
msDelay = 0;
netManager.networkTime = netTime + (msDelay / 1000f);
netManager.connectedClients.Add(netManager.MyClientId, new NetworkedClient() { ClientId = netManager.MyClientId });
int clientCount = reader.ReadInt();
for (int i = 0; i < clientCount; i++)
{
uint _clientId = reader.ReadUInt();
netManager.connectedClients.Add(_clientId, new NetworkedClient() { ClientId = _clientId });
}
if (netManager.NetworkConfig.HandleObjectSpawning)
{
SpawnManager.DestroySceneObjects();
int objectCount = reader.ReadInt();
for (int i = 0; i < objectCount; i++)
{
bool isPlayerObject = reader.ReadBool();
uint networkId = reader.ReadUInt();
uint ownerId = reader.ReadUInt();
int prefabId = reader.ReadInt();
bool isActive = reader.ReadBool();
bool sceneObject = reader.ReadBool();
float xPos = reader.ReadFloat();
float yPos = reader.ReadFloat();
float zPos = reader.ReadFloat();
float xRot = reader.ReadFloat();
float yRot = reader.ReadFloat();
float zRot = reader.ReadFloat();
if (isPlayerObject)
{
SpawnManager.SpawnPlayerObject(ownerId, networkId, new Vector3(xPos, yPos, zPos), Quaternion.Euler(xRot, yRot, zRot));
}
else
{
GameObject go = SpawnManager.SpawnPrefabIndexClient(prefabId, networkId, ownerId,
new Vector3(xPos, yPos, zPos), Quaternion.Euler(xRot, yRot, zRot));
go.GetComponent<NetworkedObject>().sceneObject = sceneObject;
go.SetActive(isActive);
}
}
}
if (netManager.NetworkConfig.EnableSceneSwitching)
{
NetworkSceneManager.OnSceneSwitch(sceneIndex);
}
netManager._isClientConnected = true;
if (netManager.OnClientConnectedCallback != null)
netManager.OnClientConnectedCallback.Invoke(netManager.MyClientId);
}
internal static void HandleAddObject(uint clientId, byte[] incommingData, int channelId)
{
BitReader reader = new BitReader(incommingData);
if (netManager.NetworkConfig.HandleObjectSpawning)
{
bool isPlayerObject = reader.ReadBool();
uint networkId = reader.ReadUInt();
uint ownerId = reader.ReadUInt();
int prefabId = reader.ReadInt();
bool sceneObject = reader.ReadBool();
float xPos = reader.ReadFloat();
float yPos = reader.ReadFloat();
float zPos = reader.ReadFloat();
float xRot = reader.ReadFloat();
float yRot = reader.ReadFloat();
float zRot = reader.ReadFloat();
if (isPlayerObject)
{
netManager.connectedClients.Add(ownerId, new NetworkedClient() { ClientId = ownerId });
SpawnManager.SpawnPlayerObject(ownerId, networkId, new Vector3(xPos, yPos, zPos), Quaternion.Euler(xRot, yRot, zRot));
}
else
{
GameObject go = SpawnManager.SpawnPrefabIndexClient(prefabId, networkId, ownerId,
new Vector3(xPos, yPos, zPos), Quaternion.Euler(xRot, yRot, zRot));
go.GetComponent<NetworkedObject>().sceneObject = sceneObject;
}
}
else
{
uint ownerId = reader.ReadUInt();
netManager.connectedClients.Add(ownerId, new NetworkedClient() { ClientId = ownerId });
}
}
internal static void HandleClientDisconnect(uint clientId, byte[] incommingData, int channelId)
{
BitReader reader = new BitReader(incommingData);
uint disconnectedClientId = reader.ReadUInt();
netManager.OnClientDisconnect(disconnectedClientId);
}
internal static void HandleDestroyObject(uint clientId, byte[] incommingData, int channelId)
{
BitReader reader = new BitReader(incommingData);
uint netId = reader.ReadUInt();
SpawnManager.OnDestroyObject(netId, true);
}
internal static void HandleSwitchScene(uint clientId, byte[] incommingData, int channelId)
{
BitReader reader = new BitReader(incommingData);
NetworkSceneManager.OnSceneSwitch(reader.ReadUInt());
}
internal static void HandleSpawnPoolObject(uint clientId, byte[] incommingData, int channelId)
{
BitReader reader = new BitReader(incommingData);
uint netId = reader.ReadUInt();
float xPos = reader.ReadFloat();
float yPos = reader.ReadFloat();
float zPos = reader.ReadFloat();
float xRot = reader.ReadFloat();
float yRot = reader.ReadFloat();
float zRot = reader.ReadFloat();
SpawnManager.spawnedObjects[netId].transform.position = new Vector3(xPos, yPos, zPos);
SpawnManager.spawnedObjects[netId].transform.rotation = Quaternion.Euler(xRot, yRot, zRot);
SpawnManager.spawnedObjects[netId].gameObject.SetActive(true);
}
internal static void HandleDestroyPoolObject(uint clientId, byte[] incommingData, int channelId)
{
BitReader reader = new BitReader(incommingData);
uint netId = reader.ReadUInt();
SpawnManager.spawnedObjects[netId].gameObject.SetActive(false);
}
internal static void HandleChangeOwner(uint clientId, byte[] incommingData, int channelId)
{
BitReader reader = new BitReader(incommingData);
uint netId = reader.ReadUInt();
uint ownerClientId = reader.ReadUInt();
if (SpawnManager.spawnedObjects[netId].OwnerClientId == netManager.MyClientId)
{
//We are current owner.
SpawnManager.spawnedObjects[netId].InvokeBehaviourOnLostOwnership();
}
if (ownerClientId == netManager.MyClientId)
{
//We are new owner.
SpawnManager.spawnedObjects[netId].InvokeBehaviourOnGainedOwnership();
}
SpawnManager.spawnedObjects[netId].ownerClientId = ownerClientId;
}
internal static void HandleSyncVarUpdate(uint clientId, byte[] incommingData, int channelId)
{
BitReader reader = new BitReader(incommingData);
byte dirtyCount = reader.ReadByte();
uint netId = reader.ReadUInt();
ushort orderIndex = reader.ReadUShort();
if (dirtyCount > 0)
{
for (int i = 0; i < dirtyCount; i++)
{
byte fieldIndex = reader.ReadByte();
if (!SpawnManager.spawnedObjects.ContainsKey(netId))
{
Debug.LogWarning("MLAPI: Sync message recieved for a non existant object with id: " + netId);
return;
}
else if (SpawnManager.spawnedObjects[netId].GetBehaviourAtOrderIndex(orderIndex) == null)
{
Debug.LogWarning("MLAPI: Sync message recieved for a non existant behaviour");
return;
}
else if (fieldIndex > (SpawnManager.spawnedObjects[netId].GetBehaviourAtOrderIndex(orderIndex).syncedVarFields.Count - 1))
{
Debug.LogWarning("MLAPI: Sync message recieved for field out of bounds");
return;
}
FieldType type = SpawnManager.spawnedObjects[netId].GetBehaviourAtOrderIndex(orderIndex).syncedVarFields[fieldIndex].FieldType;
switch (type)
{
case FieldType.Bool:
SpawnManager.spawnedObjects[netId].GetBehaviourAtOrderIndex(orderIndex).OnSyncVarUpdate(reader.ReadBool(), fieldIndex);
break;
case FieldType.Byte:
SpawnManager.spawnedObjects[netId].GetBehaviourAtOrderIndex(orderIndex).OnSyncVarUpdate(reader.ReadByte(), fieldIndex);
break;
case FieldType.Double:
SpawnManager.spawnedObjects[netId].GetBehaviourAtOrderIndex(orderIndex).OnSyncVarUpdate(reader.ReadDouble(), fieldIndex);
break;
case FieldType.Single:
SpawnManager.spawnedObjects[netId].GetBehaviourAtOrderIndex(orderIndex).OnSyncVarUpdate(reader.ReadFloat(), fieldIndex);
break;
case FieldType.Int:
SpawnManager.spawnedObjects[netId].GetBehaviourAtOrderIndex(orderIndex).OnSyncVarUpdate(reader.ReadInt(), fieldIndex);
break;
case FieldType.Long:
SpawnManager.spawnedObjects[netId].GetBehaviourAtOrderIndex(orderIndex).OnSyncVarUpdate(reader.ReadLong(), fieldIndex);
break;
case FieldType.SByte:
SpawnManager.spawnedObjects[netId].GetBehaviourAtOrderIndex(orderIndex).OnSyncVarUpdate(reader.ReadSByte(), fieldIndex);
break;
case FieldType.Short:
SpawnManager.spawnedObjects[netId].GetBehaviourAtOrderIndex(orderIndex).OnSyncVarUpdate(reader.ReadShort(), fieldIndex);
break;
case FieldType.UInt:
SpawnManager.spawnedObjects[netId].GetBehaviourAtOrderIndex(orderIndex).OnSyncVarUpdate(reader.ReadUInt(), fieldIndex);
break;
case FieldType.ULong:
SpawnManager.spawnedObjects[netId].GetBehaviourAtOrderIndex(orderIndex).OnSyncVarUpdate(reader.ReadULong(), fieldIndex);
break;
case FieldType.UShort:
SpawnManager.spawnedObjects[netId].GetBehaviourAtOrderIndex(orderIndex).OnSyncVarUpdate(reader.ReadUShort(), fieldIndex);
break;
case FieldType.String:
SpawnManager.spawnedObjects[netId].GetBehaviourAtOrderIndex(orderIndex).OnSyncVarUpdate(reader.ReadString(), fieldIndex);
break;
case FieldType.Vector3:
{ //Cases aren't their own scope. Therefor we create a scope for them as they share the X,Y,Z local variables otherwise.
float x = reader.ReadFloat();
float y = reader.ReadFloat();
float z = reader.ReadFloat();
SpawnManager.spawnedObjects[netId].GetBehaviourAtOrderIndex(orderIndex).OnSyncVarUpdate(new Vector3(x, y, z), fieldIndex);
}
break;
case FieldType.Vector2:
{
float x = reader.ReadFloat();
float y = reader.ReadFloat();
SpawnManager.spawnedObjects[netId].GetBehaviourAtOrderIndex(orderIndex).OnSyncVarUpdate(new Vector2(x, y), fieldIndex);
}
break;
case FieldType.Quaternion:
{
float x = reader.ReadFloat();
float y = reader.ReadFloat();
float z = reader.ReadFloat();
SpawnManager.spawnedObjects[netId].GetBehaviourAtOrderIndex(orderIndex).OnSyncVarUpdate(Quaternion.Euler(x, y, z), fieldIndex);
}
break;
}
}
}
}
internal static void HandleAddObjects(uint clientId, byte[] incommingData, int channelId)
{
BitReader reader = new BitReader(incommingData);
if (netManager.NetworkConfig.HandleObjectSpawning)
{
ushort objectCount = reader.ReadUShort();
for (int i = 0; i < objectCount; i++)
{
bool isPlayerObject = reader.ReadBool();
uint networkId = reader.ReadUInt();
uint ownerId = reader.ReadUInt();
int prefabId = reader.ReadInt();
bool sceneObject = reader.ReadBool();
float xPos = reader.ReadFloat();
float yPos = reader.ReadFloat();
float zPos = reader.ReadFloat();
float xRot = reader.ReadFloat();
float yRot = reader.ReadFloat();
float zRot = reader.ReadFloat();
if (isPlayerObject)
{
netManager.connectedClients.Add(ownerId, new NetworkedClient() { ClientId = ownerId });
SpawnManager.SpawnPlayerObject(ownerId, networkId, new Vector3(xPos, yPos, zPos), Quaternion.Euler(xRot, yRot, zRot));
}
else
{
GameObject go = SpawnManager.SpawnPrefabIndexClient(prefabId, networkId, ownerId,
new Vector3(xPos, yPos, zPos), Quaternion.Euler(xRot, yRot, zRot));
go.GetComponent<NetworkedObject>().sceneObject = sceneObject;
}
}
}
}
internal static void HandleTimeSync(uint clientId, byte[] incommingData, int channelId)
{
BitReader reader = new BitReader(incommingData);
float netTime = reader.ReadFloat();
int timestamp = reader.ReadInt();
NetId netId = new NetId(clientId);
byte error;
int msDelay = NetworkTransport.GetRemoteDelayTimeMS(netId.HostId, netId.ConnectionId, timestamp, out error);
if ((NetworkError)error != NetworkError.Ok)
msDelay = 0;
netManager.networkTime = netTime + (msDelay / 1000f);
}
internal static void HandleCommand(uint clientId, byte[] incommingData, int channelId)
{
BitReader reader = new BitReader(incommingData);
uint networkId = reader.ReadUInt();
ushort orderId = reader.ReadUShort();
ulong hash = reader.ReadULong();
NetworkedBehaviour behaviour = SpawnManager.spawnedObjects[networkId].GetBehaviourAtOrderIndex(orderId);
if (clientId != behaviour.ownerClientId)
return; // Not owner
MethodInfo targetMethod = null;
if (behaviour.cachedMethods.ContainsKey(Data.Cache.GetAttributeMethodName(hash)))
targetMethod = behaviour.cachedMethods[Data.Cache.GetAttributeMethodName(hash)];
byte paramCount = reader.ReadBits(5);
object[] methodParams = FieldTypeHelper.ReadObjects(reader, paramCount);
targetMethod.Invoke(behaviour, methodParams);
}
internal static void HandleRpc(uint clientId, byte[] incommingData, int channelId)
{
BitReader reader = new BitReader(incommingData);
uint networkId = reader.ReadUInt();
ushort orderId = reader.ReadUShort();
ulong hash = reader.ReadULong();
NetworkedBehaviour behaviour = SpawnManager.spawnedObjects[networkId].GetBehaviourAtOrderIndex(orderId);
MethodInfo targetMethod = null;
if (behaviour.cachedMethods.ContainsKey(Data.Cache.GetAttributeMethodName(hash)))
targetMethod = behaviour.cachedMethods[Data.Cache.GetAttributeMethodName(hash)];
byte paramCount = reader.ReadBits(5);
object[] methodParams = FieldTypeHelper.ReadObjects(reader, paramCount);
targetMethod.Invoke(behaviour, methodParams);
}
internal static void HandleTargetRpc(uint clientId, byte[] incommingData, int channelId)
{
BitReader reader = new BitReader(incommingData);
uint networkId = reader.ReadUInt();
ushort orderId = reader.ReadUShort();
ulong hash = reader.ReadULong();
NetworkedBehaviour behaviour = SpawnManager.spawnedObjects[networkId].GetBehaviourAtOrderIndex(orderId);
MethodInfo targetMethod = null;
if (behaviour.cachedMethods.ContainsKey(Data.Cache.GetAttributeMethodName(hash)))
targetMethod = behaviour.cachedMethods[Data.Cache.GetAttributeMethodName(hash)];
byte paramCount = reader.ReadBits(5);
object[] methodParams = FieldTypeHelper.ReadObjects(reader, paramCount);
targetMethod.Invoke(behaviour, methodParams);
}
}
}

View File

@ -0,0 +1,314 @@
using System.Collections.Generic;
using MLAPI.Data;
using MLAPI.NetworkingManagerComponents.Binary;
using MLAPI.NetworkingManagerComponents.Cryptography;
using UnityEngine;
using UnityEngine.Networking;
namespace MLAPI.NetworkingManagerComponents.Core
{
internal static partial class InternalMessageHandler
{
internal static byte[] FinalMessageBuffer;
internal static void PassthroughSend(uint targetId, uint sourceId, ushort messageType, int channelId, byte[] data, uint? networkId = null, ushort? orderId = null)
{
NetId targetNetId = new NetId(targetId);
if (netManager.isHost && targetNetId.IsHost())
{
//Host trying to send data to it's own client
Debug.LogWarning("MLAPI: Send method got message aimed at server from the server?");
return;
}
using (BitWriter writer = new BitWriter())
{
writer.WriteUShort(messageType);
writer.WriteBool(networkId != null);
if (networkId != null)
writer.WriteUInt(networkId.Value);
if (orderId != null)
writer.WriteUShort(orderId.Value);
writer.WriteBool(true);
writer.WriteUInt(sourceId);
writer.WriteAlignBits();
if (netManager.NetworkConfig.EncryptedChannelsHashSet.Contains(MessageManager.reverseChannels[channelId]))
writer.WriteByteArray(CryptographyHelper.Encrypt(data, netManager.connectedClients[targetId].AesKey));
else
writer.WriteByteArray(data);
writer.Finalize(ref FinalMessageBuffer);
byte error;
NetworkTransport.QueueMessageForSending(targetNetId.HostId, targetNetId.ConnectionId, channelId, FinalMessageBuffer, (int)writer.GetFinalizeSize(), out error);
}
}
internal static void Send(uint clientId, string messageType, string channelName, byte[] data, uint? networkId = null, ushort? orderId = null, bool skipQueue = false)
{
NetId netId = new NetId(clientId);
if (netManager.isHost && netId.IsHost())
{
//Don't invoke the message on our own machine. Instant stack overflow.
Debug.LogWarning("MLAPI: Cannot send message to own client");
return;
}
else if (netId.IsHost())
{
//Client trying to send data to host
netId = NetId.ServerNetId;
}
bool isPassthrough = (!netManager.isServer && clientId != NetId.ServerNetId.GetClientId() && netManager.NetworkConfig.AllowPassthroughMessages);
if (isPassthrough && !netManager.NetworkConfig.PassthroughMessageHashSet.Contains(MessageManager.messageTypes[messageType]))
{
Debug.LogWarning("MLAPI: The The MessageType " + messageType + " is not registered as an allowed passthrough message type.");
return;
}
using (BitWriter writer = new BitWriter())
{
writer.WriteUShort(MessageManager.messageTypes[messageType]);
writer.WriteBool(networkId != null);
if (networkId != null)
writer.WriteUInt(networkId.Value);
if (orderId != null)
writer.WriteUShort(orderId.Value);
writer.WriteBool(isPassthrough);
if (isPassthrough)
writer.WriteUInt(clientId);
writer.WriteAlignBits();
if (netManager.NetworkConfig.EncryptedChannelsHashSet.Contains(channelName))
{
//This is an encrypted message.
byte[] encrypted;
if (netManager.isServer)
encrypted = CryptographyHelper.Encrypt(data, netManager.connectedClients[clientId].AesKey);
else
encrypted = CryptographyHelper.Encrypt(data, netManager.clientAesKey);
writer.WriteByteArray(encrypted);
}
else
writer.WriteByteArray(data);
byte error;
if (isPassthrough)
netId = NetId.ServerNetId;
writer.Finalize(ref FinalMessageBuffer);
if (skipQueue)
NetworkTransport.Send(netId.HostId, netId.ConnectionId, MessageManager.channels[channelName], FinalMessageBuffer, (int)writer.GetFinalizeSize(), out error);
else
NetworkTransport.QueueMessageForSending(netId.HostId, netId.ConnectionId, MessageManager.channels[channelName], FinalMessageBuffer, (int)writer.GetFinalizeSize(), out error);
}
}
internal static void Send(uint[] clientIds, string messageType, string channelName, byte[] data, uint? networkId = null, ushort? orderId = null)
{
if (netManager.NetworkConfig.EncryptedChannelsHashSet.Contains(channelName))
{
Debug.LogWarning("MLAPI: Cannot send messages over encrypted channel to multiple clients.");
return;
}
using (BitWriter writer = new BitWriter())
{
writer.WriteUShort(MessageManager.messageTypes[messageType]);
writer.WriteBool(networkId != null);
if (networkId != null)
writer.WriteUInt(networkId.Value);
if (orderId != null)
writer.WriteUShort(orderId.Value);
writer.WriteBool(false);
writer.WriteAlignBits();
writer.WriteByteArray(data);
int channel = MessageManager.channels[channelName];
for (int i = 0; i < clientIds.Length; i++)
{
NetId netId = new NetId(clientIds[i]);
if (netManager.isHost && netId.IsHost())
{
//Don't invoke the message on our own machine. Instant stack overflow.
continue;
}
else if (netId.IsHost())
{
//Client trying to send data to host
netId = NetId.ServerNetId;
}
writer.Finalize(ref FinalMessageBuffer);
byte error;
NetworkTransport.QueueMessageForSending(netId.HostId, netId.ConnectionId, channel, FinalMessageBuffer, (int)writer.GetFinalizeSize(), out error);
}
}
}
internal static void Send(List<uint> clientIds, string messageType, string channelName, byte[] data, uint? networkId = null, ushort? orderId = null)
{
if (netManager.NetworkConfig.EncryptedChannelsHashSet.Contains(channelName))
{
Debug.LogWarning("MLAPI: Cannot send messages over encrypted channel to multiple clients.");
return;
}
using (BitWriter writer = new BitWriter())
{
writer.WriteUShort(MessageManager.messageTypes[messageType]);
writer.WriteBool(networkId != null);
if (networkId != null)
writer.WriteUInt(networkId.Value);
if (orderId != null)
writer.WriteUShort(orderId.Value);
writer.WriteBool(false);
writer.WriteAlignBits();
writer.WriteByteArray(data);
int channel = MessageManager.channels[channelName];
for (int i = 0; i < clientIds.Count; i++)
{
NetId netId = new NetId(clientIds[i]);
if (netManager.isHost && netId.IsHost())
{
//Don't invoke the message on our own machine. Instant stack overflow.
continue;
}
else if (netId.IsHost())
{
//Client trying to send data to host
netId = NetId.ServerNetId;
}
writer.Finalize(ref FinalMessageBuffer);
byte error;
NetworkTransport.QueueMessageForSending(netId.HostId, netId.ConnectionId, channel, FinalMessageBuffer, (int)writer.GetFinalizeSize(), out error);
}
}
}
internal static void Send(string messageType, string channelName, byte[] data, uint? networkId = null, ushort? orderId = null)
{
if (netManager.connectedClients.Count == 0)
return;
if (netManager.NetworkConfig.EncryptedChannels.Contains(channelName))
{
Debug.LogWarning("MLAPI: Cannot send messages over encrypted channel to multiple clients.");
return;
}
using (BitWriter writer = new BitWriter())
{
writer.WriteUShort(MessageManager.messageTypes[messageType]);
writer.WriteBool(networkId != null);
if (networkId != null)
writer.WriteUInt(networkId.Value);
if (orderId != null)
writer.WriteUShort(orderId.Value);
writer.WriteBool(false);
writer.WriteAlignBits();
writer.WriteByteArray(data);
int channel = MessageManager.channels[channelName];
foreach (KeyValuePair<uint, NetworkedClient> pair in netManager.connectedClients)
{
NetId netId = new NetId(pair.Key);
if (netManager.isHost && netId.IsHost())
{
//Don't invoke the message on our own machine. Instant stack overflow.
continue;
}
else if (netId.IsHost())
{
//Client trying to send data to host
netId = NetId.ServerNetId;
}
writer.Finalize(ref FinalMessageBuffer);
byte error;
NetworkTransport.QueueMessageForSending(netId.HostId, netId.ConnectionId, channel, FinalMessageBuffer, (int)writer.GetFinalizeSize(), out error);
}
}
}
internal static void Send(string messageType, string channelName, byte[] data, uint clientIdToIgnore, uint? networkId = null, ushort? orderId = null)
{
if (netManager.NetworkConfig.EncryptedChannels.Contains(channelName))
{
Debug.LogWarning("MLAPI: Cannot send messages over encrypted channel to multiple clients.");
return;
}
using (BitWriter writer = new BitWriter())
{
writer.WriteUShort(MessageManager.messageTypes[messageType]);
writer.WriteBool(networkId != null);
if (networkId != null)
writer.WriteUInt(networkId.Value);
if (orderId != null)
writer.WriteUShort(orderId.Value);
writer.WriteBool(false);
writer.WriteAlignBits();
writer.WriteByteArray(data);
int channel = MessageManager.channels[channelName];
foreach (KeyValuePair<uint, NetworkedClient> pair in netManager.connectedClients)
{
if (pair.Key == clientIdToIgnore)
continue;
NetId netId = new NetId(pair.Key);
if (netManager.isHost && netId.IsHost())
{
//Don't invoke the message on our own machine. Instant stack overflow.
continue;
}
else if (netId.IsHost())
{
//Client trying to send data to host
netId = NetId.ServerNetId;
}
writer.Finalize(ref FinalMessageBuffer);
byte error;
NetworkTransport.QueueMessageForSending(netId.HostId, netId.ConnectionId, channel, FinalMessageBuffer, (int)writer.GetFinalizeSize(), out error);
}
}
}
}
}

View File

@ -0,0 +1,15 @@
using MLAPI.MonoBehaviours.Core;
namespace MLAPI.NetworkingManagerComponents.Core
{
internal static partial class InternalMessageHandler
{
private static NetworkingManager netManager
{
get
{
return NetworkingManager.singleton;
}
}
}
}

View File

@ -1,7 +1,7 @@
using MLAPI.Data;
using MLAPI.MonoBehaviours.Core;
using MLAPI.NetworkingManagerComponents.Binary;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
namespace MLAPI.NetworkingManagerComponents.Core
@ -66,19 +66,19 @@ namespace MLAPI.NetworkingManagerComponents.Core
return null;
}
GameObject go = Pools[PoolNamesToIndexes[poolName]].SpawnObject(position, rotation);
using (MemoryStream stream = new MemoryStream(28))
using (BitWriter writer = new BitWriter())
{
using (BinaryWriter writer = new BinaryWriter(stream))
{
writer.Write(go.GetComponent<NetworkedObject>().NetworkId);
writer.Write(position.x);
writer.Write(position.y);
writer.Write(position.z);
writer.Write(rotation.eulerAngles.x);
writer.Write(rotation.eulerAngles.y);
writer.Write(rotation.eulerAngles.z);
}
NetworkingManager.singleton.Send("MLAPI_SPAWN_POOL_OBJECT", "MLAPI_INTERNAL", stream.GetBuffer());
writer.WriteUInt(go.GetComponent<NetworkedObject>().NetworkId);
writer.WriteFloat(position.x);
writer.WriteFloat(position.y);
writer.WriteFloat(position.z);
writer.WriteFloat(rotation.eulerAngles.x);
writer.WriteFloat(rotation.eulerAngles.y);
writer.WriteFloat(rotation.eulerAngles.z);
InternalMessageHandler.Send("MLAPI_SPAWN_POOL_OBJECT", "MLAPI_INTERNAL", writer.Finalize());
}
return go;
}
@ -95,13 +95,11 @@ namespace MLAPI.NetworkingManagerComponents.Core
return;
}
netObject.gameObject.SetActive(false);
using (MemoryStream stream = new MemoryStream(4))
using (BitWriter writer = new BitWriter())
{
using (BinaryWriter writer = new BinaryWriter(stream))
{
writer.Write(netObject.NetworkId);
}
NetworkingManager.singleton.Send("MLAPI_DESTROY_POOL_OBJECT", "MLAPI_INTERNAL", stream.GetBuffer());
writer.WriteUInt(netObject.NetworkId);
InternalMessageHandler.Send("MLAPI_DESTROY_POOL_OBJECT", "MLAPI_INTERNAL", writer.Finalize());
}
}
}

View File

@ -1,6 +1,6 @@
using MLAPI.MonoBehaviours.Core;
using MLAPI.NetworkingManagerComponents.Binary;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using UnityEngine;
using UnityEngine.SceneManagement;
@ -58,13 +58,11 @@ namespace MLAPI.NetworkingManagerComponents.Core
AsyncOperation sceneLoad = SceneManager.LoadSceneAsync(sceneName, LoadSceneMode.Additive);
sceneLoad.completed += OnSceneLoaded;
using(MemoryStream stream = new MemoryStream(4))
using (BitWriter writer = new BitWriter())
{
using (BinaryWriter writer = new BinaryWriter(stream))
{
writer.Write(sceneNameToIndex[sceneName]);
}
NetworkingManager.singleton.Send("MLAPI_SWITCH_SCENE", "MLAPI_INTERNAL", stream.GetBuffer());
writer.WriteUInt(sceneNameToIndex[sceneName]);
InternalMessageHandler.Send("MLAPI_SWITCH_SCENE", "MLAPI_INTERNAL", writer.Finalize());
}
}

View File

@ -1,8 +1,7 @@
using MLAPI.Data;
using MLAPI.MonoBehaviours.Core;
using System;
using MLAPI.NetworkingManagerComponents.Binary;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
namespace MLAPI.NetworkingManagerComponents.Core
@ -38,14 +37,13 @@ namespace MLAPI.NetworkingManagerComponents.Core
NetworkedObject netObject = SpawnManager.spawnedObjects[netId];
NetworkingManager.singleton.connectedClients[netObject.OwnerClientId].OwnedObjects.RemoveAll(x => x.NetworkId == netId);
netObject.ownerClientId = new NetId(0, 0, false, true).GetClientId();
using (MemoryStream stream = new MemoryStream(8))
using (BitWriter writer = new BitWriter())
{
using (BinaryWriter writer = new BinaryWriter(stream))
{
writer.Write(netId);
writer.Write(netObject.ownerClientId);
}
netManager.Send("MLAPI_CHANGE_OWNER", "MLAPI_INTERNAL", stream.GetBuffer());
writer.WriteUInt(netId);
writer.WriteUInt(netObject.ownerClientId);
InternalMessageHandler.Send("MLAPI_CHANGE_OWNER", "MLAPI_INTERNAL", writer.Finalize());
}
}
@ -55,14 +53,13 @@ namespace MLAPI.NetworkingManagerComponents.Core
NetworkingManager.singleton.connectedClients[netObject.OwnerClientId].OwnedObjects.RemoveAll(x => x.NetworkId == netId);
NetworkingManager.singleton.connectedClients[clientId].OwnedObjects.Add(netObject);
netObject.ownerClientId = clientId;
using (MemoryStream stream = new MemoryStream(8))
using (BitWriter writer = new BitWriter())
{
using (BinaryWriter writer = new BinaryWriter(stream))
{
writer.Write(netId);
writer.Write(clientId);
}
netManager.Send("MLAPI_CHANGE_OWNER", "MLAPI_INTERNAL", stream.GetBuffer());
writer.WriteUInt(netId);
writer.WriteUInt(clientId);
InternalMessageHandler.Send("MLAPI_CHANGE_OWNER", "MLAPI_INTERNAL", writer.Finalize());
}
}
@ -109,29 +106,28 @@ namespace MLAPI.NetworkingManagerComponents.Core
if (pair.Value.sceneObject == null || pair.Value.sceneObject == true)
sceneObjectsToSync.Add(pair.Value);
}
int sizeOfStream = 2 + (38 * sceneObjectsToSync.Count); //The two is the base size, it's a ushort containing the amount of objects. Each object takes 38 bytes
using (MemoryStream stream = new MemoryStream(sizeOfStream))
using (BitWriter writer = new BitWriter())
{
using (BinaryWriter writer = new BinaryWriter(stream))
{
writer.Write((ushort)sceneObjectsToSync.Count);
writer.WriteUShort((ushort)sceneObjectsToSync.Count);
for (int i = 0; i < sceneObjectsToSync.Count; i++)
{
writer.Write(false); //isLocalPlayer
writer.Write(sceneObjectsToSync[i].NetworkId);
writer.Write(sceneObjectsToSync[i].OwnerClientId);
writer.Write(NetworkingManager.singleton.NetworkConfig.NetworkPrefabIds[sceneObjectsToSync[i].NetworkedPrefabName]);
writer.WriteBool(false); //isLocalPlayer
writer.WriteUInt(sceneObjectsToSync[i].NetworkId);
writer.WriteUInt(sceneObjectsToSync[i].OwnerClientId);
writer.WriteInt(NetworkingManager.singleton.NetworkConfig.NetworkPrefabIds[sceneObjectsToSync[i].NetworkedPrefabName]);
writer.WriteBool(sceneObjectsToSync[i].sceneObject == null ? true : sceneObjectsToSync[i].sceneObject.Value);
writer.Write(sceneObjectsToSync[i].transform.position.x);
writer.Write(sceneObjectsToSync[i].transform.position.y);
writer.Write(sceneObjectsToSync[i].transform.position.z);
writer.WriteFloat(sceneObjectsToSync[i].transform.position.x);
writer.WriteFloat(sceneObjectsToSync[i].transform.position.y);
writer.WriteFloat(sceneObjectsToSync[i].transform.position.z);
writer.Write(sceneObjectsToSync[i].transform.rotation.eulerAngles.x);
writer.Write(sceneObjectsToSync[i].transform.rotation.eulerAngles.y);
writer.Write(sceneObjectsToSync[i].transform.rotation.eulerAngles.z);
writer.WriteFloat(sceneObjectsToSync[i].transform.rotation.eulerAngles.x);
writer.WriteFloat(sceneObjectsToSync[i].transform.rotation.eulerAngles.y);
writer.WriteFloat(sceneObjectsToSync[i].transform.rotation.eulerAngles.z);
}
}
NetworkingManager.singleton.Send("MLAPI_ADD_OBJECTS", "MLAPI_INTERNAL", stream.GetBuffer());
InternalMessageHandler.Send("MLAPI_ADD_OBJECTS", "MLAPI_INTERNAL", writer.Finalize());
}
}
@ -195,36 +191,35 @@ namespace MLAPI.NetworkingManagerComponents.Core
netObject.ownerClientId = clientOwnerId.Value;
NetworkingManager.singleton.connectedClients[clientOwnerId.Value].OwnedObjects.Add(netObject);
}
using (MemoryStream stream = new MemoryStream(37))
using (BitWriter writer = new BitWriter())
{
using (BinaryWriter writer = new BinaryWriter(stream))
{
writer.Write(false);
writer.Write(netObject.NetworkId);
writer.Write(netObject.OwnerClientId);
writer.Write(netManager.NetworkConfig.NetworkPrefabIds[netObject.NetworkedPrefabName]);
writer.WriteBool(false);
writer.WriteUInt(netObject.NetworkId);
writer.WriteUInt(netObject.OwnerClientId);
writer.WriteInt(netManager.NetworkConfig.NetworkPrefabIds[netObject.NetworkedPrefabName]);
writer.WriteBool(netObject.sceneObject == null ? true : netObject.sceneObject.Value);
writer.Write(netObject.transform.position.x);
writer.Write(netObject.transform.position.y);
writer.Write(netObject.transform.position.z);
writer.WriteFloat(netObject.transform.position.x);
writer.WriteFloat(netObject.transform.position.y);
writer.WriteFloat(netObject.transform.position.z);
writer.Write(netObject.transform.rotation.eulerAngles.x);
writer.Write(netObject.transform.rotation.eulerAngles.y);
writer.Write(netObject.transform.rotation.eulerAngles.z);
}
writer.WriteFloat(netObject.transform.rotation.eulerAngles.x);
writer.WriteFloat(netObject.transform.rotation.eulerAngles.y);
writer.WriteFloat(netObject.transform.rotation.eulerAngles.z);
netManager.Send("MLAPI_ADD_OBJECT", "MLAPI_INTERNAL", stream.GetBuffer());
InternalMessageHandler.Send("MLAPI_ADD_OBJECT", "MLAPI_INTERNAL", writer.Finalize());
}
}
internal static GameObject SpawnPlayerObject(uint clientId, uint networkId)
internal static GameObject SpawnPlayerObject(uint clientId, uint networkId, Vector3 position, Quaternion rotation)
{
if (string.IsNullOrEmpty(netManager.NetworkConfig.PlayerPrefabName) || !netManager.NetworkConfig.NetworkPrefabIds.ContainsKey(netManager.NetworkConfig.PlayerPrefabName))
{
Debug.LogWarning("MLAPI: There is no player prefab in the NetworkConfig, or it's not registered at as a spawnable prefab");
return null;
}
GameObject go = MonoBehaviour.Instantiate(netManager.NetworkConfig.NetworkedPrefabs[netManager.NetworkConfig.NetworkPrefabIds[netManager.NetworkConfig.PlayerPrefabName]].prefab);
GameObject go = MonoBehaviour.Instantiate(netManager.NetworkConfig.NetworkedPrefabs[netManager.NetworkConfig.NetworkPrefabIds[netManager.NetworkConfig.PlayerPrefabName]].prefab, position, rotation);
NetworkedObject netObject = go.GetComponent<NetworkedObject>();
if (netObject == null)
{
@ -263,13 +258,11 @@ namespace MLAPI.NetworkingManagerComponents.Core
releasedNetworkObjectIds.Push(networkId);
if (spawnedObjects[networkId] != null)
{
using (MemoryStream stream = new MemoryStream(4))
using (BitWriter writer = new BitWriter())
{
using (BinaryWriter writer = new BinaryWriter(stream))
{
writer.Write(networkId);
}
netManager.Send("MLAPI_DESTROY_OBJECT", "MLAPI_INTERNAL", stream.GetBuffer());
writer.WriteUInt(networkId);
InternalMessageHandler.Send("MLAPI_DESTROY_OBJECT", "MLAPI_INTERNAL", writer.Finalize());
}
}
}

219
Protocol.md Normal file
View File

@ -0,0 +1,219 @@
# MLAPI Protocol
#### NOTE
_This protocol specification is TEMPORARY, it's due to change and is just here to give you an aproximate idea of how the protocol works_
The MLAPI protocol is layered. The layers can be seen below.
The first layer is the UDP IP layer. Ontop of the UDP layer, the Unity Network Transport layer is built. And just after that, the MLAPI's protocol starts to appear. The MLAPI has two protocol stages. The first stage is the generic MLAPI message protocol. This is the protocol all messages use that is sent by the user or the MLAPI library.
The structure can be seen below, note that all messages use little endian format.
## MLAPI Generic Message Format
The first two bytes define what message type the message is. This message type is represented as a unsigned int16. The first 32 values are reserved for MLAPI messages. As of version 0.1.7, 10 messages are used. The rest of the message types are reserved for use by the user. That means the user can define ((2^16)-32)=65504 different messageTypes.
The next byte defines if the message is "targeted", see the targeted section on the wiki for more information. The byte is treated as a bool.
**If** the message is targeted (the previous byte was 1)
The next 4 bytes define the target networkId, a unsigned int32.
The next 2 bytes define the networkBehaviour orderId from the root networkObject root. That is, the first networkBehaviour under the networkObject we target (defined by previous 4 bytes) would be a 0, the second one would be a 1 and so on.
**Endif**
The next byte represents wheter or nor the message is a passthrough message, see the passthrough section on the wiki for more information. If the byte is 1, it's true, if it's 0 it's false.
**If** the message is a passthrough message (the previous byte was 1)
The next 4 bytes is a unsigned int32 specifying the clientId this message targted at.
**Endif**
The next two bytes is a unsigned int16 representing the size of the message payload (next field). If the channel this message is sent on is an encrypted channel, this will be the size of the encrypted payload.
The last field is the message payload. It has the size specified in the previous field. This is where the next layer sits. This is the messageData. If it's a user messageType, this is the data you send with your message. Otherwise, see the next section for the MLAPI internal message formats
## MLAPI Internal Messages
### MLAPI_CONNECTION_REQUEST (MessageType 0)
This message type is sent Client to Server. It's purpose is to ask the Server to join by providing information that help the server decide. This is the first message of the MLAPI Handshake
The first 32 bytes is a SHA256 hash of certain fields in the NetworkConfig.
**If** encryption is turned on
The next two bytes represents a unsigned int16 specifying the size of the public diffie hellman key.
The next bytes has the size specified above and contains the diffie hellman public key of the client.
**Endif**
**If** conectionApproval is turned on
The next two bytes represents a unsigned int16 specifying the size of the connectionData.
The next bytes has the size specified above and contains the connectionData.
**Endif**
### MLAPI_CONNECTION_APPROVED (MessageType 1)
This message is sent Server to Client, it's purpose is to notify Client's that their request has been approved and they are now fully joined. This is the last handshake message. (The request being MessageType 0)
The first two bytes represents a unsigned int32 containing the clientId the server has assigned to the recepient.
**If** scene management is enabled
The next 4 bytes represents a unsigned int32 containing the sceneIndex the server is currently using.
**Endif**
**If** encryption is enabled
The next two bytes represents a unsigned int16 specifying the size of the next field.
The next bytes have the size of the previous field and represents the diffie hellman public key.
**If** sign keyexchange is enabled
The next two bytes represents a unsigned int16 specifying the size of the next field.
The next bytes have the size of the previous field and contains a RSA signature of a SHA512 hash of the diffie hellman public key.
**Endif**
**Endif**
The next 4 bytes represents a single precision floating point value containing the current networkTime.
The next 4 bytes represents a signed int32 and contains a network timestamp generated by the NetworkTransport.
The next 4 bytes represents a signed int32 and contains the number of connected clients.
The next (4 * previousField) bytes is a sequence of unsigned int32 containing the clientId of a client.
**If** handle object spawning is turned on
The next 4 bytes represents a signed int32 containing the amount of networkedObjects is spawned.
The next (39 * previousField) represents information about each networkedObject. That is, each NetworkedObject has 39 bytes sent about it. A NetworkedField structure looks like this:
First byte specifies if the object is a playerObject. If the byte is 1, it's true, if it's 0, it's false
The next 4 bytes is a unsigned int32 containing the networkId of the object
The next 4 bytes is a unsigned int32 containing the ownerId of the object
The next 4 bytes is a signed int32 containing the networkedPrefabId to create the object from
The next byte is a boolean specifying if the object is active in the hierarchy
The next byte is a boolean specifying if the object is a sceneObject
The next 4 bytes is a single precision floating point value containing the x position of the object
The next 4 bytes is a single precision floating point value containing the y position of the object
The next 4 bytes is a single precision floating point value containing the z position of the object
The next 4 bytes is a single precision floating point value containing the x rotation of the object
The next 4 bytes is a single precision floating point value containing the y rotation of the object
The next 4 bytes is a single precision floating point value containing the z rotation of the object
**Endif**
### MLAPI_ADD_OBJECT (MessageType 2)
Sent server to client
**If** handle object spawning
The first byte is a boolean, represents if it's a player object or not
The next 4 bytes is a unsigned int32 representing the networkId
The next 4 bytes is a unsigned int32 representing the ownerId
The next 4 bytes is signed int32 represents the prefabId
The next byte is a bool representing if it's a sceneObject
The next 4 bytes is a single precision floating point value containing the x position of the object
The next 4 bytes is a single precision floating point value containing the y position of the object
The next 4 bytes is a single precision floating point value containing the z position of the object
The next 4 bytes is a single precision floating point value containing the x rotation of the object
The next 4 bytes is a single precision floating point value containing the y rotation of the object
The next 4 bytes is a single precision floating point value containing the z rotation of the object
**Else**
The first 4 bytes represents a unsigned int32 containing the ownerId
**Endif**
### MLAPI_CLIENT_DISCONNECT (MessageType 3)
Sent server to client
The first 4 bytes is a unsigned int32 containing the clientId
### MLAPI_DESTROY_OBJECT (MessageType 4)
Server to client
The first 4 bytes is a unsigned int32 containing the netId
### MLAPI_SWITCH_SCENE (MessageType 5)
Server to client
The first 4 bytes is a unsigned int32 containing the sceneId
### MLAPI_SPAWN_POOL_OBJECT (MessageType 6)
Server to client
The first 4 bytes is a unsigned int32 containing the netId
The next 4 bytes is a single precision floating point value containing the x position of the object
The next 4 bytes is a single precision floating point value containing the y position of the object
The next 4 bytes is a single precision floating point value containing the z position of the object
The next 4 bytes is a single precision floating point value containing the x rotation of the object
The next 4 bytes is a single precision floating point value containing the y rotation of the object
The next 4 bytes is a single precision floating point value containing the z rotation of the object
### MLAPI_DESTROY_POOL_OBJECT (MessageType 7)
Server to client
The first 4 bytes is a unsigned int32 containing the netId
### MLAPI_CHANGE_OWNER (MessageType 8)
Server to client
The first 4 bytes is a unsigned int32 containing the netId
The first 4 bytes is a unsigned int32 containing the ownerClientId
### MLAPI_SYNC_VAR_UPDATE (MessageType 9)
Server to client
The first byte represents the amount of dirty fields
The next 4 bytes is a unsigned int32 containing the netId
The next 2 bytes is a unsigned int16 containing the order of the netBehaviour
//HERE IS THE SYNCVAR DATA. NOTHING TO OPTIMIZE
### MLAPI_ADD_OBJECTS (MessageType 10)
Server to client
Same as ADD_OBJECT, but contains two bytes (unsigned int16 specifying the amount of objects, then repeated ADD_OBJECT patterns)

View File

@ -9,6 +9,7 @@ There is also a autogenerated Sandcastle [API reference](https://twotenpvp.githu
### Requirements
* Unity 2017 or newer
* .NET 4.6 or .NET 3.5 with .NET 2.0 non subset [Issue](https://github.com/TwoTenPvP/MLAPI/issues/43)
## Feature highlights
* Host support (Client hosts the server)
@ -30,19 +31,19 @@ There is also a autogenerated Sandcastle [API reference](https://twotenpvp.githu
* Networked NavMeshAgent \[[Wiki page](https://github.com/TwoTenPvP/MLAPI/wiki/NetworkedNavMeshAgent)\]
* Networked Object Pooling \[[Wiki page](https://github.com/TwoTenPvP/MLAPI/wiki/Networked-Object-Pooling)\]
* Synced Vars \[[Wiki page](https://github.com/TwoTenPvP/MLAPI/wiki/SyncedVars)\]
* Targeted Synced Vars \[[Wiki page](https://github.com/TwoTenPvP/MLAPI/wiki/SyncedVars#target)\]
* Encryption \[[Wiki page](https://github.com/TwoTenPvP/MLAPI/wiki/Message-Encryption)\]
## Planned features
* Area of interest
* BinaryWriter & BinaryReader replacement
* Message compression
* Super efficient BitWriter & BitReader \[[Wiki page](https://github.com/TwoTenPvP/MLAPI/wiki/BitWriter-&-BitReader)\]
* Command & Rpc system like HLAPI to allow for quick transfer from HLAPI to MLAPI \[[Wiki page](https://github.com/TwoTenPvP/MLAPI/wiki/Attribute-Message-System)\]
## Example
[Example project](https://github.com/TwoTenPvP/MLAPI-Examples)
The example project has a much lower priority compared to the library itself. If something doesn't exist in the example nor the wiki. Please open an issue on GitHub.
## Special thanks
Special thanks to [Gabriel Tofvesson](https://github.com/GabrielTofvesson) for writing the BitWriter, BitReader & ECDH implementation
## Issues and missing features

View File

@ -1,10 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<HelpKI>
<HelpKINode Title="Address field" Url="html/F_MLAPI_Data_NetworkingConfiguration_Address.htm" />
<HelpKINode Title="AesKey field" Url="html/F_MLAPI_Data_NetworkedClient_AesKey.htm" />
<HelpKINode Title="AllowPassthroughMessages field" Url="html/F_MLAPI_Data_NetworkingConfiguration_AllowPassthroughMessages.htm" />
<HelpKINode Title="AllowPassthroughMessages field" Url="html/F_MLAPI_Data_NetworkConfig_AllowPassthroughMessages.htm" />
<HelpKINode Title="animator property" Url="html/P_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_animator.htm" />
<HelpKINode Title="AssumeSyncedSends field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform_AssumeSyncedSends.htm" />
<HelpKINode Title="AvgTimeBetweenPointsMs property" Url="html/P_MLAPI_MonoBehaviours_Core_TrackedObject_AvgTimeBetweenPointsMs.htm" />
<HelpKINode Title="BinaryHelpers class">
<HelpKINode Title="BinaryHelpers Class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_BinaryHelpers.htm" />
<HelpKINode Title="methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Binary_BinaryHelpers.htm" />
</HelpKINode>
<HelpKINode Title="BinaryHelpers.SwapEndian method" Url="html/Overload_MLAPI_NetworkingManagerComponents_Binary_BinaryHelpers_SwapEndian.htm" />
<HelpKINode Title="BinaryIgnore class">
<HelpKINode Title="BinaryIgnore Class" Url="html/T_MLAPI_Attributes_BinaryIgnore.htm" />
<HelpKINode Title="constructor" Url="html/M_MLAPI_Attributes_BinaryIgnore__ctor.htm" />
@ -21,16 +26,90 @@
<HelpKINode Title="BinarySerializer.Deserialize&lt;T&gt; method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer_Deserialize__1.htm" />
<HelpKINode Title="BinarySerializer.Serialize(Of T) method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer_Serialize__1.htm" />
<HelpKINode Title="BinarySerializer.Serialize&lt;T&gt; method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer_Serialize__1.htm" />
<HelpKINode Title="BitReader class">
<HelpKINode Title="BitReader Class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_BitReader.htm" />
<HelpKINode Title="constructor" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader__ctor.htm" />
<HelpKINode Title="methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Binary_BitReader.htm" />
</HelpKINode>
<HelpKINode Title="BitReader.BitReader constructor" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader__ctor.htm" />
<HelpKINode Title="BitReader.ReadBool method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadBool.htm" />
<HelpKINode Title="BitReader.ReadByte method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadByte.htm" />
<HelpKINode Title="BitReader.ReadByteArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadByteArray.htm" />
<HelpKINode Title="BitReader.ReadDouble method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadDouble.htm" />
<HelpKINode Title="BitReader.ReadDoubleArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadDoubleArray.htm" />
<HelpKINode Title="BitReader.ReadFloat method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadFloat.htm" />
<HelpKINode Title="BitReader.ReadFloatArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadFloatArray.htm" />
<HelpKINode Title="BitReader.ReadInt method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadInt.htm" />
<HelpKINode Title="BitReader.ReadIntArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadIntArray.htm" />
<HelpKINode Title="BitReader.ReadLong method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadLong.htm" />
<HelpKINode Title="BitReader.ReadLongArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadLongArray.htm" />
<HelpKINode Title="BitReader.ReadSByte method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadSByte.htm" />
<HelpKINode Title="BitReader.ReadSByteArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadSByteArray.htm" />
<HelpKINode Title="BitReader.ReadShort method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadShort.htm" />
<HelpKINode Title="BitReader.ReadShortArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadShortArray.htm" />
<HelpKINode Title="BitReader.ReadString method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadString.htm" />
<HelpKINode Title="BitReader.ReadUInt method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadUInt.htm" />
<HelpKINode Title="BitReader.ReadUIntArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadUIntArray.htm" />
<HelpKINode Title="BitReader.ReadULong method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadULong.htm" />
<HelpKINode Title="BitReader.ReadULongArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadULongArray.htm" />
<HelpKINode Title="BitReader.ReadUShort method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadUShort.htm" />
<HelpKINode Title="BitReader.ReadUShortArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadUShortArray.htm" />
<HelpKINode Title="BitReader.SkipPadded method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_SkipPadded.htm" />
<HelpKINode Title="BitWriter class">
<HelpKINode Title="BitWriter Class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_BitWriter.htm" />
<HelpKINode Title="constructor" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter__ctor.htm" />
<HelpKINode Title="methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Binary_BitWriter.htm" />
</HelpKINode>
<HelpKINode Title="BitWriter.BitWriter constructor" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter__ctor.htm" />
<HelpKINode Title="BitWriter.Dispose method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_Dispose.htm" />
<HelpKINode Title="BitWriter.Finalize method" Url="html/Overload_MLAPI_NetworkingManagerComponents_Binary_BitWriter_Finalize.htm" />
<HelpKINode Title="BitWriter.GetFinalizeSize method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_GetFinalizeSize.htm" />
<HelpKINode Title="BitWriter.WriteAlignBits method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteAlignBits.htm" />
<HelpKINode Title="BitWriter.WriteBool method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteBool.htm" />
<HelpKINode Title="BitWriter.WriteByte method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteByte.htm" />
<HelpKINode Title="BitWriter.WriteByteArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteByteArray.htm" />
<HelpKINode Title="BitWriter.WriteDouble method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteDouble.htm" />
<HelpKINode Title="BitWriter.WriteDoubleArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteDoubleArray.htm" />
<HelpKINode Title="BitWriter.WriteFloat method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteFloat.htm" />
<HelpKINode Title="BitWriter.WriteFloatArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteFloatArray.htm" />
<HelpKINode Title="BitWriter.WriteInt method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteInt.htm" />
<HelpKINode Title="BitWriter.WriteIntArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteIntArray.htm" />
<HelpKINode Title="BitWriter.WriteLong method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteLong.htm" />
<HelpKINode Title="BitWriter.WriteLongArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteLongArray.htm" />
<HelpKINode Title="BitWriter.WriteSByte method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteSByte.htm" />
<HelpKINode Title="BitWriter.WriteSByteArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteSByteArray.htm" />
<HelpKINode Title="BitWriter.WriteShort method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteShort.htm" />
<HelpKINode Title="BitWriter.WriteShortArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteShortArray.htm" />
<HelpKINode Title="BitWriter.WriteString method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteString.htm" />
<HelpKINode Title="BitWriter.WriteUInt method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteUInt.htm" />
<HelpKINode Title="BitWriter.WriteUIntArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteUIntArray.htm" />
<HelpKINode Title="BitWriter.WriteULong method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteULong.htm" />
<HelpKINode Title="BitWriter.WriteULongArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteULongArray.htm" />
<HelpKINode Title="BitWriter.WriteUShort method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteUShort.htm" />
<HelpKINode Title="BitWriter.WriteUShortArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteUShortArray.htm" />
<HelpKINode Title="ChangeOwnership method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedObject_ChangeOwnership.htm" />
<HelpKINode Title="Channels field" Url="html/F_MLAPI_Data_NetworkingConfiguration_Channels.htm" />
<HelpKINode Title="Channel class">
<HelpKINode Title="Channel Class" Url="html/T_MLAPI_Data_Channel.htm" />
<HelpKINode Title="constructor" Url="html/M_MLAPI_Data_Channel__ctor.htm" />
<HelpKINode Title="fields" Url="html/Fields_T_MLAPI_Data_Channel.htm" />
<HelpKINode Title="methods" Url="html/Methods_T_MLAPI_Data_Channel.htm" />
</HelpKINode>
<HelpKINode Title="Channel.Channel constructor" Url="html/M_MLAPI_Data_Channel__ctor.htm" />
<HelpKINode Title="Channel.Encrypted field" Url="html/F_MLAPI_Data_Channel_Encrypted.htm" />
<HelpKINode Title="Channel.Name field" Url="html/F_MLAPI_Data_Channel_Name.htm" />
<HelpKINode Title="Channel.Type field" Url="html/F_MLAPI_Data_Channel_Type.htm" />
<HelpKINode Title="Channels field" Url="html/F_MLAPI_Data_NetworkConfig_Channels.htm" />
<HelpKINode Title="ClearCache method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer_ClearCache.htm" />
<HelpKINode Title="ClientConnectionBufferTimeout field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ClientConnectionBufferTimeout.htm" />
<HelpKINode Title="ClientConnectionBufferTimeout field" Url="html/F_MLAPI_Data_NetworkConfig_ClientConnectionBufferTimeout.htm" />
<HelpKINode Title="ClientId field" Url="html/F_MLAPI_Data_NetworkedClient_ClientId.htm" />
<HelpKINode Title="CompareConfig method" Url="html/M_MLAPI_Data_NetworkingConfiguration_CompareConfig.htm" />
<HelpKINode Title="CompareConfig method" Url="html/M_MLAPI_Data_NetworkConfig_CompareConfig.htm" />
<HelpKINode Title="ConnectAddress field" Url="html/F_MLAPI_Data_NetworkConfig_ConnectAddress.htm" />
<HelpKINode Title="ConnectedClients property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkingManager_ConnectedClients.htm" />
<HelpKINode Title="ConnectionApproval field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ConnectionApproval.htm" />
<HelpKINode Title="ConnectionApprovalCallback field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ConnectionApprovalCallback.htm" />
<HelpKINode Title="ConnectionData field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ConnectionData.htm" />
<HelpKINode Title="ConnectionApproval field" Url="html/F_MLAPI_Data_NetworkConfig_ConnectionApproval.htm" />
<HelpKINode Title="ConnectionApprovalCallback field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_ConnectionApprovalCallback.htm" />
<HelpKINode Title="ConnectionData field" Url="html/F_MLAPI_Data_NetworkConfig_ConnectionData.htm" />
<HelpKINode Title="ConnectionId field" Url="html/F_MLAPI_Data_NetId_ConnectionId.htm" />
<HelpKINode Title="ConnectPort field" Url="html/F_MLAPI_Data_NetworkConfig_ConnectPort.htm" />
<HelpKINode Title="CorrectionDelay field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent_CorrectionDelay.htm" />
<HelpKINode Title="CreatePool method" Url="html/M_MLAPI_NetworkingManagerComponents_Core_NetworkPoolManager_CreatePool.htm" />
<HelpKINode Title="CryptographyHelper class">
@ -40,34 +119,43 @@
<HelpKINode Title="CryptographyHelper.Decrypt method" Url="html/M_MLAPI_NetworkingManagerComponents_Cryptography_CryptographyHelper_Decrypt.htm" />
<HelpKINode Title="CryptographyHelper.Encrypt method" Url="html/M_MLAPI_NetworkingManagerComponents_Cryptography_CryptographyHelper_Encrypt.htm" />
<HelpKINode Title="Decrypt method" Url="html/M_MLAPI_NetworkingManagerComponents_Cryptography_CryptographyHelper_Decrypt.htm" />
<HelpKINode Title="DefaultPlayerPrefab field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_DefaultPlayerPrefab.htm" />
<HelpKINode Title="DeregisterMessageHandler method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_DeregisterMessageHandler.htm" />
<HelpKINode Title="Deserialize(Of T) method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer_Deserialize__1.htm" />
<HelpKINode Title="Deserialize&lt;T&gt; method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer_Deserialize__1.htm" />
<HelpKINode Title="DestroyPool method" Url="html/M_MLAPI_NetworkingManagerComponents_Core_NetworkPoolManager_DestroyPool.htm" />
<HelpKINode Title="DestroyPoolObject method" Url="html/M_MLAPI_NetworkingManagerComponents_Core_NetworkPoolManager_DestroyPoolObject.htm" />
<HelpKINode Title="Dispose method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_Dispose.htm" />
<HelpKINode Title="DontDestroy field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_DontDestroy.htm" />
<HelpKINode Title="DriftCorrectionPercentage field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent_DriftCorrectionPercentage.htm" />
<HelpKINode Title="EnableEncryption field" Url="html/F_MLAPI_Data_NetworkingConfiguration_EnableEncryption.htm" />
<HelpKINode Title="EnableEncryption field" Url="html/F_MLAPI_Data_NetworkConfig_EnableEncryption.htm" />
<HelpKINode Title="EnableProximity field">
<HelpKINode Title="NetworkedAnimator.EnableProximity Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_EnableProximity.htm" />
<HelpKINode Title="NetworkedNavMeshAgent.EnableProximity Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent_EnableProximity.htm" />
<HelpKINode Title="NetworkedTransform.EnableProximity Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform_EnableProximity.htm" />
</HelpKINode>
<HelpKINode Title="EnableSceneSwitching field" Url="html/F_MLAPI_Data_NetworkingConfiguration_EnableSceneSwitching.htm" />
<HelpKINode Title="EnableSceneSwitching field" Url="html/F_MLAPI_Data_NetworkConfig_EnableSceneSwitching.htm" />
<HelpKINode Title="EnableTimeResync field" Url="html/F_MLAPI_Data_NetworkConfig_EnableTimeResync.htm" />
<HelpKINode Title="Encrypt method" Url="html/M_MLAPI_NetworkingManagerComponents_Cryptography_CryptographyHelper_Encrypt.htm" />
<HelpKINode Title="EncryptedChannels field" Url="html/F_MLAPI_Data_NetworkingConfiguration_EncryptedChannels.htm" />
<HelpKINode Title="EventTickrate field" Url="html/F_MLAPI_Data_NetworkingConfiguration_EventTickrate.htm" />
<HelpKINode Title="Encrypted field" Url="html/F_MLAPI_Data_Channel_Encrypted.htm" />
<HelpKINode Title="Equality operator" Url="html/M_MLAPI_Data_NetId_op_Equality.htm" />
<HelpKINode Title="Equals method" Url="html/M_MLAPI_Data_NetId_Equals.htm" />
<HelpKINode Title="EventTickrate field" Url="html/F_MLAPI_Data_NetworkConfig_EventTickrate.htm" />
<HelpKINode Title="Finalize method" Url="html/Overload_MLAPI_NetworkingManagerComponents_Binary_BitWriter_Finalize.htm" />
<HelpKINode Title="GetChunkedMessage method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_MessageChunker_GetChunkedMessage.htm" />
<HelpKINode Title="GetConfig method" Url="html/M_MLAPI_Data_NetworkingConfiguration_GetConfig.htm" />
<HelpKINode Title="GetClientId method" Url="html/M_MLAPI_Data_NetId_GetClientId.htm" />
<HelpKINode Title="GetConfig method" Url="html/M_MLAPI_Data_NetworkConfig_GetConfig.htm" />
<HelpKINode Title="GetFinalizeSize method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_GetFinalizeSize.htm" />
<HelpKINode Title="GetHashCode method" Url="html/M_MLAPI_Data_NetId_GetHashCode.htm" />
<HelpKINode Title="GetMessageOrdered method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_MessageChunker_GetMessageOrdered.htm" />
<HelpKINode Title="GetMessageUnordered method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_MessageChunker_GetMessageUnordered.htm" />
<HelpKINode Title="GetNetworkedObject method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_GetNetworkedObject.htm" />
<HelpKINode Title="GetParameterAutoSend method" Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_GetParameterAutoSend.htm" />
<HelpKINode Title="HandleObjectSpawning field" Url="html/F_MLAPI_Data_NetworkingConfiguration_HandleObjectSpawning.htm" />
<HelpKINode Title="HandleObjectSpawning field" Url="html/F_MLAPI_Data_NetworkConfig_HandleObjectSpawning.htm" />
<HelpKINode Title="HasDuplicates method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_MessageChunker_HasDuplicates.htm" />
<HelpKINode Title="HasMissingParts method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_MessageChunker_HasMissingParts.htm" />
<HelpKINode Title="hook field" Url="html/F_MLAPI_Attributes_SyncedVar_hook.htm" />
<HelpKINode Title="hookMethodName field" Url="html/F_MLAPI_Attributes_SyncedVar_hookMethodName.htm" />
<HelpKINode Title="HostId field" Url="html/F_MLAPI_Data_NetId_HostId.htm" />
<HelpKINode Title="Inequality operator" Url="html/M_MLAPI_Data_NetId_op_Inequality.htm" />
<HelpKINode Title="InterpolatePosition field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform_InterpolatePosition.htm" />
<HelpKINode Title="InterpolateServer field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform_InterpolateServer.htm" />
<HelpKINode Title="isClient property">
@ -75,10 +163,12 @@
<HelpKINode Title="NetworkingManager.isClient Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkingManager_isClient.htm" />
</HelpKINode>
<HelpKINode Title="IsClientConnected property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkingManager_IsClientConnected.htm" />
<HelpKINode Title="IsHost method" Url="html/M_MLAPI_Data_NetId_IsHost.htm" />
<HelpKINode Title="isHost property">
<HelpKINode Title="NetworkedBehaviour.isHost Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_isHost.htm" />
<HelpKINode Title="NetworkingManager.isHost Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkingManager_isHost.htm" />
</HelpKINode>
<HelpKINode Title="IsInvalid method" Url="html/M_MLAPI_Data_NetId_IsInvalid.htm" />
<HelpKINode Title="isLocalPlayer property">
<HelpKINode Title="NetworkedBehaviour.isLocalPlayer Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_isLocalPlayer.htm" />
<HelpKINode Title="NetworkedObject.isLocalPlayer Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedObject_isLocalPlayer.htm" />
@ -102,9 +192,9 @@
</HelpKINode>
<HelpKINode Title="LagCompensationManager.Simulate method" Url="html/Overload_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager_Simulate.htm" />
<HelpKINode Title="LagCompensationManager.SimulationObjects property" Url="html/P_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager_SimulationObjects.htm" />
<HelpKINode Title="MaxConnections field" Url="html/F_MLAPI_Data_NetworkingConfiguration_MaxConnections.htm" />
<HelpKINode Title="MaxReceiveEventsPerTickRate field" Url="html/F_MLAPI_Data_NetworkingConfiguration_MaxReceiveEventsPerTickRate.htm" />
<HelpKINode Title="MessageBufferSize field" Url="html/F_MLAPI_Data_NetworkingConfiguration_MessageBufferSize.htm" />
<HelpKINode Title="MaxConnections field" Url="html/F_MLAPI_Data_NetworkConfig_MaxConnections.htm" />
<HelpKINode Title="MaxReceiveEventsPerTickRate field" Url="html/F_MLAPI_Data_NetworkConfig_MaxReceiveEventsPerTickRate.htm" />
<HelpKINode Title="MessageBufferSize field" Url="html/F_MLAPI_Data_NetworkConfig_MessageBufferSize.htm" />
<HelpKINode Title="MessageChunker class">
<HelpKINode Title="MessageChunker Class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_MessageChunker.htm" />
<HelpKINode Title="methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Binary_MessageChunker.htm" />
@ -115,15 +205,30 @@
<HelpKINode Title="MessageChunker.HasDuplicates method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_MessageChunker_HasDuplicates.htm" />
<HelpKINode Title="MessageChunker.HasMissingParts method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_MessageChunker_HasMissingParts.htm" />
<HelpKINode Title="MessageChunker.IsOrdered method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_MessageChunker_IsOrdered.htm" />
<HelpKINode Title="MessageTypes field" Url="html/F_MLAPI_Data_NetworkingConfiguration_MessageTypes.htm" />
<HelpKINode Title="MessageType class">
<HelpKINode Title="MessageType Class" Url="html/T_MLAPI_Data_MessageType.htm" />
<HelpKINode Title="constructor" Url="html/M_MLAPI_Data_MessageType__ctor.htm" />
<HelpKINode Title="fields" Url="html/Fields_T_MLAPI_Data_MessageType.htm" />
<HelpKINode Title="methods" Url="html/Methods_T_MLAPI_Data_MessageType.htm" />
</HelpKINode>
<HelpKINode Title="MessageType.MessageType constructor" Url="html/M_MLAPI_Data_MessageType__ctor.htm" />
<HelpKINode Title="MessageType.Name field" Url="html/F_MLAPI_Data_MessageType_Name.htm" />
<HelpKINode Title="MessageType.Passthrough field" Url="html/F_MLAPI_Data_MessageType_Passthrough.htm" />
<HelpKINode Title="MessageTypes field" Url="html/F_MLAPI_Data_NetworkConfig_MessageTypes.htm" />
<HelpKINode Title="Meta field" Url="html/F_MLAPI_Data_NetId_Meta.htm" />
<HelpKINode Title="MinDegrees field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform_MinDegrees.htm" />
<HelpKINode Title="MinMeters field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform_MinMeters.htm" />
<HelpKINode Title="MLAPI.Attributes namespace" Url="html/N_MLAPI_Attributes.htm" />
<HelpKINode Title="MLAPI.Attributes.BinaryIgnore class" Url="html/T_MLAPI_Attributes_BinaryIgnore.htm" />
<HelpKINode Title="MLAPI.Attributes.SyncedVar class" Url="html/T_MLAPI_Attributes_SyncedVar.htm" />
<HelpKINode Title="MLAPI.Data namespace" Url="html/N_MLAPI_Data.htm" />
<HelpKINode Title="MLAPI.Data.Channel class" Url="html/T_MLAPI_Data_Channel.htm" />
<HelpKINode Title="MLAPI.Data.MessageType class" Url="html/T_MLAPI_Data_MessageType.htm" />
<HelpKINode Title="MLAPI.Data.NetId structure" Url="html/T_MLAPI_Data_NetId.htm" />
<HelpKINode Title="MLAPI.Data.NetworkConfig class" Url="html/T_MLAPI_Data_NetworkConfig.htm" />
<HelpKINode Title="MLAPI.Data.NetworkedClient class" Url="html/T_MLAPI_Data_NetworkedClient.htm" />
<HelpKINode Title="MLAPI.Data.NetworkingConfiguration class" Url="html/T_MLAPI_Data_NetworkingConfiguration.htm" />
<HelpKINode Title="MLAPI.Data.NetworkedPrefab class" Url="html/T_MLAPI_Data_NetworkedPrefab.htm" />
<HelpKINode Title="MLAPI.Data.TransportHost class" Url="html/T_MLAPI_Data_TransportHost.htm" />
<HelpKINode Title="MLAPI.MonoBehaviours.Core namespace" Url="html/N_MLAPI_MonoBehaviours_Core.htm" />
<HelpKINode Title="MLAPI.MonoBehaviours.Core.NetworkedBehaviour class" Url="html/T_MLAPI_MonoBehaviours_Core_NetworkedBehaviour.htm" />
<HelpKINode Title="MLAPI.MonoBehaviours.Core.NetworkedObject class" Url="html/T_MLAPI_MonoBehaviours_Core_NetworkedObject.htm" />
@ -134,7 +239,10 @@
<HelpKINode Title="MLAPI.MonoBehaviours.Prototyping.NetworkedNavMeshAgent class" Url="html/T_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent.htm" />
<HelpKINode Title="MLAPI.MonoBehaviours.Prototyping.NetworkedTransform class" Url="html/T_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform.htm" />
<HelpKINode Title="MLAPI.NetworkingManagerComponents.Binary namespace" Url="html/N_MLAPI_NetworkingManagerComponents_Binary.htm" />
<HelpKINode Title="MLAPI.NetworkingManagerComponents.Binary.BinaryHelpers class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_BinaryHelpers.htm" />
<HelpKINode Title="MLAPI.NetworkingManagerComponents.Binary.BinarySerializer class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer.htm" />
<HelpKINode Title="MLAPI.NetworkingManagerComponents.Binary.BitReader class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_BitReader.htm" />
<HelpKINode Title="MLAPI.NetworkingManagerComponents.Binary.BitWriter class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_BitWriter.htm" />
<HelpKINode Title="MLAPI.NetworkingManagerComponents.Binary.MessageChunker class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_MessageChunker.htm" />
<HelpKINode Title="MLAPI.NetworkingManagerComponents.Core namespace" Url="html/N_MLAPI_NetworkingManagerComponents_Core.htm" />
<HelpKINode Title="MLAPI.NetworkingManagerComponents.Core.LagCompensationManager class" Url="html/T_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager.htm" />
@ -143,7 +251,67 @@
<HelpKINode Title="MLAPI.NetworkingManagerComponents.Cryptography namespace" Url="html/N_MLAPI_NetworkingManagerComponents_Cryptography.htm" />
<HelpKINode Title="MLAPI.NetworkingManagerComponents.Cryptography.CryptographyHelper class" Url="html/T_MLAPI_NetworkingManagerComponents_Cryptography_CryptographyHelper.htm" />
<HelpKINode Title="MyClientId property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkingManager_MyClientId.htm" />
<HelpKINode Title="Name field">
<HelpKINode Title="Channel.Name Field" Url="html/F_MLAPI_Data_Channel_Name.htm" />
<HelpKINode Title="MessageType.Name Field" Url="html/F_MLAPI_Data_MessageType_Name.htm" />
<HelpKINode Title="TransportHost.Name Field" Url="html/F_MLAPI_Data_TransportHost_Name.htm" />
</HelpKINode>
<HelpKINode Title="NetId structure">
<HelpKINode Title="NetId Structure" Url="html/T_MLAPI_Data_NetId.htm" />
<HelpKINode Title="constructor" Url="html/Overload_MLAPI_Data_NetId__ctor.htm" />
<HelpKINode Title="fields" Url="html/Fields_T_MLAPI_Data_NetId.htm" />
<HelpKINode Title="methods" Url="html/Methods_T_MLAPI_Data_NetId.htm" />
<HelpKINode Title="operators" Url="html/Operators_T_MLAPI_Data_NetId.htm" />
<HelpKINode Title="properties" Url="html/Properties_T_MLAPI_Data_NetId.htm" />
</HelpKINode>
<HelpKINode Title="NetId.ConnectionId field" Url="html/F_MLAPI_Data_NetId_ConnectionId.htm" />
<HelpKINode Title="NetId.Equality operator" Url="html/M_MLAPI_Data_NetId_op_Equality.htm" />
<HelpKINode Title="NetId.Equals method" Url="html/M_MLAPI_Data_NetId_Equals.htm" />
<HelpKINode Title="NetId.GetClientId method" Url="html/M_MLAPI_Data_NetId_GetClientId.htm" />
<HelpKINode Title="NetId.GetHashCode method" Url="html/M_MLAPI_Data_NetId_GetHashCode.htm" />
<HelpKINode Title="NetId.HostId field" Url="html/F_MLAPI_Data_NetId_HostId.htm" />
<HelpKINode Title="NetId.Inequality operator" Url="html/M_MLAPI_Data_NetId_op_Inequality.htm" />
<HelpKINode Title="NetId.IsHost method" Url="html/M_MLAPI_Data_NetId_IsHost.htm" />
<HelpKINode Title="NetId.IsInvalid method" Url="html/M_MLAPI_Data_NetId_IsInvalid.htm" />
<HelpKINode Title="NetId.Meta field" Url="html/F_MLAPI_Data_NetId_Meta.htm" />
<HelpKINode Title="NetId.NetId constructor" Url="html/Overload_MLAPI_Data_NetId__ctor.htm" />
<HelpKINode Title="NetId.ServerNetId property" Url="html/P_MLAPI_Data_NetId_ServerNetId.htm" />
<HelpKINode Title="NetworkConfig class">
<HelpKINode Title="NetworkConfig Class" Url="html/T_MLAPI_Data_NetworkConfig.htm" />
<HelpKINode Title="constructor" Url="html/M_MLAPI_Data_NetworkConfig__ctor.htm" />
<HelpKINode Title="fields" Url="html/Fields_T_MLAPI_Data_NetworkConfig.htm" />
<HelpKINode Title="methods" Url="html/Methods_T_MLAPI_Data_NetworkConfig.htm" />
</HelpKINode>
<HelpKINode Title="NetworkConfig field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_NetworkConfig.htm" />
<HelpKINode Title="NetworkConfig.AllowPassthroughMessages field" Url="html/F_MLAPI_Data_NetworkConfig_AllowPassthroughMessages.htm" />
<HelpKINode Title="NetworkConfig.Channels field" Url="html/F_MLAPI_Data_NetworkConfig_Channels.htm" />
<HelpKINode Title="NetworkConfig.ClientConnectionBufferTimeout field" Url="html/F_MLAPI_Data_NetworkConfig_ClientConnectionBufferTimeout.htm" />
<HelpKINode Title="NetworkConfig.CompareConfig method" Url="html/M_MLAPI_Data_NetworkConfig_CompareConfig.htm" />
<HelpKINode Title="NetworkConfig.ConnectAddress field" Url="html/F_MLAPI_Data_NetworkConfig_ConnectAddress.htm" />
<HelpKINode Title="NetworkConfig.ConnectionApproval field" Url="html/F_MLAPI_Data_NetworkConfig_ConnectionApproval.htm" />
<HelpKINode Title="NetworkConfig.ConnectionData field" Url="html/F_MLAPI_Data_NetworkConfig_ConnectionData.htm" />
<HelpKINode Title="NetworkConfig.ConnectPort field" Url="html/F_MLAPI_Data_NetworkConfig_ConnectPort.htm" />
<HelpKINode Title="NetworkConfig.EnableEncryption field" Url="html/F_MLAPI_Data_NetworkConfig_EnableEncryption.htm" />
<HelpKINode Title="NetworkConfig.EnableSceneSwitching field" Url="html/F_MLAPI_Data_NetworkConfig_EnableSceneSwitching.htm" />
<HelpKINode Title="NetworkConfig.EnableTimeResync field" Url="html/F_MLAPI_Data_NetworkConfig_EnableTimeResync.htm" />
<HelpKINode Title="NetworkConfig.EventTickrate field" Url="html/F_MLAPI_Data_NetworkConfig_EventTickrate.htm" />
<HelpKINode Title="NetworkConfig.GetConfig method" Url="html/M_MLAPI_Data_NetworkConfig_GetConfig.htm" />
<HelpKINode Title="NetworkConfig.HandleObjectSpawning field" Url="html/F_MLAPI_Data_NetworkConfig_HandleObjectSpawning.htm" />
<HelpKINode Title="NetworkConfig.MaxConnections field" Url="html/F_MLAPI_Data_NetworkConfig_MaxConnections.htm" />
<HelpKINode Title="NetworkConfig.MaxReceiveEventsPerTickRate field" Url="html/F_MLAPI_Data_NetworkConfig_MaxReceiveEventsPerTickRate.htm" />
<HelpKINode Title="NetworkConfig.MessageBufferSize field" Url="html/F_MLAPI_Data_NetworkConfig_MessageBufferSize.htm" />
<HelpKINode Title="NetworkConfig.MessageTypes field" Url="html/F_MLAPI_Data_NetworkConfig_MessageTypes.htm" />
<HelpKINode Title="NetworkConfig.NetworkConfig constructor" Url="html/M_MLAPI_Data_NetworkConfig__ctor.htm" />
<HelpKINode Title="NetworkConfig.NetworkedPrefabs field" Url="html/F_MLAPI_Data_NetworkConfig_NetworkedPrefabs.htm" />
<HelpKINode Title="NetworkConfig.ProtocolVersion field" Url="html/F_MLAPI_Data_NetworkConfig_ProtocolVersion.htm" />
<HelpKINode Title="NetworkConfig.ReceiveTickrate field" Url="html/F_MLAPI_Data_NetworkConfig_ReceiveTickrate.htm" />
<HelpKINode Title="NetworkConfig.RegisteredScenes field" Url="html/F_MLAPI_Data_NetworkConfig_RegisteredScenes.htm" />
<HelpKINode Title="NetworkConfig.RSAPrivateKey field" Url="html/F_MLAPI_Data_NetworkConfig_RSAPrivateKey.htm" />
<HelpKINode Title="NetworkConfig.RSAPublicKey field" Url="html/F_MLAPI_Data_NetworkConfig_RSAPublicKey.htm" />
<HelpKINode Title="NetworkConfig.SecondsHistory field" Url="html/F_MLAPI_Data_NetworkConfig_SecondsHistory.htm" />
<HelpKINode Title="NetworkConfig.SendTickrate field" Url="html/F_MLAPI_Data_NetworkConfig_SendTickrate.htm" />
<HelpKINode Title="NetworkConfig.ServerTransports field" Url="html/F_MLAPI_Data_NetworkConfig_ServerTransports.htm" />
<HelpKINode Title="NetworkConfig.SignKeyExchange field" Url="html/F_MLAPI_Data_NetworkConfig_SignKeyExchange.htm" />
<HelpKINode Title="NetworkedAnimator class">
<HelpKINode Title="NetworkedAnimator Class" Url="html/T_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator.htm" />
<HelpKINode Title="constructor" Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator__ctor.htm" />
@ -239,14 +407,24 @@
<HelpKINode Title="NetworkedObject.isPooledObject property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedObject_isPooledObject.htm" />
<HelpKINode Title="NetworkedObject.isSpawned property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedObject_isSpawned.htm" />
<HelpKINode Title="NetworkedObject.NetworkedObject constructor" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedObject__ctor.htm" />
<HelpKINode Title="NetworkedObject.NetworkedPrefabName field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkedObject_NetworkedPrefabName.htm" />
<HelpKINode Title="NetworkedObject.NetworkId property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedObject_NetworkId.htm" />
<HelpKINode Title="NetworkedObject.OwnerClientId property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedObject_OwnerClientId.htm" />
<HelpKINode Title="NetworkedObject.PoolId property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedObject_PoolId.htm" />
<HelpKINode Title="NetworkedObject.RemoveOwnership method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedObject_RemoveOwnership.htm" />
<HelpKINode Title="NetworkedObject.ServerOnly field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkedObject_ServerOnly.htm" />
<HelpKINode Title="NetworkedObject.Spawn method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedObject_Spawn.htm" />
<HelpKINode Title="NetworkedObject.SpawnablePrefabIndex property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedObject_SpawnablePrefabIndex.htm" />
<HelpKINode Title="NetworkedObject.SpawnWithOwnership method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedObject_SpawnWithOwnership.htm" />
<HelpKINode Title="NetworkedPrefab class">
<HelpKINode Title="NetworkedPrefab Class" Url="html/T_MLAPI_Data_NetworkedPrefab.htm" />
<HelpKINode Title="constructor" Url="html/M_MLAPI_Data_NetworkedPrefab__ctor.htm" />
<HelpKINode Title="fields" Url="html/Fields_T_MLAPI_Data_NetworkedPrefab.htm" />
<HelpKINode Title="methods" Url="html/Methods_T_MLAPI_Data_NetworkedPrefab.htm" />
</HelpKINode>
<HelpKINode Title="NetworkedPrefab.NetworkedPrefab constructor" Url="html/M_MLAPI_Data_NetworkedPrefab__ctor.htm" />
<HelpKINode Title="NetworkedPrefab.playerPrefab field" Url="html/F_MLAPI_Data_NetworkedPrefab_playerPrefab.htm" />
<HelpKINode Title="NetworkedPrefab.prefab field" Url="html/F_MLAPI_Data_NetworkedPrefab_prefab.htm" />
<HelpKINode Title="NetworkedPrefabName field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkedObject_NetworkedPrefabName.htm" />
<HelpKINode Title="NetworkedPrefabs field" Url="html/F_MLAPI_Data_NetworkConfig_NetworkedPrefabs.htm" />
<HelpKINode Title="NetworkedTransform class">
<HelpKINode Title="NetworkedTransform Class" Url="html/T_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform.htm" />
<HelpKINode Title="constructor" Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform__ctor.htm" />
@ -265,43 +443,8 @@
<HelpKINode Title="NetworkedTransform.ProximityRange field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform_ProximityRange.htm" />
<HelpKINode Title="NetworkedTransform.SendsPerSecond field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform_SendsPerSecond.htm" />
<HelpKINode Title="NetworkedTransform.SnapDistance field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform_SnapDistance.htm" />
<HelpKINode Title="networkId property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_networkId.htm" />
<HelpKINode Title="NetworkId property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedObject_NetworkId.htm" />
<HelpKINode Title="NetworkingConfiguration class">
<HelpKINode Title="NetworkingConfiguration Class" Url="html/T_MLAPI_Data_NetworkingConfiguration.htm" />
<HelpKINode Title="constructor" Url="html/M_MLAPI_Data_NetworkingConfiguration__ctor.htm" />
<HelpKINode Title="fields" Url="html/Fields_T_MLAPI_Data_NetworkingConfiguration.htm" />
<HelpKINode Title="methods" Url="html/Methods_T_MLAPI_Data_NetworkingConfiguration.htm" />
</HelpKINode>
<HelpKINode Title="NetworkingConfiguration.Address field" Url="html/F_MLAPI_Data_NetworkingConfiguration_Address.htm" />
<HelpKINode Title="NetworkingConfiguration.AllowPassthroughMessages field" Url="html/F_MLAPI_Data_NetworkingConfiguration_AllowPassthroughMessages.htm" />
<HelpKINode Title="NetworkingConfiguration.Channels field" Url="html/F_MLAPI_Data_NetworkingConfiguration_Channels.htm" />
<HelpKINode Title="NetworkingConfiguration.ClientConnectionBufferTimeout field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ClientConnectionBufferTimeout.htm" />
<HelpKINode Title="NetworkingConfiguration.CompareConfig method" Url="html/M_MLAPI_Data_NetworkingConfiguration_CompareConfig.htm" />
<HelpKINode Title="NetworkingConfiguration.ConnectionApproval field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ConnectionApproval.htm" />
<HelpKINode Title="NetworkingConfiguration.ConnectionApprovalCallback field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ConnectionApprovalCallback.htm" />
<HelpKINode Title="NetworkingConfiguration.ConnectionData field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ConnectionData.htm" />
<HelpKINode Title="NetworkingConfiguration.EnableEncryption field" Url="html/F_MLAPI_Data_NetworkingConfiguration_EnableEncryption.htm" />
<HelpKINode Title="NetworkingConfiguration.EnableSceneSwitching field" Url="html/F_MLAPI_Data_NetworkingConfiguration_EnableSceneSwitching.htm" />
<HelpKINode Title="NetworkingConfiguration.EncryptedChannels field" Url="html/F_MLAPI_Data_NetworkingConfiguration_EncryptedChannels.htm" />
<HelpKINode Title="NetworkingConfiguration.EventTickrate field" Url="html/F_MLAPI_Data_NetworkingConfiguration_EventTickrate.htm" />
<HelpKINode Title="NetworkingConfiguration.GetConfig method" Url="html/M_MLAPI_Data_NetworkingConfiguration_GetConfig.htm" />
<HelpKINode Title="NetworkingConfiguration.HandleObjectSpawning field" Url="html/F_MLAPI_Data_NetworkingConfiguration_HandleObjectSpawning.htm" />
<HelpKINode Title="NetworkingConfiguration.MaxConnections field" Url="html/F_MLAPI_Data_NetworkingConfiguration_MaxConnections.htm" />
<HelpKINode Title="NetworkingConfiguration.MaxReceiveEventsPerTickRate field" Url="html/F_MLAPI_Data_NetworkingConfiguration_MaxReceiveEventsPerTickRate.htm" />
<HelpKINode Title="NetworkingConfiguration.MessageBufferSize field" Url="html/F_MLAPI_Data_NetworkingConfiguration_MessageBufferSize.htm" />
<HelpKINode Title="NetworkingConfiguration.MessageTypes field" Url="html/F_MLAPI_Data_NetworkingConfiguration_MessageTypes.htm" />
<HelpKINode Title="NetworkingConfiguration.NetworkingConfiguration constructor" Url="html/M_MLAPI_Data_NetworkingConfiguration__ctor.htm" />
<HelpKINode Title="NetworkingConfiguration.PassthroughMessageTypes field" Url="html/F_MLAPI_Data_NetworkingConfiguration_PassthroughMessageTypes.htm" />
<HelpKINode Title="NetworkingConfiguration.Port field" Url="html/F_MLAPI_Data_NetworkingConfiguration_Port.htm" />
<HelpKINode Title="NetworkingConfiguration.ProtocolVersion field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ProtocolVersion.htm" />
<HelpKINode Title="NetworkingConfiguration.ReceiveTickrate field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ReceiveTickrate.htm" />
<HelpKINode Title="NetworkingConfiguration.RegisteredScenes field" Url="html/F_MLAPI_Data_NetworkingConfiguration_RegisteredScenes.htm" />
<HelpKINode Title="NetworkingConfiguration.RSAPrivateKey field" Url="html/F_MLAPI_Data_NetworkingConfiguration_RSAPrivateKey.htm" />
<HelpKINode Title="NetworkingConfiguration.RSAPublicKey field" Url="html/F_MLAPI_Data_NetworkingConfiguration_RSAPublicKey.htm" />
<HelpKINode Title="NetworkingConfiguration.SecondsHistory field" Url="html/F_MLAPI_Data_NetworkingConfiguration_SecondsHistory.htm" />
<HelpKINode Title="NetworkingConfiguration.SendTickrate field" Url="html/F_MLAPI_Data_NetworkingConfiguration_SendTickrate.htm" />
<HelpKINode Title="NetworkingConfiguration.SignKeyExchange field" Url="html/F_MLAPI_Data_NetworkingConfiguration_SignKeyExchange.htm" />
<HelpKINode Title="networkId property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_networkId.htm" />
<HelpKINode Title="NetworkingManager class">
<HelpKINode Title="NetworkingManager Class" Url="html/T_MLAPI_MonoBehaviours_Core_NetworkingManager.htm" />
<HelpKINode Title="constructor" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager__ctor.htm" />
@ -310,7 +453,7 @@
<HelpKINode Title="properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Core_NetworkingManager.htm" />
</HelpKINode>
<HelpKINode Title="NetworkingManager.ConnectedClients property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkingManager_ConnectedClients.htm" />
<HelpKINode Title="NetworkingManager.DefaultPlayerPrefab field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_DefaultPlayerPrefab.htm" />
<HelpKINode Title="NetworkingManager.ConnectionApprovalCallback field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_ConnectionApprovalCallback.htm" />
<HelpKINode Title="NetworkingManager.DontDestroy field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_DontDestroy.htm" />
<HelpKINode Title="NetworkingManager.isClient property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkingManager_isClient.htm" />
<HelpKINode Title="NetworkingManager.IsClientConnected property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkingManager_IsClientConnected.htm" />
@ -323,10 +466,11 @@
<HelpKINode Title="NetworkingManager.OnClientConnectedCallback field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_OnClientConnectedCallback.htm" />
<HelpKINode Title="NetworkingManager.OnClientDisconnectCallback field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_OnClientDisconnectCallback.htm" />
<HelpKINode Title="NetworkingManager.OnServerStarted field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_OnServerStarted.htm" />
<HelpKINode Title="NetworkingManager.RegenerateRSAKeys field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_RegenerateRSAKeys.htm" />
<HelpKINode Title="NetworkingManager.RunInBackground field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_RunInBackground.htm" />
<HelpKINode Title="NetworkingManager.singleton property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkingManager_singleton.htm" />
<HelpKINode Title="NetworkingManager.SpawnablePrefabs field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_SpawnablePrefabs.htm" />
<HelpKINode Title="NetworkingManager.StartClient method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StartClient.htm" />
<HelpKINode Title="NetworkingManager.StartClientWebsocket method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StartClientWebsocket.htm" />
<HelpKINode Title="NetworkingManager.StartHost method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StartHost.htm" />
<HelpKINode Title="NetworkingManager.StartServer method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StartServer.htm" />
<HelpKINode Title="NetworkingManager.StopClient method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StopClient.htm" />
@ -366,27 +510,52 @@
<HelpKINode Title="param3 field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_param3.htm" />
<HelpKINode Title="param4 field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_param4.htm" />
<HelpKINode Title="param5 field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_param5.htm" />
<HelpKINode Title="PassthroughMessageTypes field" Url="html/F_MLAPI_Data_NetworkingConfiguration_PassthroughMessageTypes.htm" />
<HelpKINode Title="Passthrough field" Url="html/F_MLAPI_Data_MessageType_Passthrough.htm" />
<HelpKINode Title="PlayerObject field" Url="html/F_MLAPI_Data_NetworkedClient_PlayerObject.htm" />
<HelpKINode Title="playerPrefab field" Url="html/F_MLAPI_Data_NetworkedPrefab_playerPrefab.htm" />
<HelpKINode Title="PoolId property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedObject_PoolId.htm" />
<HelpKINode Title="Port field" Url="html/F_MLAPI_Data_NetworkingConfiguration_Port.htm" />
<HelpKINode Title="ProtocolVersion field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ProtocolVersion.htm" />
<HelpKINode Title="Port field" Url="html/F_MLAPI_Data_TransportHost_Port.htm" />
<HelpKINode Title="prefab field" Url="html/F_MLAPI_Data_NetworkedPrefab_prefab.htm" />
<HelpKINode Title="ProtocolVersion field" Url="html/F_MLAPI_Data_NetworkConfig_ProtocolVersion.htm" />
<HelpKINode Title="ProximityRange field">
<HelpKINode Title="NetworkedAnimator.ProximityRange Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_ProximityRange.htm" />
<HelpKINode Title="NetworkedNavMeshAgent.ProximityRange Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent_ProximityRange.htm" />
<HelpKINode Title="NetworkedTransform.ProximityRange Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform_ProximityRange.htm" />
</HelpKINode>
<HelpKINode Title="ReceiveTickrate field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ReceiveTickrate.htm" />
<HelpKINode Title="RegisteredScenes field" Url="html/F_MLAPI_Data_NetworkingConfiguration_RegisteredScenes.htm" />
<HelpKINode Title="ReadBool method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadBool.htm" />
<HelpKINode Title="ReadByte method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadByte.htm" />
<HelpKINode Title="ReadByteArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadByteArray.htm" />
<HelpKINode Title="ReadDouble method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadDouble.htm" />
<HelpKINode Title="ReadDoubleArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadDoubleArray.htm" />
<HelpKINode Title="ReadFloat method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadFloat.htm" />
<HelpKINode Title="ReadFloatArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadFloatArray.htm" />
<HelpKINode Title="ReadInt method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadInt.htm" />
<HelpKINode Title="ReadIntArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadIntArray.htm" />
<HelpKINode Title="ReadLong method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadLong.htm" />
<HelpKINode Title="ReadLongArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadLongArray.htm" />
<HelpKINode Title="ReadSByte method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadSByte.htm" />
<HelpKINode Title="ReadSByteArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadSByteArray.htm" />
<HelpKINode Title="ReadShort method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadShort.htm" />
<HelpKINode Title="ReadShortArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadShortArray.htm" />
<HelpKINode Title="ReadString method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadString.htm" />
<HelpKINode Title="ReadUInt method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadUInt.htm" />
<HelpKINode Title="ReadUIntArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadUIntArray.htm" />
<HelpKINode Title="ReadULong method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadULong.htm" />
<HelpKINode Title="ReadULongArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadULongArray.htm" />
<HelpKINode Title="ReadUShort method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadUShort.htm" />
<HelpKINode Title="ReadUShortArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadUShortArray.htm" />
<HelpKINode Title="ReceiveTickrate field" Url="html/F_MLAPI_Data_NetworkConfig_ReceiveTickrate.htm" />
<HelpKINode Title="RegenerateRSAKeys field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_RegenerateRSAKeys.htm" />
<HelpKINode Title="RegisteredScenes field" Url="html/F_MLAPI_Data_NetworkConfig_RegisteredScenes.htm" />
<HelpKINode Title="RegisterMessageHandler method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_RegisterMessageHandler.htm" />
<HelpKINode Title="RemoveOwnership method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedObject_RemoveOwnership.htm" />
<HelpKINode Title="ResetParameterOptions method" Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_ResetParameterOptions.htm" />
<HelpKINode Title="RSAPrivateKey field" Url="html/F_MLAPI_Data_NetworkingConfiguration_RSAPrivateKey.htm" />
<HelpKINode Title="RSAPublicKey field" Url="html/F_MLAPI_Data_NetworkingConfiguration_RSAPublicKey.htm" />
<HelpKINode Title="RSAPrivateKey field" Url="html/F_MLAPI_Data_NetworkConfig_RSAPrivateKey.htm" />
<HelpKINode Title="RSAPublicKey field" Url="html/F_MLAPI_Data_NetworkConfig_RSAPublicKey.htm" />
<HelpKINode Title="RunInBackground field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_RunInBackground.htm" />
<HelpKINode Title="SecondsHistory field" Url="html/F_MLAPI_Data_NetworkingConfiguration_SecondsHistory.htm" />
<HelpKINode Title="SecondsHistory field" Url="html/F_MLAPI_Data_NetworkConfig_SecondsHistory.htm" />
<HelpKINode Title="SendsPerSecond field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform_SendsPerSecond.htm" />
<HelpKINode Title="SendTickrate field" Url="html/F_MLAPI_Data_NetworkingConfiguration_SendTickrate.htm" />
<HelpKINode Title="SendTickrate field" Url="html/F_MLAPI_Data_NetworkConfig_SendTickrate.htm" />
<HelpKINode Title="SendToClient method" Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClient.htm" />
<HelpKINode Title="SendToClients method" Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClients.htm" />
<HelpKINode Title="SendToClientsTarget method" Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientsTarget.htm" />
@ -399,25 +568,27 @@
<HelpKINode Title="SendToServerTarget method" Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToServerTarget.htm" />
<HelpKINode Title="Serialize(Of T) method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer_Serialize__1.htm" />
<HelpKINode Title="Serialize&lt;T&gt; method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer_Serialize__1.htm" />
<HelpKINode Title="ServerOnly field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkedObject_ServerOnly.htm" />
<HelpKINode Title="ServerNetId property" Url="html/P_MLAPI_Data_NetId_ServerNetId.htm" />
<HelpKINode Title="ServerTransports field" Url="html/F_MLAPI_Data_NetworkConfig_ServerTransports.htm" />
<HelpKINode Title="SetParameterAutoSend method" Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_SetParameterAutoSend.htm" />
<HelpKINode Title="SetTrigger method" Url="html/Overload_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_SetTrigger.htm" />
<HelpKINode Title="SignKeyExchange field" Url="html/F_MLAPI_Data_NetworkingConfiguration_SignKeyExchange.htm" />
<HelpKINode Title="SignKeyExchange field" Url="html/F_MLAPI_Data_NetworkConfig_SignKeyExchange.htm" />
<HelpKINode Title="Simulate method" Url="html/Overload_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager_Simulate.htm" />
<HelpKINode Title="SimulationObjects property" Url="html/P_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager_SimulationObjects.htm" />
<HelpKINode Title="singleton property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkingManager_singleton.htm" />
<HelpKINode Title="SkipPadded method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_SkipPadded.htm" />
<HelpKINode Title="SnapDistance field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform_SnapDistance.htm" />
<HelpKINode Title="Spawn method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedObject_Spawn.htm" />
<HelpKINode Title="SpawnablePrefabIndex property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedObject_SpawnablePrefabIndex.htm" />
<HelpKINode Title="SpawnablePrefabs field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_SpawnablePrefabs.htm" />
<HelpKINode Title="SpawnPoolObject method" Url="html/M_MLAPI_NetworkingManagerComponents_Core_NetworkPoolManager_SpawnPoolObject.htm" />
<HelpKINode Title="SpawnWithOwnership method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedObject_SpawnWithOwnership.htm" />
<HelpKINode Title="StartClient method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StartClient.htm" />
<HelpKINode Title="StartClientWebsocket method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StartClientWebsocket.htm" />
<HelpKINode Title="StartHost method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StartHost.htm" />
<HelpKINode Title="StartServer method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StartServer.htm" />
<HelpKINode Title="StopClient method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StopClient.htm" />
<HelpKINode Title="StopHost method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StopHost.htm" />
<HelpKINode Title="StopServer method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StopServer.htm" />
<HelpKINode Title="SwapEndian method" Url="html/Overload_MLAPI_NetworkingManagerComponents_Binary_BinaryHelpers_SwapEndian.htm" />
<HelpKINode Title="SwitchScene method" Url="html/M_MLAPI_NetworkingManagerComponents_Core_NetworkSceneManager_SwitchScene.htm" />
<HelpKINode Title="SyncedVar class">
<HelpKINode Title="SyncedVar Class" Url="html/T_MLAPI_Attributes_SyncedVar.htm" />
@ -426,15 +597,55 @@
<HelpKINode Title="methods" Url="html/Methods_T_MLAPI_Attributes_SyncedVar.htm" />
<HelpKINode Title="properties" Url="html/Properties_T_MLAPI_Attributes_SyncedVar.htm" />
</HelpKINode>
<HelpKINode Title="SyncedVar.hook field" Url="html/F_MLAPI_Attributes_SyncedVar_hook.htm" />
<HelpKINode Title="SyncedVar.hookMethodName field" Url="html/F_MLAPI_Attributes_SyncedVar_hookMethodName.htm" />
<HelpKINode Title="SyncedVar.SyncedVar constructor" Url="html/M_MLAPI_Attributes_SyncedVar__ctor.htm" />
<HelpKINode Title="SyncedVar.target field" Url="html/F_MLAPI_Attributes_SyncedVar_target.htm" />
<HelpKINode Title="SyncVarSyncDelay field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SyncVarSyncDelay.htm" />
<HelpKINode Title="target field" Url="html/F_MLAPI_Attributes_SyncedVar_target.htm" />
<HelpKINode Title="TotalPoints property" Url="html/P_MLAPI_MonoBehaviours_Core_TrackedObject_TotalPoints.htm" />
<HelpKINode Title="TrackedObject class">
<HelpKINode Title="TrackedObject Class" Url="html/T_MLAPI_MonoBehaviours_Core_TrackedObject.htm" />
<HelpKINode Title="constructor" Url="html/M_MLAPI_MonoBehaviours_Core_TrackedObject__ctor.htm" />
<HelpKINode Title="methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Core_TrackedObject.htm" />
<HelpKINode Title="properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Core_TrackedObject.htm" />
</HelpKINode>
<HelpKINode Title="TrackedObject.AvgTimeBetweenPointsMs property" Url="html/P_MLAPI_MonoBehaviours_Core_TrackedObject_AvgTimeBetweenPointsMs.htm" />
<HelpKINode Title="TrackedObject.TotalPoints property" Url="html/P_MLAPI_MonoBehaviours_Core_TrackedObject_TotalPoints.htm" />
<HelpKINode Title="TrackedObject.TrackedObject constructor" Url="html/M_MLAPI_MonoBehaviours_Core_TrackedObject__ctor.htm" />
<HelpKINode Title="TransportHost class">
<HelpKINode Title="TransportHost Class" Url="html/T_MLAPI_Data_TransportHost.htm" />
<HelpKINode Title="constructor" Url="html/M_MLAPI_Data_TransportHost__ctor.htm" />
<HelpKINode Title="fields" Url="html/Fields_T_MLAPI_Data_TransportHost.htm" />
<HelpKINode Title="methods" Url="html/Methods_T_MLAPI_Data_TransportHost.htm" />
</HelpKINode>
<HelpKINode Title="TransportHost.Name field" Url="html/F_MLAPI_Data_TransportHost_Name.htm" />
<HelpKINode Title="TransportHost.Port field" Url="html/F_MLAPI_Data_TransportHost_Port.htm" />
<HelpKINode Title="TransportHost.TransportHost constructor" Url="html/M_MLAPI_Data_TransportHost__ctor.htm" />
<HelpKINode Title="TransportHost.Websockets field" Url="html/F_MLAPI_Data_TransportHost_Websockets.htm" />
<HelpKINode Title="Type field" Url="html/F_MLAPI_Data_Channel_Type.htm" />
<HelpKINode Title="WarpOnDestinationChange field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent_WarpOnDestinationChange.htm" />
<HelpKINode Title="Websockets field" Url="html/F_MLAPI_Data_TransportHost_Websockets.htm" />
<HelpKINode Title="WriteAlignBits method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteAlignBits.htm" />
<HelpKINode Title="WriteBool method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteBool.htm" />
<HelpKINode Title="WriteByte method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteByte.htm" />
<HelpKINode Title="WriteByteArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteByteArray.htm" />
<HelpKINode Title="WriteDouble method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteDouble.htm" />
<HelpKINode Title="WriteDoubleArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteDoubleArray.htm" />
<HelpKINode Title="WriteFloat method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteFloat.htm" />
<HelpKINode Title="WriteFloatArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteFloatArray.htm" />
<HelpKINode Title="WriteInt method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteInt.htm" />
<HelpKINode Title="WriteIntArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteIntArray.htm" />
<HelpKINode Title="WriteLong method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteLong.htm" />
<HelpKINode Title="WriteLongArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteLongArray.htm" />
<HelpKINode Title="WriteSByte method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteSByte.htm" />
<HelpKINode Title="WriteSByteArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteSByteArray.htm" />
<HelpKINode Title="WriteShort method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteShort.htm" />
<HelpKINode Title="WriteShortArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteShortArray.htm" />
<HelpKINode Title="WriteString method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteString.htm" />
<HelpKINode Title="WriteUInt method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteUInt.htm" />
<HelpKINode Title="WriteUIntArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteUIntArray.htm" />
<HelpKINode Title="WriteULong method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteULong.htm" />
<HelpKINode Title="WriteULongArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteULongArray.htm" />
<HelpKINode Title="WriteUShort method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteUShort.htm" />
<HelpKINode Title="WriteUShortArray method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteUShortArray.htm" />
</HelpKI>

View File

@ -1,72 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<HelpTOC>
<HelpTOCNode Id="7c620544-924a-43f4-97d0-8d8a81e066e7" Title="MLAPI.Attributes" Url="html/N_MLAPI_Attributes.htm">
<HelpTOCNode Id="ddf7d6e9-e0b2-4402-8111-bea30a63b850" Title="BinaryIgnore Class" Url="html/T_MLAPI_Attributes_BinaryIgnore.htm">
<HelpTOCNode Id="08c2aed4-adc4-48b6-81bb-779ddf89b387" Title="MLAPI.Attributes" Url="html/N_MLAPI_Attributes.htm">
<HelpTOCNode Id="804ca286-56a7-470e-bb5c-8d61a197142c" Title="BinaryIgnore Class" Url="html/T_MLAPI_Attributes_BinaryIgnore.htm">
<HelpTOCNode Title="BinaryIgnore Constructor " Url="html/M_MLAPI_Attributes_BinaryIgnore__ctor.htm" />
<HelpTOCNode Title="BinaryIgnore Properties" Url="html/Properties_T_MLAPI_Attributes_BinaryIgnore.htm" />
<HelpTOCNode Title="BinaryIgnore Methods" Url="html/Methods_T_MLAPI_Attributes_BinaryIgnore.htm" />
</HelpTOCNode>
<HelpTOCNode Id="6591a837-2ee9-4ce1-937f-5d98ea233268" Title="SyncedVar Class" Url="html/T_MLAPI_Attributes_SyncedVar.htm">
<HelpTOCNode Id="6d278c8f-ebe7-4375-b192-9f7a6ada3540" Title="SyncedVar Class" Url="html/T_MLAPI_Attributes_SyncedVar.htm">
<HelpTOCNode Title="SyncedVar Constructor " Url="html/M_MLAPI_Attributes_SyncedVar__ctor.htm" />
<HelpTOCNode Title="SyncedVar Properties" Url="html/Properties_T_MLAPI_Attributes_SyncedVar.htm" />
<HelpTOCNode Title="SyncedVar Methods" Url="html/Methods_T_MLAPI_Attributes_SyncedVar.htm" />
<HelpTOCNode Id="6795530b-5ba8-4eb9-9469-9b2d1b3ad7a4" Title="SyncedVar Fields" Url="html/Fields_T_MLAPI_Attributes_SyncedVar.htm">
<HelpTOCNode Title="hook Field" Url="html/F_MLAPI_Attributes_SyncedVar_hook.htm" />
<HelpTOCNode Id="78bf2392-715d-43d9-93f5-7a1bcd5e7a90" Title="SyncedVar Fields" Url="html/Fields_T_MLAPI_Attributes_SyncedVar.htm">
<HelpTOCNode Title="hookMethodName Field" Url="html/F_MLAPI_Attributes_SyncedVar_hookMethodName.htm" />
<HelpTOCNode Title="target Field" Url="html/F_MLAPI_Attributes_SyncedVar_target.htm" />
</HelpTOCNode>
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="e839f92a-eac1-46a0-80ac-a59cb45c2560" Title="MLAPI.Data" Url="html/N_MLAPI_Data.htm">
<HelpTOCNode Id="30a70937-ca46-44c5-aa2d-69ad3a29874e" Title="NetworkedClient Class" Url="html/T_MLAPI_Data_NetworkedClient.htm">
<HelpTOCNode Id="74e46c9b-bc09-4608-b025-b998c05fc313" Title="MLAPI.Data" Url="html/N_MLAPI_Data.htm">
<HelpTOCNode Id="82d2c396-a6fc-4aa2-ab70-dfbe04069deb" Title="Channel Class" Url="html/T_MLAPI_Data_Channel.htm">
<HelpTOCNode Title="Channel Constructor " Url="html/M_MLAPI_Data_Channel__ctor.htm" />
<HelpTOCNode Title="Channel Methods" Url="html/Methods_T_MLAPI_Data_Channel.htm" />
<HelpTOCNode Id="77fd048b-b544-4783-9339-a0123def2743" Title="Channel Fields" Url="html/Fields_T_MLAPI_Data_Channel.htm">
<HelpTOCNode Title="Encrypted Field" Url="html/F_MLAPI_Data_Channel_Encrypted.htm" />
<HelpTOCNode Title="Name Field" Url="html/F_MLAPI_Data_Channel_Name.htm" />
<HelpTOCNode Title="Type Field" Url="html/F_MLAPI_Data_Channel_Type.htm" />
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="78086c56-db40-43de-a5d8-e46db050d1c2" Title="MessageType Class" Url="html/T_MLAPI_Data_MessageType.htm">
<HelpTOCNode Title="MessageType Constructor " Url="html/M_MLAPI_Data_MessageType__ctor.htm" />
<HelpTOCNode Title="MessageType Methods" Url="html/Methods_T_MLAPI_Data_MessageType.htm" />
<HelpTOCNode Id="cc508537-e6fb-4c48-bea7-9502846ef0e7" Title="MessageType Fields" Url="html/Fields_T_MLAPI_Data_MessageType.htm">
<HelpTOCNode Title="Name Field" Url="html/F_MLAPI_Data_MessageType_Name.htm" />
<HelpTOCNode Title="Passthrough Field" Url="html/F_MLAPI_Data_MessageType_Passthrough.htm" />
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="3bd21671-1970-41d5-9460-fad77bfa9fca" Title="NetId Structure" Url="html/T_MLAPI_Data_NetId.htm">
<HelpTOCNode Id="78e5d7a1-f80d-4369-8199-022c09e9ca02" Title="NetId Constructor " Url="html/Overload_MLAPI_Data_NetId__ctor.htm">
<HelpTOCNode Title="NetId Constructor (UInt32)" Url="html/M_MLAPI_Data_NetId__ctor_1.htm" />
<HelpTOCNode Title="NetId Constructor (Byte, UInt16, Boolean, Boolean)" Url="html/M_MLAPI_Data_NetId__ctor.htm" />
</HelpTOCNode>
<HelpTOCNode Id="6f3b2dc3-f03f-402c-a65d-09c47c93a3aa" Title="NetId Properties" Url="html/Properties_T_MLAPI_Data_NetId.htm">
<HelpTOCNode Title="ServerNetId Property " Url="html/P_MLAPI_Data_NetId_ServerNetId.htm" />
</HelpTOCNode>
<HelpTOCNode Id="178d8bf6-e82f-4bd0-9314-f63cd07a0a6a" Title="NetId Methods" Url="html/Methods_T_MLAPI_Data_NetId.htm">
<HelpTOCNode Title="Equals Method " Url="html/M_MLAPI_Data_NetId_Equals.htm" />
<HelpTOCNode Title="GetClientId Method " Url="html/M_MLAPI_Data_NetId_GetClientId.htm" />
<HelpTOCNode Title="GetHashCode Method " Url="html/M_MLAPI_Data_NetId_GetHashCode.htm" />
<HelpTOCNode Title="IsHost Method " Url="html/M_MLAPI_Data_NetId_IsHost.htm" />
<HelpTOCNode Title="IsInvalid Method " Url="html/M_MLAPI_Data_NetId_IsInvalid.htm" />
</HelpTOCNode>
<HelpTOCNode Id="cf9e74af-c99c-431e-9ce0-f54b79a17017" Title="NetId Operators" Url="html/Operators_T_MLAPI_Data_NetId.htm">
<HelpTOCNode Title="Equality Operator " Url="html/M_MLAPI_Data_NetId_op_Equality.htm" />
<HelpTOCNode Title="Inequality Operator " Url="html/M_MLAPI_Data_NetId_op_Inequality.htm" />
</HelpTOCNode>
<HelpTOCNode Id="11082d4e-bb6e-4cd4-b943-08882dd32cac" Title="NetId Fields" Url="html/Fields_T_MLAPI_Data_NetId.htm">
<HelpTOCNode Title="ConnectionId Field" Url="html/F_MLAPI_Data_NetId_ConnectionId.htm" />
<HelpTOCNode Title="HostId Field" Url="html/F_MLAPI_Data_NetId_HostId.htm" />
<HelpTOCNode Title="Meta Field" Url="html/F_MLAPI_Data_NetId_Meta.htm" />
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="e2836363-d30e-4e38-8b1e-8b65eda6da07" Title="NetworkConfig Class" Url="html/T_MLAPI_Data_NetworkConfig.htm">
<HelpTOCNode Title="NetworkConfig Constructor " Url="html/M_MLAPI_Data_NetworkConfig__ctor.htm" />
<HelpTOCNode Id="5f7a195d-e77b-4148-bcf4-b35145fcc359" Title="NetworkConfig Methods" Url="html/Methods_T_MLAPI_Data_NetworkConfig.htm">
<HelpTOCNode Title="CompareConfig Method " Url="html/M_MLAPI_Data_NetworkConfig_CompareConfig.htm" />
<HelpTOCNode Title="GetConfig Method " Url="html/M_MLAPI_Data_NetworkConfig_GetConfig.htm" />
</HelpTOCNode>
<HelpTOCNode Id="09b993ce-286d-45a7-b9a1-4d9a1087605a" Title="NetworkConfig Fields" Url="html/Fields_T_MLAPI_Data_NetworkConfig.htm">
<HelpTOCNode Title="AllowPassthroughMessages Field" Url="html/F_MLAPI_Data_NetworkConfig_AllowPassthroughMessages.htm" />
<HelpTOCNode Title="Channels Field" Url="html/F_MLAPI_Data_NetworkConfig_Channels.htm" />
<HelpTOCNode Title="ClientConnectionBufferTimeout Field" Url="html/F_MLAPI_Data_NetworkConfig_ClientConnectionBufferTimeout.htm" />
<HelpTOCNode Title="ConnectAddress Field" Url="html/F_MLAPI_Data_NetworkConfig_ConnectAddress.htm" />
<HelpTOCNode Title="ConnectionApproval Field" Url="html/F_MLAPI_Data_NetworkConfig_ConnectionApproval.htm" />
<HelpTOCNode Title="ConnectionData Field" Url="html/F_MLAPI_Data_NetworkConfig_ConnectionData.htm" />
<HelpTOCNode Title="ConnectPort Field" Url="html/F_MLAPI_Data_NetworkConfig_ConnectPort.htm" />
<HelpTOCNode Title="EnableEncryption Field" Url="html/F_MLAPI_Data_NetworkConfig_EnableEncryption.htm" />
<HelpTOCNode Title="EnableSceneSwitching Field" Url="html/F_MLAPI_Data_NetworkConfig_EnableSceneSwitching.htm" />
<HelpTOCNode Title="EnableTimeResync Field" Url="html/F_MLAPI_Data_NetworkConfig_EnableTimeResync.htm" />
<HelpTOCNode Title="EventTickrate Field" Url="html/F_MLAPI_Data_NetworkConfig_EventTickrate.htm" />
<HelpTOCNode Title="HandleObjectSpawning Field" Url="html/F_MLAPI_Data_NetworkConfig_HandleObjectSpawning.htm" />
<HelpTOCNode Title="MaxConnections Field" Url="html/F_MLAPI_Data_NetworkConfig_MaxConnections.htm" />
<HelpTOCNode Title="MaxReceiveEventsPerTickRate Field" Url="html/F_MLAPI_Data_NetworkConfig_MaxReceiveEventsPerTickRate.htm" />
<HelpTOCNode Title="MessageBufferSize Field" Url="html/F_MLAPI_Data_NetworkConfig_MessageBufferSize.htm" />
<HelpTOCNode Title="MessageTypes Field" Url="html/F_MLAPI_Data_NetworkConfig_MessageTypes.htm" />
<HelpTOCNode Title="NetworkedPrefabs Field" Url="html/F_MLAPI_Data_NetworkConfig_NetworkedPrefabs.htm" />
<HelpTOCNode Title="ProtocolVersion Field" Url="html/F_MLAPI_Data_NetworkConfig_ProtocolVersion.htm" />
<HelpTOCNode Title="ReceiveTickrate Field" Url="html/F_MLAPI_Data_NetworkConfig_ReceiveTickrate.htm" />
<HelpTOCNode Title="RegisteredScenes Field" Url="html/F_MLAPI_Data_NetworkConfig_RegisteredScenes.htm" />
<HelpTOCNode Title="RSAPrivateKey Field" Url="html/F_MLAPI_Data_NetworkConfig_RSAPrivateKey.htm" />
<HelpTOCNode Title="RSAPublicKey Field" Url="html/F_MLAPI_Data_NetworkConfig_RSAPublicKey.htm" />
<HelpTOCNode Title="SecondsHistory Field" Url="html/F_MLAPI_Data_NetworkConfig_SecondsHistory.htm" />
<HelpTOCNode Title="SendTickrate Field" Url="html/F_MLAPI_Data_NetworkConfig_SendTickrate.htm" />
<HelpTOCNode Title="ServerTransports Field" Url="html/F_MLAPI_Data_NetworkConfig_ServerTransports.htm" />
<HelpTOCNode Title="SignKeyExchange Field" Url="html/F_MLAPI_Data_NetworkConfig_SignKeyExchange.htm" />
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="65c969d4-decc-4a7f-b63b-19ffee7ff45e" Title="NetworkedClient Class" Url="html/T_MLAPI_Data_NetworkedClient.htm">
<HelpTOCNode Title="NetworkedClient Constructor " Url="html/M_MLAPI_Data_NetworkedClient__ctor.htm" />
<HelpTOCNode Title="NetworkedClient Methods" Url="html/Methods_T_MLAPI_Data_NetworkedClient.htm" />
<HelpTOCNode Id="99cea467-056d-43c5-85ff-f771f14ba209" Title="NetworkedClient Fields" Url="html/Fields_T_MLAPI_Data_NetworkedClient.htm">
<HelpTOCNode Id="7091970e-59d7-4fd0-a777-27e781cf614b" Title="NetworkedClient Fields" Url="html/Fields_T_MLAPI_Data_NetworkedClient.htm">
<HelpTOCNode Title="AesKey Field" Url="html/F_MLAPI_Data_NetworkedClient_AesKey.htm" />
<HelpTOCNode Title="ClientId Field" Url="html/F_MLAPI_Data_NetworkedClient_ClientId.htm" />
<HelpTOCNode Title="OwnedObjects Field" Url="html/F_MLAPI_Data_NetworkedClient_OwnedObjects.htm" />
<HelpTOCNode Title="PlayerObject Field" Url="html/F_MLAPI_Data_NetworkedClient_PlayerObject.htm" />
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="62674246-107d-4c3c-9488-9417ef5c3f98" Title="NetworkingConfiguration Class" Url="html/T_MLAPI_Data_NetworkingConfiguration.htm">
<HelpTOCNode Title="NetworkingConfiguration Constructor " Url="html/M_MLAPI_Data_NetworkingConfiguration__ctor.htm" />
<HelpTOCNode Id="eac18f7b-b8a7-4176-a22c-b42a21cc0cd9" Title="NetworkingConfiguration Methods" Url="html/Methods_T_MLAPI_Data_NetworkingConfiguration.htm">
<HelpTOCNode Title="CompareConfig Method " Url="html/M_MLAPI_Data_NetworkingConfiguration_CompareConfig.htm" />
<HelpTOCNode Title="GetConfig Method " Url="html/M_MLAPI_Data_NetworkingConfiguration_GetConfig.htm" />
<HelpTOCNode Id="46dff8c2-67ea-426e-9198-852ed8725838" Title="NetworkedPrefab Class" Url="html/T_MLAPI_Data_NetworkedPrefab.htm">
<HelpTOCNode Title="NetworkedPrefab Constructor " Url="html/M_MLAPI_Data_NetworkedPrefab__ctor.htm" />
<HelpTOCNode Title="NetworkedPrefab Methods" Url="html/Methods_T_MLAPI_Data_NetworkedPrefab.htm" />
<HelpTOCNode Id="d62577f2-822c-4bdb-8577-c8f2013edea9" Title="NetworkedPrefab Fields" Url="html/Fields_T_MLAPI_Data_NetworkedPrefab.htm">
<HelpTOCNode Title="playerPrefab Field" Url="html/F_MLAPI_Data_NetworkedPrefab_playerPrefab.htm" />
<HelpTOCNode Title="prefab Field" Url="html/F_MLAPI_Data_NetworkedPrefab_prefab.htm" />
</HelpTOCNode>
<HelpTOCNode Id="569b276c-6667-491a-a3b3-36275735d419" Title="NetworkingConfiguration Fields" Url="html/Fields_T_MLAPI_Data_NetworkingConfiguration.htm">
<HelpTOCNode Title="Address Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_Address.htm" />
<HelpTOCNode Title="AllowPassthroughMessages Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_AllowPassthroughMessages.htm" />
<HelpTOCNode Title="Channels Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_Channels.htm" />
<HelpTOCNode Title="ClientConnectionBufferTimeout Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ClientConnectionBufferTimeout.htm" />
<HelpTOCNode Title="ConnectionApproval Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ConnectionApproval.htm" />
<HelpTOCNode Title="ConnectionApprovalCallback Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ConnectionApprovalCallback.htm" />
<HelpTOCNode Title="ConnectionData Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ConnectionData.htm" />
<HelpTOCNode Title="EnableEncryption Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_EnableEncryption.htm" />
<HelpTOCNode Title="EnableSceneSwitching Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_EnableSceneSwitching.htm" />
<HelpTOCNode Title="EncryptedChannels Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_EncryptedChannels.htm" />
<HelpTOCNode Title="EventTickrate Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_EventTickrate.htm" />
<HelpTOCNode Title="HandleObjectSpawning Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_HandleObjectSpawning.htm" />
<HelpTOCNode Title="MaxConnections Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_MaxConnections.htm" />
<HelpTOCNode Title="MaxReceiveEventsPerTickRate Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_MaxReceiveEventsPerTickRate.htm" />
<HelpTOCNode Title="MessageBufferSize Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_MessageBufferSize.htm" />
<HelpTOCNode Title="MessageTypes Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_MessageTypes.htm" />
<HelpTOCNode Title="PassthroughMessageTypes Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_PassthroughMessageTypes.htm" />
<HelpTOCNode Title="Port Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_Port.htm" />
<HelpTOCNode Title="ProtocolVersion Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ProtocolVersion.htm" />
<HelpTOCNode Title="ReceiveTickrate Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ReceiveTickrate.htm" />
<HelpTOCNode Title="RegisteredScenes Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_RegisteredScenes.htm" />
<HelpTOCNode Title="RSAPrivateKey Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_RSAPrivateKey.htm" />
<HelpTOCNode Title="RSAPublicKey Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_RSAPublicKey.htm" />
<HelpTOCNode Title="SecondsHistory Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_SecondsHistory.htm" />
<HelpTOCNode Title="SendTickrate Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_SendTickrate.htm" />
<HelpTOCNode Title="SignKeyExchange Field" Url="html/F_MLAPI_Data_NetworkingConfiguration_SignKeyExchange.htm" />
</HelpTOCNode>
<HelpTOCNode Id="6a717582-903e-4184-83b2-79d52dc1e6ef" Title="TransportHost Class" Url="html/T_MLAPI_Data_TransportHost.htm">
<HelpTOCNode Title="TransportHost Constructor " Url="html/M_MLAPI_Data_TransportHost__ctor.htm" />
<HelpTOCNode Title="TransportHost Methods" Url="html/Methods_T_MLAPI_Data_TransportHost.htm" />
<HelpTOCNode Id="fa22d686-6068-48e5-ad0e-233e1af871df" Title="TransportHost Fields" Url="html/Fields_T_MLAPI_Data_TransportHost.htm">
<HelpTOCNode Title="Name Field" Url="html/F_MLAPI_Data_TransportHost_Name.htm" />
<HelpTOCNode Title="Port Field" Url="html/F_MLAPI_Data_TransportHost_Port.htm" />
<HelpTOCNode Title="Websockets Field" Url="html/F_MLAPI_Data_TransportHost_Websockets.htm" />
</HelpTOCNode>
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="da9cc9bb-85b1-4ca3-b0e2-37c2b5cd02d1" Title="MLAPI.MonoBehaviours.Core" Url="html/N_MLAPI_MonoBehaviours_Core.htm">
<HelpTOCNode Id="37a1f473-7977-4b27-b216-f7f6908aa06e" Title="NetworkedBehaviour Class" Url="html/T_MLAPI_MonoBehaviours_Core_NetworkedBehaviour.htm">
<HelpTOCNode Id="98c929e1-698b-4178-9d7e-358323b5e821" Title="MLAPI.MonoBehaviours.Core" Url="html/N_MLAPI_MonoBehaviours_Core.htm">
<HelpTOCNode Id="a9eac88b-c372-4ef8-9a14-c504ad35d7ed" Title="NetworkedBehaviour Class" Url="html/T_MLAPI_MonoBehaviours_Core_NetworkedBehaviour.htm">
<HelpTOCNode Title="NetworkedBehaviour Constructor " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour__ctor.htm" />
<HelpTOCNode Id="1c17b74e-1733-4950-8a55-122c0fd84a91" Title="NetworkedBehaviour Properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Core_NetworkedBehaviour.htm">
<HelpTOCNode Id="56712511-5552-4aef-b78f-4535f427eb89" Title="NetworkedBehaviour Properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Core_NetworkedBehaviour.htm">
<HelpTOCNode Title="isClient Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_isClient.htm" />
<HelpTOCNode Title="isHost Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_isHost.htm" />
<HelpTOCNode Title="isLocalPlayer Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_isLocalPlayer.htm" />
@ -76,69 +136,69 @@
<HelpTOCNode Title="networkId Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_networkId.htm" />
<HelpTOCNode Title="ownerClientId Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_ownerClientId.htm" />
</HelpTOCNode>
<HelpTOCNode Id="ec5ba87b-94b4-4faa-ba86-ce8541472b77" Title="NetworkedBehaviour Methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Core_NetworkedBehaviour.htm">
<HelpTOCNode Id="358f50a7-d904-42cf-afcd-e9f58168d967" Title="NetworkedBehaviour Methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Core_NetworkedBehaviour.htm">
<HelpTOCNode Title="DeregisterMessageHandler Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_DeregisterMessageHandler.htm" />
<HelpTOCNode Title="GetNetworkedObject Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_GetNetworkedObject.htm" />
<HelpTOCNode Title="NetworkStart Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_NetworkStart.htm" />
<HelpTOCNode Title="OnGainedOwnership Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_OnGainedOwnership.htm" />
<HelpTOCNode Title="OnLostOwnership Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_OnLostOwnership.htm" />
<HelpTOCNode Title="RegisterMessageHandler Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_RegisterMessageHandler.htm" />
<HelpTOCNode Id="e10c87cd-d0ae-496d-bb9a-f011ab6e1a8f" Title="SendToClient Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClient.htm">
<HelpTOCNode Title="SendToClient Method (Int32, String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClient.htm" />
<HelpTOCNode Id="298f3481-64cb-47eb-8483-155c886ade6e" Title="SendToClient Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClient.htm">
<HelpTOCNode Title="SendToClient(T) Method (Int32, String, String, T)" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClient__1.htm" />
<HelpTOCNode Title="SendToClient Method (UInt32, String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClient.htm" />
</HelpTOCNode>
<HelpTOCNode Id="e0cb6da5-1f42-44de-84dc-4415ef190bd3" Title="SendToClients Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClients.htm">
<HelpTOCNode Title="SendToClients Method (String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClients_2.htm" />
<HelpTOCNode Id="e2bcc913-474a-4a60-a504-bfa04e3fba6b" Title="SendToClients Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClients.htm">
<HelpTOCNode Title="SendToClients Method (String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClients_1.htm" />
<HelpTOCNode Title="SendToClients(T) Method (String, String, T)" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClients__1_2.htm" />
<HelpTOCNode Title="SendToClients Method (List(Int32), String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClients.htm" />
<HelpTOCNode Title="SendToClients(T) Method (List(Int32), String, String, T)" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClients__1.htm" />
<HelpTOCNode Title="SendToClients Method (Int32[], String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClients_1.htm" />
<HelpTOCNode Title="SendToClients Method (List(UInt32), String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClients.htm" />
<HelpTOCNode Title="SendToClients(T) Method (Int32[], String, String, T)" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClients__1_1.htm" />
<HelpTOCNode Title="SendToClients Method (UInt32[], String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClients_2.htm" />
</HelpTOCNode>
<HelpTOCNode Id="4b047b2a-104c-408c-8e6a-0e2a7894bd0a" Title="SendToClientsTarget Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientsTarget.htm">
<HelpTOCNode Title="SendToClientsTarget Method (String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientsTarget_2.htm" />
<HelpTOCNode Id="eccff9ed-b47d-41a8-a5cc-64974077b958" Title="SendToClientsTarget Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientsTarget.htm">
<HelpTOCNode Title="SendToClientsTarget Method (String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientsTarget_1.htm" />
<HelpTOCNode Title="SendToClientsTarget(T) Method (String, String, T)" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientsTarget__1_2.htm" />
<HelpTOCNode Title="SendToClientsTarget Method (List(Int32), String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientsTarget.htm" />
<HelpTOCNode Title="SendToClientsTarget(T) Method (List(Int32), String, String, T)" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientsTarget__1.htm" />
<HelpTOCNode Title="SendToClientsTarget Method (Int32[], String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientsTarget_1.htm" />
<HelpTOCNode Title="SendToClientsTarget Method (List(UInt32), String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientsTarget.htm" />
<HelpTOCNode Title="SendToClientsTarget(T) Method (List(UInt32), String, String, T)" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientsTarget__1.htm" />
<HelpTOCNode Title="SendToClientsTarget(T) Method (Int32[], String, String, T)" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientsTarget__1_1.htm" />
<HelpTOCNode Title="SendToClientsTarget Method (UInt32[], String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientsTarget_2.htm" />
</HelpTOCNode>
<HelpTOCNode Id="1a68086f-f987-4a6b-af2b-77d0826ef55b" Title="SendToClientTarget Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientTarget.htm">
<HelpTOCNode Title="SendToClientTarget Method (Int32, String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientTarget.htm" />
<HelpTOCNode Id="debe5083-7d9d-40f0-892f-920b0190a937" Title="SendToClientTarget Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientTarget.htm">
<HelpTOCNode Title="SendToClientTarget(T) Method (Int32, String, String, T)" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientTarget__1.htm" />
<HelpTOCNode Title="SendToClientTarget Method (UInt32, String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientTarget.htm" />
</HelpTOCNode>
<HelpTOCNode Id="8205cbbe-c0a3-4c5a-9b2f-23249fafca0c" Title="SendToLocalClient Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToLocalClient.htm">
<HelpTOCNode Id="3e5fcbc7-92a6-4c08-b6f2-16655b7f442c" Title="SendToLocalClient Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToLocalClient.htm">
<HelpTOCNode Title="SendToLocalClient Method (String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToLocalClient.htm" />
<HelpTOCNode Title="SendToLocalClient(T) Method (String, String, T)" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToLocalClient__1.htm" />
</HelpTOCNode>
<HelpTOCNode Id="2fc1660f-f382-4427-9aa9-219462a9bc70" Title="SendToLocalClientTarget Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToLocalClientTarget.htm">
<HelpTOCNode Id="152cd957-9c94-4bb3-9c23-72c009a24c8d" Title="SendToLocalClientTarget Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToLocalClientTarget.htm">
<HelpTOCNode Title="SendToLocalClientTarget Method (String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToLocalClientTarget.htm" />
<HelpTOCNode Title="SendToLocalClientTarget(T) Method (String, String, T)" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToLocalClientTarget__1.htm" />
</HelpTOCNode>
<HelpTOCNode Id="acfca73e-811e-4009-b5c0-c1526b0a2ab1" Title="SendToNonLocalClients Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToNonLocalClients.htm">
<HelpTOCNode Id="f1c84c35-8e63-4977-a4ce-1302289612a9" Title="SendToNonLocalClients Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToNonLocalClients.htm">
<HelpTOCNode Title="SendToNonLocalClients Method (String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToNonLocalClients.htm" />
<HelpTOCNode Title="SendToNonLocalClients(T) Method (String, String, T)" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToNonLocalClients__1.htm" />
</HelpTOCNode>
<HelpTOCNode Id="d695b184-a442-4fd4-8507-bfbaabfc662c" Title="SendToNonLocalClientsTarget Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToNonLocalClientsTarget.htm">
<HelpTOCNode Id="4c7979cd-4bec-4e7e-8353-85ed69d116a8" Title="SendToNonLocalClientsTarget Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToNonLocalClientsTarget.htm">
<HelpTOCNode Title="SendToNonLocalClientsTarget Method (String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToNonLocalClientsTarget.htm" />
<HelpTOCNode Title="SendToNonLocalClientsTarget(T) Method (String, String, T)" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToNonLocalClientsTarget__1.htm" />
</HelpTOCNode>
<HelpTOCNode Id="f4438b07-52ca-41d9-aca7-b1937e9d960c" Title="SendToServer Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToServer.htm">
<HelpTOCNode Id="2be60837-346c-4730-80cc-963501f48580" Title="SendToServer Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToServer.htm">
<HelpTOCNode Title="SendToServer Method (String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToServer.htm" />
<HelpTOCNode Title="SendToServer(T) Method (String, String, T)" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToServer__1.htm" />
</HelpTOCNode>
<HelpTOCNode Id="1d44bc9c-07a0-4320-86ad-ebc7170caf4f" Title="SendToServerTarget Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToServerTarget.htm">
<HelpTOCNode Id="f1b211a2-28fc-49b7-abf0-e81d201c7c28" Title="SendToServerTarget Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToServerTarget.htm">
<HelpTOCNode Title="SendToServerTarget Method (String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToServerTarget.htm" />
<HelpTOCNode Title="SendToServerTarget(T) Method (String, String, T)" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToServerTarget__1.htm" />
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="8b3e5c15-da39-4dca-8d53-fc80062d9552" Title="NetworkedBehaviour Fields" Url="html/Fields_T_MLAPI_MonoBehaviours_Core_NetworkedBehaviour.htm">
<HelpTOCNode Id="d2d3884f-57cb-4d97-93ce-a10f3c3bb88c" Title="NetworkedBehaviour Fields" Url="html/Fields_T_MLAPI_MonoBehaviours_Core_NetworkedBehaviour.htm">
<HelpTOCNode Title="SyncVarSyncDelay Field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SyncVarSyncDelay.htm" />
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="a63ac209-202e-4565-ae0e-5f0edea4a879" Title="NetworkedObject Class" Url="html/T_MLAPI_MonoBehaviours_Core_NetworkedObject.htm">
<HelpTOCNode Id="58c86391-e7d0-4063-8109-06b08228f8f9" Title="NetworkedObject Class" Url="html/T_MLAPI_MonoBehaviours_Core_NetworkedObject.htm">
<HelpTOCNode Title="NetworkedObject Constructor " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedObject__ctor.htm" />
<HelpTOCNode Id="bdc19fc5-829a-4ab8-9720-be4db9972b5a" Title="NetworkedObject Properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Core_NetworkedObject.htm">
<HelpTOCNode Id="8958dba3-ff9d-4d60-8808-0b55d288319e" Title="NetworkedObject Properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Core_NetworkedObject.htm">
<HelpTOCNode Title="isLocalPlayer Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedObject_isLocalPlayer.htm" />
<HelpTOCNode Title="isOwner Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedObject_isOwner.htm" />
<HelpTOCNode Title="isPlayerObject Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedObject_isPlayerObject.htm" />
@ -147,21 +207,20 @@
<HelpTOCNode Title="NetworkId Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedObject_NetworkId.htm" />
<HelpTOCNode Title="OwnerClientId Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedObject_OwnerClientId.htm" />
<HelpTOCNode Title="PoolId Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedObject_PoolId.htm" />
<HelpTOCNode Title="SpawnablePrefabIndex Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedObject_SpawnablePrefabIndex.htm" />
</HelpTOCNode>
<HelpTOCNode Id="e5bfca6f-74a9-4135-ae0e-119a79f35a19" Title="NetworkedObject Methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Core_NetworkedObject.htm">
<HelpTOCNode Id="3a40288a-2829-4cec-ac3c-16ff57d12faf" Title="NetworkedObject Methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Core_NetworkedObject.htm">
<HelpTOCNode Title="ChangeOwnership Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedObject_ChangeOwnership.htm" />
<HelpTOCNode Title="RemoveOwnership Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedObject_RemoveOwnership.htm" />
<HelpTOCNode Title="Spawn Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedObject_Spawn.htm" />
<HelpTOCNode Title="SpawnWithOwnership Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedObject_SpawnWithOwnership.htm" />
</HelpTOCNode>
<HelpTOCNode Id="58947793-826e-4d67-b8ed-481863b8fd39" Title="NetworkedObject Fields" Url="html/Fields_T_MLAPI_MonoBehaviours_Core_NetworkedObject.htm">
<HelpTOCNode Title="ServerOnly Field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkedObject_ServerOnly.htm" />
<HelpTOCNode Id="854efaef-578c-4323-a0cc-3c25384da7e1" Title="NetworkedObject Fields" Url="html/Fields_T_MLAPI_MonoBehaviours_Core_NetworkedObject.htm">
<HelpTOCNode Title="NetworkedPrefabName Field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkedObject_NetworkedPrefabName.htm" />
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="915f79e6-2d78-4e16-9acd-7f41e2d50a1a" Title="NetworkingManager Class" Url="html/T_MLAPI_MonoBehaviours_Core_NetworkingManager.htm">
<HelpTOCNode Id="31a50547-b78e-4ea4-ab06-2704de344fdb" Title="NetworkingManager Class" Url="html/T_MLAPI_MonoBehaviours_Core_NetworkingManager.htm">
<HelpTOCNode Title="NetworkingManager Constructor " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager__ctor.htm" />
<HelpTOCNode Id="83bee0fa-4463-475e-8117-e04e2a75d0e6" Title="NetworkingManager Properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Core_NetworkingManager.htm">
<HelpTOCNode Id="0404fa23-49c2-4f89-9592-aedc86f415ca" Title="NetworkingManager Properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Core_NetworkingManager.htm">
<HelpTOCNode Title="ConnectedClients Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkingManager_ConnectedClients.htm" />
<HelpTOCNode Title="isClient Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkingManager_isClient.htm" />
<HelpTOCNode Title="IsClientConnected Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkingManager_IsClientConnected.htm" />
@ -171,48 +230,52 @@
<HelpTOCNode Title="NetworkTime Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkingManager_NetworkTime.htm" />
<HelpTOCNode Title="singleton Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkingManager_singleton.htm" />
</HelpTOCNode>
<HelpTOCNode Id="f1c9b535-86db-4155-b24a-5a3a340fe83d" Title="NetworkingManager Methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Core_NetworkingManager.htm">
<HelpTOCNode Id="fa4386db-5f07-4540-a868-3c73e6df94d6" Title="NetworkingManager Methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Core_NetworkingManager.htm">
<HelpTOCNode Title="StartClient Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StartClient.htm" />
<HelpTOCNode Title="StartClientWebsocket Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StartClientWebsocket.htm" />
<HelpTOCNode Title="StartHost Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StartHost.htm" />
<HelpTOCNode Title="StartServer Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StartServer.htm" />
<HelpTOCNode Title="StopClient Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StopClient.htm" />
<HelpTOCNode Title="StopHost Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StopHost.htm" />
<HelpTOCNode Title="StopServer Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkingManager_StopServer.htm" />
</HelpTOCNode>
<HelpTOCNode Id="26b6709a-4d11-4fc4-9a82-3c432b4cd913" Title="NetworkingManager Fields" Url="html/Fields_T_MLAPI_MonoBehaviours_Core_NetworkingManager.htm">
<HelpTOCNode Title="DefaultPlayerPrefab Field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_DefaultPlayerPrefab.htm" />
<HelpTOCNode Id="441832f3-bf3a-45cd-82c7-4e8d6999f44c" Title="NetworkingManager Fields" Url="html/Fields_T_MLAPI_MonoBehaviours_Core_NetworkingManager.htm">
<HelpTOCNode Title="ConnectionApprovalCallback Field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_ConnectionApprovalCallback.htm" />
<HelpTOCNode Title="DontDestroy Field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_DontDestroy.htm" />
<HelpTOCNode Title="NetworkConfig Field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_NetworkConfig.htm" />
<HelpTOCNode Title="OnClientConnectedCallback Field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_OnClientConnectedCallback.htm" />
<HelpTOCNode Title="OnClientDisconnectCallback Field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_OnClientDisconnectCallback.htm" />
<HelpTOCNode Title="OnServerStarted Field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_OnServerStarted.htm" />
<HelpTOCNode Title="RegenerateRSAKeys Field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_RegenerateRSAKeys.htm" />
<HelpTOCNode Title="RunInBackground Field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_RunInBackground.htm" />
<HelpTOCNode Title="SpawnablePrefabs Field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_SpawnablePrefabs.htm" />
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="8f47dbe5-66ac-48e5-9233-779522790943" Title="TrackedObject Class" Url="html/T_MLAPI_MonoBehaviours_Core_TrackedObject.htm">
<HelpTOCNode Id="c526fec6-6ba5-4c18-8e44-c993d6060471" Title="TrackedObject Class" Url="html/T_MLAPI_MonoBehaviours_Core_TrackedObject.htm">
<HelpTOCNode Title="TrackedObject Constructor " Url="html/M_MLAPI_MonoBehaviours_Core_TrackedObject__ctor.htm" />
<HelpTOCNode Title="TrackedObject Properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Core_TrackedObject.htm" />
<HelpTOCNode Id="75730597-4ab9-4230-84d9-6043d4da888a" Title="TrackedObject Properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Core_TrackedObject.htm">
<HelpTOCNode Title="AvgTimeBetweenPointsMs Property " Url="html/P_MLAPI_MonoBehaviours_Core_TrackedObject_AvgTimeBetweenPointsMs.htm" />
<HelpTOCNode Title="TotalPoints Property " Url="html/P_MLAPI_MonoBehaviours_Core_TrackedObject_TotalPoints.htm" />
</HelpTOCNode>
<HelpTOCNode Title="TrackedObject Methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Core_TrackedObject.htm" />
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="e5db78aa-0a53-44ba-b991-e4e5e6ee6d82" Title="MLAPI.MonoBehaviours.Prototyping" Url="html/N_MLAPI_MonoBehaviours_Prototyping.htm">
<HelpTOCNode Id="7ae94f17-f384-4058-90e0-86a2be98970d" Title="NetworkedAnimator Class" Url="html/T_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator.htm">
<HelpTOCNode Id="a107a0ec-f24e-4e2e-bf33-cade684440b0" Title="MLAPI.MonoBehaviours.Prototyping" Url="html/N_MLAPI_MonoBehaviours_Prototyping.htm">
<HelpTOCNode Id="751e3d79-47b3-429e-bf88-4c38796331ce" Title="NetworkedAnimator Class" Url="html/T_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator.htm">
<HelpTOCNode Title="NetworkedAnimator Constructor " Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator__ctor.htm" />
<HelpTOCNode Id="1f672e2f-08c2-413c-88ec-8e1ec296d843" Title="NetworkedAnimator Properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator.htm">
<HelpTOCNode Id="a1ec75b0-85b3-4425-89df-0318be19cc3e" Title="NetworkedAnimator Properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator.htm">
<HelpTOCNode Title="animator Property " Url="html/P_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_animator.htm" />
</HelpTOCNode>
<HelpTOCNode Id="81589993-6f59-4191-ad0f-84ff316124d5" Title="NetworkedAnimator Methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator.htm">
<HelpTOCNode Id="d8f43957-9deb-4d22-bd8f-4287659eae39" Title="NetworkedAnimator Methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator.htm">
<HelpTOCNode Title="GetParameterAutoSend Method " Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_GetParameterAutoSend.htm" />
<HelpTOCNode Title="NetworkStart Method " Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_NetworkStart.htm" />
<HelpTOCNode Title="ResetParameterOptions Method " Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_ResetParameterOptions.htm" />
<HelpTOCNode Title="SetParameterAutoSend Method " Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_SetParameterAutoSend.htm" />
<HelpTOCNode Id="714708b0-71a0-4040-82ac-e2699037beb6" Title="SetTrigger Method " Url="html/Overload_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_SetTrigger.htm">
<HelpTOCNode Id="8bc74cee-3d0b-4f79-afc8-2cbc42ea1002" Title="SetTrigger Method " Url="html/Overload_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_SetTrigger.htm">
<HelpTOCNode Title="SetTrigger Method (Int32)" Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_SetTrigger.htm" />
<HelpTOCNode Title="SetTrigger Method (String)" Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_SetTrigger_1.htm" />
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="2a2c1e11-a252-4763-8358-fefbba63217f" Title="NetworkedAnimator Fields" Url="html/Fields_T_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator.htm">
<HelpTOCNode Id="cc6afdfa-62fe-4063-a3f9-45e1dcc3e71b" Title="NetworkedAnimator Fields" Url="html/Fields_T_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator.htm">
<HelpTOCNode Title="EnableProximity Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_EnableProximity.htm" />
<HelpTOCNode Title="param0 Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_param0.htm" />
<HelpTOCNode Title="param1 Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_param1.htm" />
@ -223,13 +286,13 @@
<HelpTOCNode Title="ProximityRange Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_ProximityRange.htm" />
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="64c45f02-a247-4d89-ac41-2ac2c89d814c" Title="NetworkedNavMeshAgent Class" Url="html/T_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent.htm">
<HelpTOCNode Id="0154e806-176e-4b5b-9671-72212a04d053" Title="NetworkedNavMeshAgent Class" Url="html/T_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent.htm">
<HelpTOCNode Title="NetworkedNavMeshAgent Constructor " Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent__ctor.htm" />
<HelpTOCNode Title="NetworkedNavMeshAgent Properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent.htm" />
<HelpTOCNode Id="0a57ad5b-6eb4-4143-971d-bf0cddfe0066" Title="NetworkedNavMeshAgent Methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent.htm">
<HelpTOCNode Id="397bb64d-ae4f-4644-89e6-2f2aa2ed4615" Title="NetworkedNavMeshAgent Methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent.htm">
<HelpTOCNode Title="NetworkStart Method " Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent_NetworkStart.htm" />
</HelpTOCNode>
<HelpTOCNode Id="52c0b6c8-b31a-4512-8e04-a683ab909f7d" Title="NetworkedNavMeshAgent Fields" Url="html/Fields_T_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent.htm">
<HelpTOCNode Id="4064b433-9ca8-45f1-9b15-a32a7d4ad17b" Title="NetworkedNavMeshAgent Fields" Url="html/Fields_T_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent.htm">
<HelpTOCNode Title="CorrectionDelay Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent_CorrectionDelay.htm" />
<HelpTOCNode Title="DriftCorrectionPercentage Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent_DriftCorrectionPercentage.htm" />
<HelpTOCNode Title="EnableProximity Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent_EnableProximity.htm" />
@ -237,13 +300,13 @@
<HelpTOCNode Title="WarpOnDestinationChange Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent_WarpOnDestinationChange.htm" />
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="69e42996-135d-4eaa-89ea-b3d5906bb02d" Title="NetworkedTransform Class" Url="html/T_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform.htm">
<HelpTOCNode Id="3878db80-cfe2-432c-ae96-207574aad787" Title="NetworkedTransform Class" Url="html/T_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform.htm">
<HelpTOCNode Title="NetworkedTransform Constructor " Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform__ctor.htm" />
<HelpTOCNode Title="NetworkedTransform Properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform.htm" />
<HelpTOCNode Id="4d76b8be-a5ce-4b66-80d4-c845c5d250dc" Title="NetworkedTransform Methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform.htm">
<HelpTOCNode Id="178d14b0-601f-42a0-8071-65e12ebdbc36" Title="NetworkedTransform Methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform.htm">
<HelpTOCNode Title="NetworkStart Method " Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform_NetworkStart.htm" />
</HelpTOCNode>
<HelpTOCNode Id="a5c6724b-ba1f-4c73-9adb-63ea93fb817e" Title="NetworkedTransform Fields" Url="html/Fields_T_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform.htm">
<HelpTOCNode Id="f802192f-977a-4fe0-be70-8715a569dae1" Title="NetworkedTransform Fields" Url="html/Fields_T_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform.htm">
<HelpTOCNode Title="AssumeSyncedSends Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform_AssumeSyncedSends.htm" />
<HelpTOCNode Title="EnableProximity Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform_EnableProximity.htm" />
<HelpTOCNode Title="InterpolatePosition Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform_InterpolatePosition.htm" />
@ -256,16 +319,86 @@
</HelpTOCNode>
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="b7dc15f1-ac0a-440d-92de-851c7e4ccec0" Title="MLAPI.NetworkingManagerComponents.Binary" Url="html/N_MLAPI_NetworkingManagerComponents_Binary.htm">
<HelpTOCNode Id="1cd34ea5-cf58-4bbc-abd3-740aac7f1769" Title="BinarySerializer Class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer.htm">
<HelpTOCNode Id="7ddaf4cd-af73-45bb-b769-26d0e1f21c0c" Title="BinarySerializer Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer.htm">
<HelpTOCNode Id="03f7e08d-28a8-4a99-9459-987b8eaf399a" Title="MLAPI.NetworkingManagerComponents.Binary" Url="html/N_MLAPI_NetworkingManagerComponents_Binary.htm">
<HelpTOCNode Id="f213bfc7-79cd-437d-8f40-1a3c20e60d7e" Title="BinaryHelpers Class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_BinaryHelpers.htm">
<HelpTOCNode Id="ba8f4943-e2c0-419b-918a-2825590f6ece" Title="BinaryHelpers Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Binary_BinaryHelpers.htm">
<HelpTOCNode Id="3273bb19-914f-4925-a92b-65de34d19391" Title="SwapEndian Method " Url="html/Overload_MLAPI_NetworkingManagerComponents_Binary_BinaryHelpers_SwapEndian.htm">
<HelpTOCNode Title="SwapEndian Method (UInt32)" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BinaryHelpers_SwapEndian.htm" />
<HelpTOCNode Title="SwapEndian Method (UInt64)" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BinaryHelpers_SwapEndian_1.htm" />
</HelpTOCNode>
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="ac2a4ca8-a1b2-443d-8cb9-9ce1c3661cae" Title="BinarySerializer Class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer.htm">
<HelpTOCNode Id="21244629-c385-420a-9d0e-49bc8710ef3e" Title="BinarySerializer Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer.htm">
<HelpTOCNode Title="ClearCache Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer_ClearCache.htm" />
<HelpTOCNode Title="Deserialize(T) Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer_Deserialize__1.htm" />
<HelpTOCNode Title="Serialize(T) Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer_Serialize__1.htm" />
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="0b939441-3f2c-4cca-bdc9-d6a78e0586d2" Title="MessageChunker Class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_MessageChunker.htm">
<HelpTOCNode Id="00f73ea8-126b-4c9e-b916-e86344074cd3" Title="MessageChunker Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Binary_MessageChunker.htm">
<HelpTOCNode Id="d10039f9-5776-4d0f-bd61-48d74bcafb19" Title="BitReader Class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_BitReader.htm">
<HelpTOCNode Title="BitReader Constructor " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader__ctor.htm" />
<HelpTOCNode Id="e59b628a-209d-41ce-8a79-979b2ac215c1" Title="BitReader Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Binary_BitReader.htm">
<HelpTOCNode Title="ReadBool Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadBool.htm" />
<HelpTOCNode Title="ReadByte Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadByte.htm" />
<HelpTOCNode Title="ReadByteArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadByteArray.htm" />
<HelpTOCNode Title="ReadDouble Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadDouble.htm" />
<HelpTOCNode Title="ReadDoubleArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadDoubleArray.htm" />
<HelpTOCNode Title="ReadFloat Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadFloat.htm" />
<HelpTOCNode Title="ReadFloatArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadFloatArray.htm" />
<HelpTOCNode Title="ReadInt Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadInt.htm" />
<HelpTOCNode Title="ReadIntArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadIntArray.htm" />
<HelpTOCNode Title="ReadLong Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadLong.htm" />
<HelpTOCNode Title="ReadLongArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadLongArray.htm" />
<HelpTOCNode Title="ReadSByte Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadSByte.htm" />
<HelpTOCNode Title="ReadSByteArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadSByteArray.htm" />
<HelpTOCNode Title="ReadShort Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadShort.htm" />
<HelpTOCNode Title="ReadShortArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadShortArray.htm" />
<HelpTOCNode Title="ReadString Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadString.htm" />
<HelpTOCNode Title="ReadUInt Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadUInt.htm" />
<HelpTOCNode Title="ReadUIntArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadUIntArray.htm" />
<HelpTOCNode Title="ReadULong Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadULong.htm" />
<HelpTOCNode Title="ReadULongArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadULongArray.htm" />
<HelpTOCNode Title="ReadUShort Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadUShort.htm" />
<HelpTOCNode Title="ReadUShortArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadUShortArray.htm" />
<HelpTOCNode Title="SkipPadded Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_SkipPadded.htm" />
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="33ac7217-e88d-41d8-aa7a-61ec53522bee" Title="BitWriter Class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_BitWriter.htm">
<HelpTOCNode Title="BitWriter Constructor " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter__ctor.htm" />
<HelpTOCNode Id="e75631ee-9dc8-4f4d-a5f1-b838faaccc63" Title="BitWriter Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Binary_BitWriter.htm">
<HelpTOCNode Title="Dispose Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_Dispose.htm" />
<HelpTOCNode Id="01f502f7-9b18-4227-8f58-a60475b0b24a" Title="Finalize Method " Url="html/Overload_MLAPI_NetworkingManagerComponents_Binary_BitWriter_Finalize.htm">
<HelpTOCNode Title="Finalize Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_Finalize.htm" />
<HelpTOCNode Title="Finalize Method (Byte[])" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_Finalize_1.htm" />
</HelpTOCNode>
<HelpTOCNode Title="GetFinalizeSize Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_GetFinalizeSize.htm" />
<HelpTOCNode Title="WriteAlignBits Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteAlignBits.htm" />
<HelpTOCNode Title="WriteBool Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteBool.htm" />
<HelpTOCNode Title="WriteByte Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteByte.htm" />
<HelpTOCNode Title="WriteByteArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteByteArray.htm" />
<HelpTOCNode Title="WriteDouble Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteDouble.htm" />
<HelpTOCNode Title="WriteDoubleArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteDoubleArray.htm" />
<HelpTOCNode Title="WriteFloat Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteFloat.htm" />
<HelpTOCNode Title="WriteFloatArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteFloatArray.htm" />
<HelpTOCNode Title="WriteInt Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteInt.htm" />
<HelpTOCNode Title="WriteIntArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteIntArray.htm" />
<HelpTOCNode Title="WriteLong Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteLong.htm" />
<HelpTOCNode Title="WriteLongArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteLongArray.htm" />
<HelpTOCNode Title="WriteSByte Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteSByte.htm" />
<HelpTOCNode Title="WriteSByteArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteSByteArray.htm" />
<HelpTOCNode Title="WriteShort Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteShort.htm" />
<HelpTOCNode Title="WriteShortArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteShortArray.htm" />
<HelpTOCNode Title="WriteString Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteString.htm" />
<HelpTOCNode Title="WriteUInt Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteUInt.htm" />
<HelpTOCNode Title="WriteUIntArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteUIntArray.htm" />
<HelpTOCNode Title="WriteULong Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteULong.htm" />
<HelpTOCNode Title="WriteULongArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteULongArray.htm" />
<HelpTOCNode Title="WriteUShort Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteUShort.htm" />
<HelpTOCNode Title="WriteUShortArray Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteUShortArray.htm" />
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="b34fde33-57a0-4011-abcc-9ea510216acc" Title="MessageChunker Class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_MessageChunker.htm">
<HelpTOCNode Id="c63086be-e156-4010-b1eb-d5bd0119eb22" Title="MessageChunker Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Binary_MessageChunker.htm">
<HelpTOCNode Title="GetChunkedMessage Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_MessageChunker_GetChunkedMessage.htm" />
<HelpTOCNode Title="GetMessageOrdered Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_MessageChunker_GetMessageOrdered.htm" />
<HelpTOCNode Title="GetMessageUnordered Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_MessageChunker_GetMessageUnordered.htm" />
@ -275,35 +408,35 @@
</HelpTOCNode>
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="be7f225a-d039-48b5-b037-c67df836e7e5" Title="MLAPI.NetworkingManagerComponents.Core" Url="html/N_MLAPI_NetworkingManagerComponents_Core.htm">
<HelpTOCNode Id="78f77132-ff90-4f73-961a-97c6842cb76e" Title="LagCompensationManager Class" Url="html/T_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager.htm">
<HelpTOCNode Id="4c4fe0dd-463a-4316-90a3-2728fc048e00" Title="LagCompensationManager Properties" Url="html/Properties_T_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager.htm">
<HelpTOCNode Id="66dcefda-1306-4919-a0ee-8f135c55f12c" Title="MLAPI.NetworkingManagerComponents.Core" Url="html/N_MLAPI_NetworkingManagerComponents_Core.htm">
<HelpTOCNode Id="485b4947-0597-46e7-ac7c-3865eda448c7" Title="LagCompensationManager Class" Url="html/T_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager.htm">
<HelpTOCNode Id="d47ba2c5-6fc4-4e2d-820b-546482a406a9" Title="LagCompensationManager Properties" Url="html/Properties_T_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager.htm">
<HelpTOCNode Title="SimulationObjects Property " Url="html/P_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager_SimulationObjects.htm" />
</HelpTOCNode>
<HelpTOCNode Id="90899fc4-bf79-4083-92cd-17aadac05cbf" Title="LagCompensationManager Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager.htm">
<HelpTOCNode Id="6894eb7d-b292-4d9d-849d-42eb9a14992d" Title="Simulate Method " Url="html/Overload_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager_Simulate.htm">
<HelpTOCNode Title="Simulate Method (Int32, Action)" Url="html/M_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager_Simulate.htm" />
<HelpTOCNode Title="Simulate Method (Single, Action)" Url="html/M_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager_Simulate_1.htm" />
<HelpTOCNode Id="6435b2fc-5efa-4494-96a9-ad56b03578d7" Title="LagCompensationManager Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager.htm">
<HelpTOCNode Id="97449f7f-8b41-445b-8237-7ab98a21763e" Title="Simulate Method " Url="html/Overload_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager_Simulate.htm">
<HelpTOCNode Title="Simulate Method (Single, Action)" Url="html/M_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager_Simulate.htm" />
<HelpTOCNode Title="Simulate Method (UInt32, Action)" Url="html/M_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager_Simulate_1.htm" />
</HelpTOCNode>
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="32a722ed-6329-4367-a80c-cadb18af32c5" Title="NetworkPoolManager Class" Url="html/T_MLAPI_NetworkingManagerComponents_Core_NetworkPoolManager.htm">
<HelpTOCNode Id="560b4766-cf58-404b-a3a8-a1e11a5df9c4" Title="NetworkPoolManager Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Core_NetworkPoolManager.htm">
<HelpTOCNode Id="60477341-f3e3-4411-b2cd-3304bcd6414a" Title="NetworkPoolManager Class" Url="html/T_MLAPI_NetworkingManagerComponents_Core_NetworkPoolManager.htm">
<HelpTOCNode Id="63647c50-7a04-4d9a-aec4-3331d5fb8d3e" Title="NetworkPoolManager Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Core_NetworkPoolManager.htm">
<HelpTOCNode Title="CreatePool Method " Url="html/M_MLAPI_NetworkingManagerComponents_Core_NetworkPoolManager_CreatePool.htm" />
<HelpTOCNode Title="DestroyPool Method " Url="html/M_MLAPI_NetworkingManagerComponents_Core_NetworkPoolManager_DestroyPool.htm" />
<HelpTOCNode Title="DestroyPoolObject Method " Url="html/M_MLAPI_NetworkingManagerComponents_Core_NetworkPoolManager_DestroyPoolObject.htm" />
<HelpTOCNode Title="SpawnPoolObject Method " Url="html/M_MLAPI_NetworkingManagerComponents_Core_NetworkPoolManager_SpawnPoolObject.htm" />
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="e3f8826a-a4c7-422a-8659-1c6e94981ecb" Title="NetworkSceneManager Class" Url="html/T_MLAPI_NetworkingManagerComponents_Core_NetworkSceneManager.htm">
<HelpTOCNode Id="037e49e4-0839-4039-8824-71ac412d046a" Title="NetworkSceneManager Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Core_NetworkSceneManager.htm">
<HelpTOCNode Id="e44cc7c3-803e-455c-af1f-272f547f20cc" Title="NetworkSceneManager Class" Url="html/T_MLAPI_NetworkingManagerComponents_Core_NetworkSceneManager.htm">
<HelpTOCNode Id="dc55b503-7e2b-4336-8685-ab66934cedae" Title="NetworkSceneManager Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Core_NetworkSceneManager.htm">
<HelpTOCNode Title="SwitchScene Method " Url="html/M_MLAPI_NetworkingManagerComponents_Core_NetworkSceneManager_SwitchScene.htm" />
</HelpTOCNode>
</HelpTOCNode>
</HelpTOCNode>
<HelpTOCNode Id="6f8aa334-964e-4118-9ae8-ef9670fa52de" Title="MLAPI.NetworkingManagerComponents.Cryptography" Url="html/N_MLAPI_NetworkingManagerComponents_Cryptography.htm">
<HelpTOCNode Id="e557204e-914d-4248-9fd2-97255fb9c879" Title="CryptographyHelper Class" Url="html/T_MLAPI_NetworkingManagerComponents_Cryptography_CryptographyHelper.htm">
<HelpTOCNode Id="64e9a882-2131-4717-a1c8-c2b7ba57487f" Title="CryptographyHelper Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Cryptography_CryptographyHelper.htm">
<HelpTOCNode Id="e94e6280-47e3-4755-93e6-b168861109d8" Title="MLAPI.NetworkingManagerComponents.Cryptography" Url="html/N_MLAPI_NetworkingManagerComponents_Cryptography.htm">
<HelpTOCNode Id="59be0abf-53e7-4f22-b8cc-b371f3cfbcf2" Title="CryptographyHelper Class" Url="html/T_MLAPI_NetworkingManagerComponents_Cryptography_CryptographyHelper.htm">
<HelpTOCNode Id="2f7157f7-f372-4b67-94df-1cf4906bc828" Title="CryptographyHelper Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Cryptography_CryptographyHelper.htm">
<HelpTOCNode Title="Decrypt Method " Url="html/M_MLAPI_NetworkingManagerComponents_Cryptography_CryptographyHelper_Decrypt.htm" />
<HelpTOCNode Title="Encrypt Method " Url="html/M_MLAPI_NetworkingManagerComponents_Cryptography_CryptographyHelper_Encrypt.htm" />
</HelpTOCNode>

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"exposes":[65537,196609,262145,327681,393217,458753,524289,589825,720897,4325377,4718593,5046273,5111809,5373953,5505025,5570561,6029313,6619137,7405569,8650753,8847361,11337729,11468801,11599873,11730945,11796481,11993089,12189697,12255233,12648449,12910593,14221313,14352385,14417921,14680065,14811137,14942209,15204353,15335425,15466497,15532033,15597569,15663105,15728641,15794177,15859713,15925249,15990785,16056321,16121857,16187393,16252929],"entered":[13828097],"estimated":[4784129,10551297,13762561,16121857],"encryptedbuffer":[10092546],"exchange":[327683,2228225,2424833,3014657,15466499],"examples":[327681,2097153,15466497],"encrypted":[327681,1703937,5570561,10813443,14221313,15466497],"events":[327681,2097153,15466497],"expected":[9633793,12124161],"enabled":[458753,589825,720897,2883585,3670017,3866625,11599873,11730945,11993089,12189697,12255233,12648449,12910593,15532033,15597570,15663105,15728641,15794177,15859714,15925250],"executing":[11599875,12255235,12320769,12648451,12779521,12845057,12910595,15532035,15597571,15859715,15925251],"extent":[327681,1966081,15466497],"equals":[4325377,4718593,5046273,5505025,6029313,6619137,7405569,8650753,8847361,11468801,14352385,14942209,15204353,15335425,15466497,15532033,15597569,15663105,15728641,15794177,15859713,15925249],"encryptedchannels":[327681,1703938,15466497],"error":[5308418],"enableproximity":[458753,589825,720897,2883586,3670018,3866626,15597569,15859713,15925249],"enable":[327683,589825,1179649,1441793,3014657,4521985,15466499,15925249],"enablesceneswitching":[327681,1441794,15466497],"emptied":[327681,2162689,15466497],"example":[655361,786433,851969,917505,983041,1048577,1114113,1179649,1245185,1310721,1376257,1441793,1507329,1572865,1638401,1703937,1769473,1835009,1900545,1966081,2031617,2097153,2162689,2228225,2293761,2359297,2424833,2490369,2555905,2621441,2686977,2752513,2818049,2883585,2949121,3014657,3080193,3145729,3211265,3276801,3342337,3407873,3473409,3538945,3604481,3670017,3735553,3801089,3866625,3932161,3997697,4063233,4128769,4194305,4259841,4390913,4456449,4521985,4587521,4653057,4849665,4915201,4980737,5177345,5242881,5439489,5636097,5701633,5767169,5832705,5898241,5963777,6094849,6160385,6225921,6291457,6356993,6422529,6488065,6553601,6684673,6750209,6815745,6881281,6946817,7012353,7077889,7143425,7208961,7274497,7340033,7471105,7536641,7602177,7667713,7733249,7798785,7864321,7929857,7995393,8060929,8126465,8192001,8257537,8323073,8388609,8454145,8519681,8585217,8716289,8781825,8912897,8978433,9043969,9109505,9175041,9240577,9306113,9371649,9437185,9502721,9568257,9633793,9699329,9764865,9830401,10027009,10092545,10223617,10289153,10354689,10420225,10485761,10551297,10616833,10682369,10747905,10813441,10944513,11075585,11141121,11206657,12058625,12124161,12320769,12386305,12451841,12517377,12779521,12845057,12976129,13041665,13172737,13303809,13369345,13500417,13565953,13697025,13893633,13959169,14024705,14090241,14221313,14286849,14483457,14548993,14614529,14745601,14876673,14942209,15007745,15073281,15138817,15204353,15269889,15335425,15400961,15466497,15532033,15597569,15663105,15728641,15794177,15859713,15925249,15990785,16056321,16121857,16187393,16252929],"encrypts":[5570561,10813441,14221313],"eventtickrate":[327681,2097154,15466497],"expectedchunkscount":[9633794,12124162],"encryption":[262145,327681,851969,1179649,9961473,14221313,15335425,15466497],"enableencryption":[327681,1179650,15466497],"encoded":[5570562,10092545,10813442,14221314],"encrypt":[5570561,10813442,14221313]}
{"exposes":[131073,196609,262145,327681,393217,458753,524289,589825,655361,720897,786433,851969,917505,1245185,5111809,5308417,5767169,5832705,5898241,6029313,6094849,6160385,6291457,6488065,6553601,6684673,6750209,7077889,7208961,7798785,7864321,8716289,11141121,11599873,15728641,16580609,17235969,17432577,17629185,17760257,17825793,17956865,18153473,18219009,18284545,18481153,18612225,18677761,18874369,19136513,19529729,19595265,19660801,19857409,19922945,20447233,20512769,20578305,20905985,21037057,22609921,22675457,22740993,22806529,22872065,22937601,23003137,23134209,23199745,23265281,23330817,23396353,23461889],"entered":[17104897],"estimated":[7143425,17039361,21626881,23396353],"encryptedbuffer":[17563650],"exchange":[262147,2490369,3276801,3670017,19595267],"examples":[262145,2555905,19595265],"encrypted":[131074,983043,7208961,19070979,19857410,20905985],"events":[262145,2555905,19595265],"expected":[17694721,19726337],"enabled":[851969,917505,1245185,4587521,5177345,5242881,17760257,17956865,18153473,18219009,18284545,18481153,18612225,22609921,22675457,22740993,22806529,22872066,22937602,23003138],"executing":[17760259,18284547,18481155,18612227,21102593,21233665,21757953,22609923,22872067,22937603,23003139],"equals":[5111809,5308417,5767170,5832705,5898241,6029313,6094849,6160385,6291457,6553601,6750209,7602178,7798785,7864321,8716289,11141121,11599873,15728641,17825793,19136513,19529729,19595265,19660801,19857409,19922945,20447233,20578305,21037058,22609921,22675457,22740993,22806529,22872065,22937601,23003137,23199745,23265281],"equal":[5767169,7471106,7602178,7667714,16580610,21037059],"error":[5570562],"enableproximity":[851969,917505,1245185,4587522,5177346,5242882,22872065,22937601,23003137],"enable":[262147,1245185,1835009,1900545,3670017,5636097,19595267,23003137],"equality":[7471105,16580609,21037057],"enablesceneswitching":[262145,1900546,19595265],"enabletimeresync":[262145,2293762,19595265],"emptied":[262145,2424833,19595265],"example":[983041,1048577,1114113,1179649,1310721,1376257,1441793,1507329,1572865,1638401,1703937,1769473,1835009,1900545,1966081,2031617,2097153,2162689,2228225,2293761,2359297,2424833,2490369,2555905,2621441,2686977,2752513,2818049,2883585,2949121,3014657,3080193,3145729,3211265,3276801,3342337,3407873,3473409,3538945,3604481,3670017,3735553,3801089,3866625,3932161,3997697,4063233,4128769,4194305,4259841,4325377,4390913,4456449,4521985,4587521,4653057,4718593,4784129,4849665,4915201,4980737,5046273,5177345,5242881,5373953,5439489,5505025,5636097,5701633,5963777,6225921,6356993,6422529,6619137,6815745,6881281,6946817,7012353,7274497,7340033,7405569,7471105,7536641,7602177,7667713,7733249,7929857,7995393,8060929,8126465,8192001,8257537,8323073,8388609,8454145,8519681,8585217,8650753,8781825,8847361,8912897,8978433,9043969,9109505,9175041,9240577,9306113,9371649,9437185,9502721,9568257,9633793,9699329,9764865,9830401,9895937,9961473,10027009,10092545,10158081,10223617,10289153,10354689,10420225,10485761,10551297,10616833,10682369,10747905,10813441,10878977,10944513,11010049,11075585,11206657,11272193,11337729,11403265,11468801,11534337,11665409,11730945,11796481,11862017,11927553,11993089,12058625,12124161,12189697,12255233,12320769,12386305,12451841,12517377,12582913,12648449,12713985,12779521,12845057,12910593,12976129,13041665,13107201,13172737,13238273,13303809,13369345,13434881,13500417,13565953,13631489,13697025,13762561,13828097,13893633,13959169,14024705,14090241,14155777,14221313,14286849,14352385,14417921,14483457,14548993,14614529,14680065,14745601,14811137,14876673,14942209,15007745,15073281,15138817,15204353,15269889,15335425,15400961,15466497,15532033,15597569,15663105,15794177,15859713,15925249,15990785,16187393,16318465,16449537,16711681,16777217,16842753,16973825,17170433,17301505,17563649,17694721,18087937,18415617,18546689,18743297,18808833,19005441,19070977,19136513,19267585,19529729,19595265,19660801,19726337,19857409,19922945,19988481,20054017,20119553,20185089,20250625,20316161,20381697,20447233,20512769,20578305,20709377,20774913,20840449,20905985,20971521,21037057,21102593,21168129,21233665,21299201,21364737,21430273,21495809,21561345,21626881,21692417,21757953,21889025,21954561,22020097,22085633,22216705,22347777,22413313,22478849,22544385,22609921,22675457,22740993,22806529,22872065,22937601,23003137,23068673,23134209,23199745,23265281,23330817,23396353,23461889],"encrypts":[7208961,19070977,20905985],"eventtickrate":[262145,2555906,19595265],"expectedchunkscount":[17694722,19726338],"editor":[393217,4325377,22740993],"encryption":[262145,524289,1835009,3080193,16515073,19595265,19922945,20905985],"enableencryption":[262145,1835010,19595265],"encoded":[7208962,17563649,19070978,20905986],"encrypt":[7208961,19070978,20905985]}

View File

@ -1 +1 @@
{"following":[65537,196609,262145,327681,393217,458753,524289,589825,720897,4325377,4718593,5046273,5111809,5373953,5505025,5570561,6029313,6619137,7405569,8650753,8847361,11337729,11468801,11599873,11730945,11796481,11993089,12189697,12255233,12648449,12910593,14221313,14352385,14417921,14680065,14811137,14942209,15204353,15335425,15466497,15532033,15597569,15663105,15728641,15794177,15859713,15925249,15990785,16056321,16121857,16187393,16252929],"frame":[327681,2097153,15466497],"flooding":[327681,2359297,15466497],"follow":[1],"fields":[65538,196610,262146,327682,393218,458754,524290,589826,720898,15204353,15335425,15466497,15532033,15597569,15663105,15728641,15859713,15925249],"field":[655362,786434,851970,917506,983042,1048578,1114114,1179650,1245186,1310722,1376258,1441794,1507330,1572866,1638402,1703938,1769474,1835010,1900546,1966082,2031618,2097154,2162690,2228226,2293762,2359298,2424834,2490370,2555906,2621442,2686978,2752514,2818050,2883586,2949122,3014658,3080194,3145730,3211266,3276802,3342338,3407874,3473410,3538946,3604482,3670018,3735554,3801090,3866626,3932162,3997698,4063234,4128770,4194306,4259842,4390914,4456450,4521986,4587522,4653058,4915202,4980738,5242882],"first":[5570562,10092545,10813441,14221314],"finalize":[4325377,4718593,5046273,5505025,6619137,7405569,8650753,8847361,11468801,14352385,14942209,15204353,15335425,15466497,15532033,15597569,15728641,15794177,15859713,15925249],"float":[2818049,2949121,3735553,4128769,4259841,4390913,4456449,4653057,4915201,4980737,5242881,10682369,13565953]}
{"false":[7471105,7602177,7667713,9175041,9240577,14548993,14680065,15269889,15400961,15859713,15990785,16842753,16973825,18415617,19988481],"following":[131073,196609,262145,327681,393217,458753,524289,589825,655361,720897,786433,851969,917505,1245185,5111809,5308417,5767169,5832705,5898241,6029313,6094849,6160385,6291457,6488065,6553601,6684673,6750209,7077889,7208961,7798785,7864321,8716289,11141121,11599873,15728641,16580609,17235969,17432577,17629185,17760257,17825793,17956865,18153473,18219009,18284545,18481153,18612225,18677761,18874369,19136513,19529729,19595265,19660801,19857409,19922945,20447233,20512769,20578305,20905985,21037057,22609921,22675457,22740993,22806529,22872065,22937601,23003137,23134209,23199745,23265281,23330817,23396353,23461889],"frame":[262145,2555905,19595265],"function":[5767169,9043969,21037057],"flooding":[262145,2686977,19595265],"follow":[1],"fields":[131074,196610,262146,327682,393218,458754,524290,589826,655362,720898,786434,851970,917506,1245186,19529729,19595265,19660801,19857409,19922945,20447233,20578305,21037057,22609921,22675457,22740993,22872065,22937601,23003137],"field":[983042,1048578,1114114,1179650,1310722,1376258,1441794,1507330,1572866,1638402,1703938,1769474,1835010,1900546,1966082,2031618,2097154,2162690,2228226,2293762,2359298,2424834,2490370,2555906,2621442,2686978,2752514,2818050,2883586,2949122,3014658,3080194,3145730,3211266,3276802,3342338,3407874,3473410,3538946,3604482,3670018,3735554,3801090,3866626,3932162,3997698,4063234,4128770,4194306,4259842,4325378,4390914,4456450,4521986,4587522,4653058,4718594,4784130,4849666,4915202,4980738,5046274,5177346,5242882,5373954,5439490,5505026,5636098,5701634,5963778,6225922,6356994,6422530,6619138,6815746,6881282,7012354],"first":[7208962,7471105,7667713,17563649,19070977,20905986],"finalize":[5111809,5308417,5832705,5898241,6029313,6094849,6160385,6291457,6553601,6750210,7864321,8716289,11141121,11599873,13172739,13762564,15728641,17825793,19136513,19529729,19595265,19660801,19791875,19857409,19922945,20447233,20578305,22609921,22740993,22806529,22872065,22937601,23003137,23199745,23265282],"float":[2621441,4521985,4653057,4915201,4980737,5373953,5505025,5701633,5963777,6356993,6619137,14090241,14483457,15466497,15859713,20971521,21299201,21364737]}

View File

@ -1 +1 @@
{"getcomponent":[6029315,6619139,7405571,8650755,8847363,11468803,14352387,15532035,15597571,15663107,15728643,15794179,15859715,15925251],"getmessageunordered":[11075587,14811137,16056321],"getmessageordered":[10485763,14811137,16056321],"getcomponentsinparent":[6029317,6619141,7405573,8650757,8847365,11468805,14352389,15532037,15597573,15663109,15728645,15794181,15859717,15925253],"getcomponentinchildren":[6029316,6619140,7405572,8650756,8847364,11468804,14352388,15532036,15597572,15663108,15728644,15794180,15859716,15925252],"great":[327681,1966081,15466497],"gethashcode":[4325377,4718593,5046273,5505025,6029313,6619137,7405569,8650753,8847361,11468801,14352385,14942209,15204353,15335425,15466497,15532033,15597569,15663105,15728641,15794177,15859713,15925249],"general":[5308417],"generic":[6488065,6684673,7143425,7274497,9633793,10354689,10485762,11075586,12124161],"getcomponentinparent":[6029314,6619138,7405570,8650754,8847362,11468802,14352386,15532034,15597570,15663106,15728642,15794178,15859714,15925250],"getinstanceid":[6029313,6619137,7405569,8650753,8847361,11468801,14352385,15532033,15597569,15663105,15728641,15794177,15859713,15925249],"gains":[5767169,8650753,8847361,11468801,14352385,15532033,15597569,15859713,15925249],"gameobject":[655362,2555906,3342338,6029313,8519681,11534337,11599873,11730945,11993089,12189697,12255233,12648449,12910593,13041666,15532033,15597569,15663107,15728641,15794177,15859713,15925249],"getparameterautosend":[9306116,11468801,15597569],"getcomponentsinchildren":[6029318,6619142,7405574,8650758,8847366,11468806,14352390,15532038,15597574,15663110,15728646,15794182,15859718,15925254],"guitext":[11599873,11730945,11993089,12189697,12255233,12648449,12910593,15532033,15597569,15663105,15728641,15794177,15859713,15925249],"given":[4784130,5111809,5373953,5570562,6029313,6094849,6225921,6356993,6619139,6881281,7077889,7471105,7864321,8126465,8323073,8585217,8650758,8847366,9437185,10092545,10158082,10551297,10682369,10813441,11468806,13041665,13107202,13762562,14221314,14352390,15532038,15597574,15663105,15728643,15859718,15925254,16121858,16187393,16252929],"getconfig":[5046273,5701636,15466497],"guielement":[11599873,11730945,11993089,12189697,12255233,12648449,12910593,15532033,15597569,15663105,15728641,15794177,15859713,15925249],"games":[327681,1900545,15466497],"guitexture":[11599873,11730945,11993089,12189697,12255233,12648449,12910593,15532033,15597569,15663105,15728641,15794177,15859713,15925249],"gettype":[4325377,4718593,5046273,5505025,6029313,6619137,7405569,8650753,8847361,11468801,14352385,14942209,15204353,15335425,15466497,15532033,15597569,15663105,15728641,15794177,15859713,15925249],"getnetworkedobject":[6356996,8650753,8847361,11468801,14352385,15532033,15597569,15859713,15925249],"getchunkedmessage":[9568258,14811137,16056321],"gets":[196610,524289,2686977,3080193,3276801,5046273,5439489,5570561,5701633,5767169,5898241,6356993,6488065,6881281,6946817,7077889,7143425,7536641,8650761,8847370,10813441,11468809,11599880,11730952,11993093,12255241,12320769,12386305,12517377,12582916,12648456,12779521,12845057,12910600,12976129,13107202,13172737,13303809,13369345,13500417,13697025,13893633,14090241,14221313,14286849,14352393,14483457,14548993,14745601,14876673,15007745,15073281,15138817,15269889,15466497,15532050,15597586,15663113,15728647,15859729,15925265],"getcomponents":[6029316,6619140,7405572,8650756,8847364,11468804,14352388,15532036,15597572,15663108,15728644,15794180,15859716,15925252]}
{"getcomponent":[7798787,7864323,8716291,11141123,11599875,15728643,17825795,22609923,22675459,22740995,22806531,22872067,22937603,23003139],"getmessageunordered":[7077889,16711683,23330817],"getmessageordered":[7077889,15794179,23330817],"getcomponentsinparent":[7798789,7864325,8716293,11141125,11599877,15728645,17825797,22609925,22675461,22740997,22806533,22872069,22937605,23003141],"getcomponentinchildren":[7798788,7864324,8716292,11141124,11599876,15728644,17825796,22609924,22675460,22740996,22806532,22872068,22937604,23003140],"gethashcode":[5111809,5308417,5767170,5832705,5898241,6029313,6094849,6160385,6291457,6553601,6750209,7798785,7864321,8716289,9043970,11141121,11599873,15728641,17825793,19136513,19529729,19595265,19660801,19857409,19922945,20447233,20578305,21037058,22609921,22675457,22740993,22806529,22872065,22937601,23003137,23199745,23265281],"general":[5570561],"getfinalizesize":[6750209,14024706,23265281],"generic":[9109505,9699329,9764865,11403265,15794178,16711682,17694721,19726337,20840449],"getcomponentinparent":[7798786,7864322,8716290,11141122,11599874,15728642,17825794,22609922,22675458,22740994,22806530,22872066,22937602,23003138],"getinstanceid":[7798785,7864321,8716289,11141121,11599873,15728641,17825793,22609921,22675457,22740993,22806529,22872065,22937601,23003137],"gains":[8454145,11141121,11599873,15728641,17825793,22609921,22872065,22937601,23003137],"getclientid":[5767169,7340034,21037057],"gameobject":[458753,3997699,4390914,7798785,9961473,15925250,16056321,17760257,17956865,18153473,18219009,18284545,18481153,18612225,19660801,22609921,22675459,22740993,22806529,22872065,22937601,23003137],"getparameterautosend":[10944516,15728641,22872065],"getcomponentsinchildren":[7798790,7864326,8716294,11141126,11599878,15728646,17825798,22609926,22675462,22740998,22806534,22872070,22937606,23003142],"guitext":[17760257,17956865,18153473,18219009,18284545,18481153,18612225,22609921,22675457,22740993,22806529,22872065,22937601,23003137],"given":[6488065,6684673,6750209,7143426,7208962,7798785,8519681,8650753,8781825,9437185,9895937,10158081,10223617,11141126,11599878,13762561,15728646,15925249,16449537,17039362,17498114,17563649,17825798,19070977,19791873,20512769,20905986,21299201,21626881,22151170,22609926,22675457,22872070,22937606,23003142,23265281,23396354,23461889],"getconfig":[5898241,7929860,19595265],"guielement":[17760257,17956865,18153473,18219009,18284545,18481153,18612225,22609921,22675457,22740993,22806529,22872065,22937601,23003137],"games":[262145,2883585,19595265],"guitexture":[17760257,17956865,18153473,18219009,18284545,18481153,18612225,22609921,22675457,22740993,22806529,22872065,22937601,23003137],"gettype":[5111809,5308417,5767169,5832705,5898241,6029313,6094849,6160385,6291457,6553601,6750209,7798785,7864321,8716289,11141121,11599873,15728641,17825793,19136513,19529729,19595265,19660801,19857409,19922945,20447233,20578305,21037057,22609921,22675457,22740993,22806529,22872065,22937601,23003137,23199745,23265281],"getnetworkedobject":[8781828,11141121,11599873,15728641,17825793,22609921,22872065,22937601,23003137],"getchunkedmessage":[7077889,18087938,23330817],"gets":[393218,3407873,4128769,5767169,5898241,6750209,7208961,7340033,7929857,8060929,8454145,8585217,8781825,9437185,9699329,9895937,10878977,11141129,11403265,11599882,11993089,14024705,15728649,17760264,17825801,17956866,18153480,18219013,18284552,18481160,18546689,18612233,18743297,19070977,19267585,19595265,20054017,20119553,20185089,20250625,20316161,20381697,20905985,21037057,21102593,21233665,21364737,21430273,21495809,21561345,21692417,21757953,21823492,21889025,22020097,22151170,22216705,22347777,22413313,22478849,22544385,22609938,22675464,22740999,22806530,22872082,22937617,23003153,23265281],"getcomponents":[7798788,7864324,8716292,11141124,11599876,15728644,17825796,22609924,22675460,22740996,22806532,22872068,22937604,23003140]}

View File

@ -1 +1 @@
{"hingejoint":[11599873,11730945,11993089,12189697,12255233,12648449,12910593,15532033,15597569,15663105,15728641,15794177,15859713,15925249],"header":[9568257],"history":[327681,2949121,15466497],"handleobjectspawning":[327681,1835010,15466497],"hosts":[11272193,15466497],"handlerid":[6291457],"hierarchy":[14221313,14942209,15204353,15335425,15466497,15532033,15597569,15663105,15728641,15794177,15859713,15925249,15990785,16056321,16121857,16187393,16252929],"hashset":[1703938],"hideflags":[11599873,11730945,11993089,12189697,12255233,12648449,12910593,15532033,15597569,15663105,15728641,15794177,15859713,15925249],"hellman":[327681,3014657,15466497],"handshake":[327681,1245185,15466497],"handler":[6225921,6291457,8650754,8847362,11468802,14352386,15532034,15597570,15859714,15925250],"hasmissingparts":[9633794,14811137,16056321],"hasduplicates":[12124162,14811137,16056321],"handle":[327681,1835009,15466497],"hook":[65537,786434,15204353],"hash":[5046275,5701633,5963781,10616835,15466499],"handlers":[5439489,6160385,6488065,6881281,6946817,7012353,7077889,7143425,7208961,7340033,7536641,8257537,8454145,8650767,8716289,8847375,9175041,9371649,9502721,10027009,11468815,11927554,12582918,13107202,13238274,14155778,14352399,15532047,15597583,15859727,15925263],"helper":[9961473,11862018,14221313,15990785,16056321],"host":[6619138,8585217,8781825,11599873,11993089,12255233,12648449,12845057,12910593,15138817,15532033,15597569,15728643,15859713,15925249]}
{"hingejoint":[17760257,17956865,18153473,18219009,18284545,18481153,18612225,22609921,22675457,22740993,22806529,22872065,22937601,23003137],"header":[18087937],"history":[262145,2621441,19595265],"handleobjectspawning":[262145,3342338,19595265],"hosts":[262145,3145729,19398657,19595266],"handlerid":[8912897],"hierarchy":[19136513,19529729,19595265,19660801,19857409,19922945,20447233,20512769,20578305,20905985,22609921,22675457,22740993,22806529,22872065,22937601,23003137,23068673,23134209,23199745,23265281,23330817,23396353,23461889],"hostid":[196610,2162691,8257538,21037058],"hookmethodname":[327681,1048578,19529729],"hideflags":[17760257,17956865,18153473,18219009,18284545,18481153,18612225,22609921,22675457,22740993,22806529,22872065,22937601,23003137],"hellman":[262145,3670017,19595265],"handshake":[262145,1769473,19595265],"handler":[8519681,8912897,11141122,11599874,15728642,17825794,22609922,22872066,22937602,23003138],"hasmissingparts":[7077889,19726338,23330817],"hasduplicates":[7077889,17694722,23330817],"handle":[262145,3342337,19595265],"hashing":[9043969],"hte":[196609,1507329,21037057],"hash":[5767169,5898243,7536645,7929857,9043971,12255235,19595267,21037057],"handlers":[8060929,9437185,9568257,9699329,9895937,10027009,10092545,10878977,11141135,11206657,11337729,11403265,11599887,11665409,11862017,11993089,12058625,12124161,12386305,12976129,15728655,16646146,17825807,17891330,18939906,21823494,22151170,22609935,22872079,22937615,23003151],"helper":[16252930,16515073,20905985,23134209,23330817],"host":[786434,3473409,3866625,7864322,8257538,9175041,11075585,11796481,17760257,18219009,18284545,18481153,18612225,19398657,20316161,20447235,21233665,22609921,22740995,22872065,22937601,23003137]}

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"key":[262145,327685,851969,2228226,2424834,3014657,5570562,10092548,10813444,14221314,15335425,15466501]}
{"keys":[393217,4325377,22740993],"key":[262149,524289,2490370,3080193,3276802,3670017,7208962,17563652,19070980,19595269,19922945,20905986],"known":[12845059,13041667,13107203,13565955,13631491,13697027,14352387,14417923,14483459,14548995,14680067,15269891,15400963,15859715,15990787,16777219,16842755,16973827,18415619,19988483]}

View File

@ -1 +1 @@
{"large":[9568258,14811137,16056321],"local":[5767169,6356993,8650754,8847362,11468802,11599873,11730945,11993089,12255233,12386305,12648449,12910593,14352386,14745601,15400961,15532035,15597571,15663105,15728641,15859715,15925251],"loose":[5898241,8650753,8847361,11468801,14352385,15532033,15597569,15859713,15925249],"library":[327681,1835009,11534337,15466497,15728641],"list":[196609,327683,1114114,1900547,1966084,2031618,3342339,6029317,6488067,6619141,6684675,7143427,7274499,7405573,8650761,8847369,9568259,9633797,10158081,10354692,10485766,10878979,11075590,11403265,11468809,11730945,11927553,12124165,12582915,12713985,13107201,13238273,13434881,13631489,13762561,13959169,14155777,14352393,14614530,14811143,15466499,15532041,15597577,15663110,15728646,15794181,15859721,15925257,16056327],"longer":[13828097],"locate":[13828097],"looking":[13828097],"link":[1],"lerp":[720897,4128769,15859713],"lag":[327681,2949121,9895937,11534337,15466497,15794177,16121857],"light":[11599873,11730945,11993089,12189697,12255233,12648449,12910593,15532033,15597569,15663105,15728641,15794177,15859713,15925249],"load":[5308417],"lagcompensationmanager":[4784130,9895937,10551298,10682370,11796483,13762562,14614530,16121860]}
{"large":[7077889,18087938,23330817],"local":[8454145,8781825,11141122,11599874,15728642,17760257,17825794,18153473,18219009,18284545,18481153,18612225,20709377,21561345,22413313,22609923,22675457,22740993,22872067,22937603,23003139],"logic":[262145,2293761,19595265],"loose":[8585217,11141121,11599873,15728641,17825793,22609921,22872065,22937601,23003137],"library":[262145,3342337,16056321,19595265,22740993],"list":[262146,1638402,2818051,2883587,2949122,3145730,3211266,7077895,7798789,7864325,8716293,9109507,9699331,9764867,11141129,11403267,11599881,15728649,15794182,16646145,16711686,16908289,17039361,17367041,17498113,17694725,17825801,17891329,18087939,18350081,18939905,19333121,19464193,19595266,19726341,19791873,20643843,20840452,21823491,21954562,22151169,22282241,22609929,22675461,22740997,22806533,22872073,22937609,23003145,23330823],"longer":[17104897],"long":[12648449,13107201,13762561,14024705,15204353,16842753],"listen":[786434,3801089,3866625,20447234],"locate":[17104897],"looking":[17104897],"link":[1],"lerp":[917505,4653057,22937601],"lag":[262145,2621441,16056321,16384001,19595265,22806529,23396353],"light":[17760257,17956865,18153473,18219009,18284545,18481153,18612225,22609921,22675457,22740993,22806529,22872065,22937601,23003137],"load":[5570561],"lagcompensationmanager":[7143426,16384001,17039362,18677763,21299202,21626882,21954562,23396356]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"ownerclientid":[11599873,11730945,12255233,12648449,12910593,13893634,14090242,15532033,15597569,15663105,15859713,15925249],"ongainedownership":[5767170,8650753,8847361,11468801,14352385,15532033,15597569,15859713,15925249],"optional":[5701633,10485762,11075586,11141121],"ownedobjects":[262145,1114114,15335425],"onserverstarted":[196609,3604482,15728641],"objects":[5111809,11141121,11796481,12058625,14614529,16121857,16187393],"onlostownership":[5898242,8650753,8847361,11468801,14352385,15532033,15597569,15859713,15925249],"ownership":[5767169,5898241,6029313,8192001,8650754,8847362,11468802,14352386,15532034,15597570,15663105,15859714,15925250],"onclientdisconnectcallback":[196609,3145730,15728641],"overrides":[8650753,11468801,14352385,15597569,15859713,15925249],"owns":[7012353,7340033,8650754,8847362,11468802,11599875,12255235,12648451,12910595,13369345,13697025,14090241,14155778,14352386,15532037,15597573,15859717,15925253],"override":[9371649,9502721,10027009,11534337,15532033],"object":[327681,524290,1835009,3080194,4325380,4718598,5046278,5111811,5505028,5767169,5898241,6029327,6356993,6619150,7012353,7340033,7405582,7602177,7864322,7995393,8192001,8257537,8650775,8716289,8847383,9240577,11141121,11272193,11403266,11468823,11534337,11599877,11730955,11927554,11993090,12058625,12189698,12255237,12386305,12517377,12648453,12910597,12976129,13041667,13172738,13303809,13500417,14155778,14221313,14352407,14483458,14745601,14942213,15007746,15204357,15335431,15466505,15532062,15597598,15663134,15728658,15794195,15859742,15925278,15990785,16056321,16121857,16187396,16252929],"order":[10354690,10485761,11075585,14811139,16056323],"original":[10485761,10747905,11075585,14680065,14811138,15990785,16056322],"obsolete":[6029313,6619137,7405569,8650753,8847361,11468801,11599889,11730961,11993105,12189713,12255249,12648465,12910609,14352385,15532050,15597586,15663122,15728658,15794194,15859730,15925266],"owned":[262145,1114113,11599873,11730945,12255233,12386305,12648449,12910593,14745601,15335425,15532033,15597569,15663105,15859713,15925249],"owner":[6029314,7602177,7864321,7995394,8257537,8650756,8716289,8847364,9240577,11403266,11468804,11730945,11927554,13893633,14352388,15532036,15597572,15663107,15859716,15925252],"overload":[6094849,6160385,6422529,6488065,6553601,6684673,6750209,6815745,6881281,6946817,7012353,7077889,7143425,7208961,7274497,7340033,7471105,7536641,7602177,7667713,7798785,7929857,8257537,8454145,8716289,9175041,9240577,9699329,10158081,10551297,10616833,10682369,10878977,10944513,11403265,11927553,12582913,12713985,13107201,13238273,13434881,13631489,13762561,14155777],"onclientconnectedcallback":[196609,3407874,15728641],"occur":[327681,2097153,15466497],"occurred":[5308417]}
{"ownerclientid":[17760257,18153473,18284545,18481153,18612225,19267586,22216706,22609921,22675457,22872065,22937601,23003137],"obj":[7602178],"ongainedownership":[8454146,11141121,11599873,15728641,17825793,22609921,22872065,22937601,23003137],"outside":[393217,4325377,22740993],"optional":[7929857,11075586,12845057,13041665,13107201,13565953,13631489,13697025,14352385,14417921,14483457,14548993,14680065,15269889,15400961,15794178,15859713,15990785,16711682,16777217,16842753,16973825,18415617,19988481,22085633],"ownedobjects":[524289,3211266,19922945],"onserverstarted":[393217,4063234,22740993],"objects":[6488065,15532033,18677761,21954561,22085633,23396353,23461889],"onlostownership":[8585218,11141121,11599873,15728641,17825793,22609921,22872065,22937601,23003137],"ownership":[7798785,8454145,8585217,9830401,11141122,11599874,15728642,17825794,22609922,22675457,22872066,22937602,23003138],"onclientdisconnectcallback":[393217,5046274,22740993],"operators":[16580610,21037057],"overrides":[5767170,11141121,15728641,17825793,21037058,22872065,22937601,23003137],"owns":[11141122,11337729,11599874,11862017,15728642,16646146,17760259,17825794,18284547,18481155,18612227,21889025,22020097,22216705,22609925,22872069,22937605,23003141],"override":[7602177,9043969,11206657,12058625,12386305,16056321,22609921],"object":[262145,3342337,5111814,5308422,5767172,5832708,5898246,6029316,6094854,6160390,6291462,6488067,6553606,6750212,7602181,7798799,7864334,8454145,8585217,8716302,8781825,9043969,9306113,9568257,9633793,9830401,10092545,10223618,10616833,11141143,11337729,11599895,11862017,15532033,15728663,15925251,16056321,16646146,17367042,17760261,17825815,17891330,17956866,18153483,18219010,18284549,18481157,18546689,18612229,18743297,19136517,19398658,19529733,19595273,19660807,19857416,19922951,20054017,20447239,20512769,20578311,20905985,21037060,21430274,21561345,22085633,22347778,22413313,22478850,22544385,22609950,22675484,22741010,22806547,22872094,22937630,23003166,23068673,23134209,23199751,23265285,23330817,23396353,23461892],"operator":[7471106,7667714],"order":[7077891,15794177,16711681,20840450,23330819],"original":[7077890,13893633,15794177,16711681,18874369,23134209,23330818],"obsolete":[7798785,7864321,8716289,11141121,11599873,15728641,17760273,17825793,17956881,18153489,18219025,18284561,18481169,18612241,22609938,22675474,22741010,22806546,22872082,22937618,23003154],"owned":[524289,3211265,17760257,18153473,18284545,18481153,18612225,19922945,21561345,22413313,22609921,22675457,22872065,22937601,23003137],"owner":[327681,1376257,7798786,9306113,9568257,9633794,10092545,10223617,10616833,11141124,11599876,15728644,17367042,17825796,17891330,18153473,19267585,19529729,22609924,22675459,22872068,22937604,23003140],"overload":[8257537,8388609,8650753,8847361,8978433,9109505,9306113,9371649,9437185,9568257,9699329,9764865,9895937,10027009,10092545,10158081,10289153,10616833,10747905,10878977,11010049,11337729,11403265,11665409,11862017,11927553,11993089,12124161,12255233,12451841,12582913,12713985,12910593,12976129,13172737,13762561,16646145,16908289,17039361,17367041,17498113,17891329,18350081,18939905,19333121,19464193,19791873,20643841,21299201,21626881,21823489,22151169,22282241],"onclientconnectedcallback":[393217,4194306,22740993],"occur":[262145,2555905,19595265],"occurred":[5570561]}

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"qostype":[1310722],"queue":[327681,2162689,15466497],"quaternion":[13041667]}
{"qostype":[1572866],"queue":[262145,2424833,19595265],"quaternion":[6881282,11075588,15925251],"qos":[131073,1572865,19857409]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"useguilayout":[11599873,11730945,11993089,12189697,12255233,12648449,12910593,15532033,15597569,15663105,15728641,15794177,15859713,15925249],"url":[13828097],"unique":[11730945,13303809,15663105],"uint":[6356993,9633793,11141121,12124161,13303809,13697025],"unityengine":[13041666],"ump":[6029316,6619140,7405572,8650756,8847364,11468804,14352388,15532036,15597572,15663108,15728644,15794180,15859716,15925252],"uint32":[6356995,9633793,11141121,12124161,13303809,13697025],"updated":[65537,786433,15204353],"user":[6094850,6160386,6422530,6488066,6553602,6684674,6750210,6815746,6881282,6946818,7012354,7077890,7143426,7208962,7274498,7340034,7471106,7536642,7602178,7667714,7798786,7929858,8257538,8454146,8716290,9175042,9240578,9699330],"used":[262145,327684,851969,1310721,1376257,1703937,1900545,6291457,11272193,11534338,11730945,12255233,13959169,14286849,15335425,15466501,15597569,15663106,15794177],"uint16":[1769473,13500417],"ushort":[1769473,13500417]}
{"uint64":[12910598,13303809,13697025,15597571,15990788,18022401,19464193,23068673],"useguilayout":[17760257,17956865,18153473,18219009,18284545,18481153,18612225,22609921,22675457,22740993,22806529,22872065,22937601,23003137],"url":[17104897],"unique":[18153473,18743297,22675457],"uint":[3735553,4194305,5046273,6881282,7340033,8388609,8650753,8781825,8912897,9109505,9371649,9437185,9633793,9699329,10223617,10878977,11403265,12713986,13041665,15007745,15138817,15400961,17694721,18743297,19267585,19726337,20119553,20709377,21626881,22020097,22085633,22216705],"ulong":[12910594,13303809,13697025,15597569,15990785],"unityengine":[11075588,15925250],"ump":[7798788,7864324,8716292,11141124,11599876,15728644,17825796,22609924,22675460,22740996,22806532,22872068,22937604,23003140],"uint32":[3735553,4194305,5046273,6881282,7143425,7340033,8388610,8650754,8781827,8912897,9109506,9371650,9437186,9633793,9699330,10223617,10878978,11141127,11403266,11599879,12713990,13041665,15007747,15138817,15400964,15728647,16908289,17039361,17498113,17694721,17825799,18022401,18743297,19267585,19464193,19726337,20119553,20643842,20709377,21037057,21626882,21823491,22020097,22085633,22151169,22216705,22609927,22872071,22937607,23003143,23068673,23396353],"updated":[327681,1048577,19529729],"unity":[393217,4325377,22740993],"user":[8650754,8847362,8978434,9109506,9306114,9371650,9437186,9568258,9699330,9764866,9895938,10027010,10092546,10158082,10289154,10616834,10747906,10878978,11010050,11337730,11403266,11665410,11862018,11993090,12124162,12451842,12582914,12976130],"using":[7864321,10682369,22740993],"udp":[786433,3801089,20447233],"uses":[262146,2293761,3145729,19595266],"used":[262147,393217,524289,1638401,2097153,2883585,3080193,4325377,8912897,15335425,16056322,18612225,19398657,19595268,19922945,21692417,22675457,22740993,22806529,22872065,23265281],"uint16":[1441793,3014657,8257538,14155777,14417921,16187395,16908289,16973828,20054017,21037057],"ushort":[1441793,3014657,8257537,14155777,14417921,16187393,16973825,20054017]}

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"warp":[720897,3997697,15859713],"web":[13828097],"wait":[327681,1245185,15466497],"write":[11534337,15532033],"warpondestinationchange":[720897,3997698,15859713],"wheter":[327686,1048577,1179649,1441793,1507329,1835009,3014657,11993090,14876673,15269889,15466502,15728642]}
{"writefloatarray":[6750209,15859717,23265281],"writeshort":[6750209,18808836,23265281],"writeintarray":[6750209,14680069,23265281],"writeuintarray":[6750209,15400965,23265281],"writedouble":[6750209,14942212,23265281],"writesbyte":[6750209,17170436,23265281],"writeuint":[6750209,15007748,23265281],"writelongarray":[6750209,16842757,23265281],"warp":[917505,7012353,22937601],"writeint":[6750209,16318468,23265281],"writebyte":[6750209,13828100,23265281],"web":[17104897],"writeulong":[6750209,15597572,23265281],"writealignbits":[6750209,14221315,23265281],"wait":[262145,1769473,19595265],"writedoublearray":[6750209,15269893,23265281],"websockets":[786434,3801091,7864321,10682369,20447234,22740993],"writestring":[6750209,20774916,23265281],"writesbytearray":[6750209,18415621,23265281],"writefloat":[6750209,15466500,23265281],"writelong":[6750209,15204356,23265281],"writeulongarray":[6750209,15990789,23265281],"writeushortarray":[6750209,16973829,23265281],"writeshortarray":[6750209,19988485,23265281],"writebool":[6750209,13500420,23265281],"writeushort":[6750209,16187396,23265281],"write":[16056321,22609921],"written":[13172737,13762561],"writes":[6750209,13762561,19791873,23265281],"writebytearray":[6750209,14548997,23265281],"warpondestinationchange":[917505,7012354,22937601],"wheter":[131073,262150,458753,589825,983041,1114113,1703937,1835009,1900545,2359297,3342337,3538945,3670017,5767169,9175041,18219010,19595270,19660801,19857409,20185089,20381697,20578305,21037057,22740994]}

View File

@ -1 +1 @@
{"xml":[327682,2228225,2424833,15466498]}
{"xml":[262146,2490369,3276801,19595266]}

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"binary":[6094849,6160385,6422529,6684673,6750209,6815745,6881281,7012353,7143425,7274497,7471105,7536641,7602177,7667713,7798785,7929857,8257537,8454145,8650760,8716289,8847368,9175041,9240577,9568258,9633794,9699329,10158081,10354690,10420226,10485763,10747910,10878978,11075587,11206660,11403265,11468808,11862018,11927553,12124162,12713985,13238273,13631489,14352392,14680067,14811137,15532040,15597576,15859720,15925256,15990790,16056323],"box":[13828097],"broadcastmessage":[6029316,6619140,7405572,8650756,8847364,11468804,14352388,15532036,15597572,15663108,15728644,15794180,15859716,15925252],"behaviour":[11599874,11730946,11993090,12189698,12255234,12648450,12910594,15532035,15597571,15663107,15728643,15794179,15859715,15925251],"buffer":[327681,1572865,5570562,6094849,6160385,6422529,6488065,6553601,6684673,6750209,6815745,6881281,6946817,7012353,7077889,7143425,7208961,7340033,7536641,7602177,7929857,8257537,8454145,8650772,8847380,10092546,10158081,10485761,10813442,10878980,11075585,11403265,11468820,11927553,12582918,12713985,13107202,13238273,13631489,14155778,14221314,14352404,14811138,15466497,15532052,15597588,15859732,15925268,16056322],"binaryserializer":[10420226,10747906,11206658,11862017,14680067,15990788],"binaryignore":[4849668,5505027,11010049,14417923,14942214],"based":[4784129,10551297,13762561,16121857],"bool":[1048577,1179649,1441793,1507329,1835009,2490369,2686977,2883585,3014657,3080193,3276801,3670017,3866625,3997697,4194305,4521985,4587521,5701633,5963777,9306113,9633793,10289153,10354689,12124161,12320769,12386305,12517377,12779521,12845057,12976129,13172737,14483457,14745601,14876673,15007745,15073281,15138817,15269889],"base":[11534337,15532033],"bytes":[5570562,9568257,10092545,10813441,14221314],"byte":[851970,1376258,2490370,5701634,5963780,6094851,6160387,6291458,6422531,6684675,6750211,6815747,6881283,7012355,7143427,7536643,7602179,7929859,8257539,8454147,8650766,8847374,9568262,9633794,10092551,10158081,10354690,10485765,10747906,10813447,10878979,11075589,11206658,11403265,11468814,11927553,12124162,12582915,12713985,13107201,13238273,13631489,14155777,14352398,14811137,15532046,15597582,15859726,15925262,16056321],"background":[196609,2686977,15728641],"boolean":[1048577,1179649,1441793,1507329,1835009,2490369,2686977,2883585,3014657,3080193,3276801,3670017,3866625,3997697,4194305,4521985,4587521,5701635,5963777,6029320,6619144,7405576,8650760,8847368,9306113,9633793,10289155,10354689,11468808,12124161,12320769,12386305,12517377,12779521,12845057,12976129,13172737,14352392,14483457,14745601,14876673,15007745,15073281,15138817,15269889,15532040,15597576,15663112,15728648,15794184,15859720,15925256]}
{"binary":[6160385,6750209,7077889,8650753,8847361,9109505,9306113,9371649,9437185,9568257,9699329,9764865,10027009,10092545,10158081,10289153,10616833,10747905,10878977,11010049,11141128,11337729,11599880,11665409,12124161,12451841,12517380,12582913,12648452,12713989,12845061,12910597,13041669,13107205,13172738,13238276,13303812,13369346,13434884,13500420,13565957,13631493,13697029,13762563,13828100,13893638,13959172,14024706,14090244,14155780,14221315,14286852,14352389,14417925,14483461,14548997,14614532,14680069,14745604,14811139,14876676,14942212,15007748,15073283,15138820,15204356,15269893,15335426,15400965,15466500,15597572,15728648,15794179,15859717,15990789,16187396,16252930,16318468,16711683,16777221,16842757,16973829,17170436,17301507,17367041,17498113,17694722,17825800,17891329,18022401,18087938,18350081,18415621,18808836,18874371,18939905,19464193,19726338,19791873,19988485,20643842,20774916,20840450,22282241,22609928,22872072,22937608,23003144,23068676,23134214,23199748,23265285,23330819],"box":[17104897],"broadcastmessage":[7798788,7864324,8716292,11141124,11599876,15728644,17825796,22609924,22675460,22740996,22806532,22872068,22937604,23003140],"behaviour":[17760258,17956866,18153474,18219010,18284546,18481154,18612226,22609923,22675459,22740995,22806531,22872067,22937603,23003139],"buffer":[262145,2228225,6750209,7077890,7208962,8650753,8847361,8978433,9109505,9306113,9371649,9437185,9568257,9699329,9895937,10027009,10747905,10878977,11010049,11141140,11337729,11403265,11599892,11665409,11862017,11993089,12976129,13762564,15728660,15794177,16646146,16711681,17367041,17498113,17563650,17825812,17891329,18350081,18939905,19070978,19595265,19791873,20643844,20905986,21823494,22151170,22282241,22609940,22872084,22937620,23003156,23265281,23330818],"binaryserializer":[13369346,13893634,14286850,16252929,18874371,23134212],"binaryignore":[5832707,7733252,17235971,19136518,19202049],"based":[7143425,17039361,21626881,23396353],"bitwriter":[6750211,13172738,13500420,13762563,13828100,14024706,14221315,14548997,14680069,14942212,15007748,15204356,15269893,15335427,15400965,15466500,15597572,15859717,15990789,16187396,16252929,16318468,16842757,16973829,17170436,17301507,18415621,18808836,19791874,19988485,20774916,23265287],"binaryhelpers":[12713989,12910597,16252929,18022402,19464194,23068676],"bool":[393217,983041,1114113,1376257,1703937,1835009,1900545,2293761,2359297,3342337,3407873,3538945,3670017,3801089,4128769,4325378,4587521,4849665,5177345,5242881,5636097,6225921,6881281,7012353,7471105,7536641,7602177,7667713,7929857,8257538,9175041,9240577,10944513,11730945,13500417,14548993,14614529,14680065,15269889,15400961,15859713,15990785,16842753,16973825,17694721,18415617,18546689,19726337,19988481,20185089,20250625,20316161,20381697,20840449,21102593,21233665,21430273,21561345,21757953,22347777,22413313,22478849,22544385,22740993],"base":[16056321,22609921],"bitreader":[6160387,12517380,12648452,12845061,13041669,13107205,13238276,13303812,13434884,13565957,13631493,13697029,13959172,14090244,14155780,14352389,14417925,14483461,14614532,14745604,14811139,14876676,15073285,15138820,16252929,16777221,23199751],"bytes":[6750209,7208962,13762561,14024706,17563649,18087937,19070977,20905986,23265281],"byte":[1507330,2097154,2162690,3080194,6750209,6881282,7077889,7536644,7929858,8257539,8650755,8847363,8912898,9109507,9306115,9371651,9437187,9568259,9699331,10027011,10747907,10878979,11010051,11141134,11337731,11599886,11665411,12517378,12845058,13172738,13762564,13828100,13893634,14286850,14548997,15073283,15728654,15794181,16646145,16711685,16908289,17367041,17498113,17563655,17694722,17825806,17891329,18087942,18350081,18939905,19070983,19726338,19791873,20643843,20840450,21037057,21823491,22151169,22282241,22609934,22872078,22937614,23003150,23265281,23330817],"background":[393217,4128769,22740993],"boolean":[983041,1114113,1376257,1703937,1835009,1900545,2293761,2359297,3342337,3407873,3538945,3670017,3801089,4128769,4325377,4587521,4849665,5177345,5242881,5636097,6225921,6881281,7012353,7471105,7536641,7602177,7667713,7798792,7864328,7929859,8257540,8716296,9175041,9240577,10944513,11141128,11599880,11730947,13500419,14548996,14614529,14680068,15269892,15400964,15728648,15859716,15990788,16842756,16908290,16973828,17694721,17825800,18415620,18546689,19726337,19988484,20185089,20250625,20316161,20381697,20840449,21037058,21102593,21233665,21430273,21561345,21757953,22347777,22413313,22478849,22544385,22609928,22675464,22741000,22806536,22872072,22937608,23003144]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,21 +0,0 @@
<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge" /><link rel="shortcut icon" href="../icons/favicon.ico" /><link rel="stylesheet" type="text/css" href="../styles/branding.css" /><link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" /><script type="text/javascript" src="../scripts/branding.js"> </script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>SyncedVar.hook Field</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="hook field" /><meta name="System.Keywords" content="SyncedVar.hook field" /><meta name="Microsoft.Help.F1" content="MLAPI.Attributes.SyncedVar.hook" /><meta name="Microsoft.Help.Id" content="F:MLAPI.Attributes.SyncedVar.hook" /><meta name="Description" content="The method name to invoke when the SyncVar get's updated." /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="MLAPI.Attributes" /><meta name="file" content="F_MLAPI_Attributes_SyncedVar_hook" /><meta name="guid" content="F_MLAPI_Attributes_SyncedVar_hook" /><link rel="stylesheet" type="text/css" href="../styles/branding-Website.css" /><script type="text/javascript" src="../scripts/jquery-1.11.0.min.js"></script><script type="text/javascript" src="../scripts/branding-Website.js"></script><script type="text/javascript" src="../scripts/clipboard.min.js"></script></head><body onload="OnLoad('cs')"><input type="hidden" id="userDataCache" class="userDataStyle" /><div class="pageHeader" id="PageHeader">MLAPI API Reference<form id="SearchForm" method="get" action="#" onsubmit="javascript:TransferToSearchPage(); return false;"><input id="SearchTextBox" type="text" maxlength="200" /><button id="SearchButton" type="submit"></button></form></div><div class="pageBody"><div class="leftNav" id="leftNav"><div id="tocNav"><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html\N_MLAPI_Attributes.htm" title="MLAPI API Reference" tocid="roottoc">MLAPI API Reference</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/N_MLAPI_Attributes.htm" title="MLAPI.Attributes" tocid="N_MLAPI_Attributes">MLAPI.Attributes</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/T_MLAPI_Attributes_SyncedVar.htm" title="SyncedVar Class" tocid="T_MLAPI_Attributes_SyncedVar">SyncedVar Class</a></div><div class="toclevel1" data-toclevel="1" data-childrenloaded="true"><a class="tocExpanded" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/Fields_T_MLAPI_Attributes_SyncedVar.htm" title="SyncedVar Fields" tocid="Fields_T_MLAPI_Attributes_SyncedVar">SyncedVar Fields</a></div><div class="toclevel2 current" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Attributes_SyncedVar_hook.htm" title="hook Field" tocid="F_MLAPI_Attributes_SyncedVar_hook">hook Field</a></div></div><div id="tocResizableEW" onmousedown="OnMouseDown(event);"></div><div id="TocResize" class="tocResize"><img id="ResizeImageIncrease" src="../icons/TocOpen.gif" onclick="OnIncreaseToc()" alt="Click or drag to resize" title="Click or drag to resize" /><img id="ResizeImageReset" src="../icons/TocClose.gif" style="display:none" onclick="OnResetToc()" alt="Click or drag to resize" title="Click or drag to resize" /></div></div><div class="topicContent" id="TopicContent"><table class="titleTable"><tr><td class="titleColumn"><h1>SyncedVar<span id="LST43A2DB5A_0"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST43A2DB5A_0?cpp=::|nu=.");</script>hook Field</h1></td><td class="logoColumn"><img width="600" src="../icons/MLAPI_Logo.png" /></td></tr></table><span class="introStyle"></span> <p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[This is preliminary documentation and is subject to change.]</p><div class="summary">
The method name to invoke when the SyncVar get's updated.
</div><p> </p>
<strong>Namespace:</strong>
 <a href="N_MLAPI_Attributes.htm">MLAPI.Attributes</a><br />
<strong>Assembly:</strong>
 MLAPI (in MLAPI.dll) Version: 1.0.0.0 (1.0.0.0)<div class="collapsibleAreaRegion"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID1RB')" onkeypress="SectionExpandCollapse_CheckKey('ID1RB', event)" tabindex="0"><img id="ID1RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />Syntax</span></div><div id="ID1RBSection" class="collapsibleSection"><div class="codeSnippetContainer"><div class="codeSnippetContainerTabs"><div id="ID0EACA_tab1" class="codeSnippetContainerTabSingle">C#</div></div><div class="codeSnippetContainerCodeContainer"><div class="codeSnippetToolBar"><div class="codeSnippetToolBarText"><a id="ID0EACA_copyCode" href="#" class="copyCodeSnippet" onclick="javascript:CopyToClipboard('ID0EACA');return false;" title="Copy">Copy</a></div></div><div id="ID0EACA_code_Div1" class="codeSnippetContainerCode" style="display: block"><pre xml:space="preserve"><span class="keyword">public</span> <span class="identifier">string</span> <span class="identifier">hook</span></pre></div></div></div><script type="text/javascript">AddLanguageTabSet("ID0EACA");</script><a id="HT_RequestExampleLink" href="https://github.com/TwoTenPvP/MLAPI/issues/new" target="_blank" class="button" title="Request an example for this topic">Request Example</a>
<script type="text/javascript">
var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
HT_requestExampleLink.href += "?title=";
else
HT_requestExampleLink.href += "?subject=MLAPI API Reference: ";
HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
</script><a target="_blank" class="button" href="https://github.com/TwoTenPvP/MLAPI/blob/master/MLAPI/Attributes/SyncedVar.cs" title="View the source code">View Source</a><h4 class="subHeading">Field Value</h4>Type: <a href="http://msdn2.microsoft.com/en-us/library/s1wwdcbf" target="_blank">String</a></div><div class="collapsibleAreaRegion" id="seeAlsoSection"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID2RB')" onkeypress="SectionExpandCollapse_CheckKey('ID2RB', event)" tabindex="0"><img id="ID2RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />See Also</span></div><div id="ID2RBSection" class="collapsibleSection"><h4 class="subHeading">Reference</h4><div class="seeAlsoStyle"><a href="T_MLAPI_Attributes_SyncedVar.htm">SyncedVar Class</a></div><div class="seeAlsoStyle"><a href="N_MLAPI_Attributes.htm">MLAPI.Attributes Namespace</a></div></div></div></div><div id="pageFooter" class="pageFooter"> </div></body></html>

View File

@ -0,0 +1,21 @@
<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge" /><link rel="shortcut icon" href="../icons/favicon.ico" /><link rel="stylesheet" type="text/css" href="../styles/branding.css" /><link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" /><script type="text/javascript" src="../scripts/branding.js"> </script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>SyncedVar.hookMethodName Field</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="hookMethodName field" /><meta name="System.Keywords" content="SyncedVar.hookMethodName field" /><meta name="Microsoft.Help.F1" content="MLAPI.Attributes.SyncedVar.hookMethodName" /><meta name="Microsoft.Help.Id" content="F:MLAPI.Attributes.SyncedVar.hookMethodName" /><meta name="Description" content="The method name to invoke when the SyncVar get's updated." /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="MLAPI.Attributes" /><meta name="file" content="F_MLAPI_Attributes_SyncedVar_hookMethodName" /><meta name="guid" content="F_MLAPI_Attributes_SyncedVar_hookMethodName" /><link rel="stylesheet" type="text/css" href="../styles/branding-Website.css" /><script type="text/javascript" src="../scripts/jquery-1.11.0.min.js"></script><script type="text/javascript" src="../scripts/branding-Website.js"></script><script type="text/javascript" src="../scripts/clipboard.min.js"></script></head><body onload="OnLoad('cs')"><input type="hidden" id="userDataCache" class="userDataStyle" /><div class="pageHeader" id="PageHeader">MLAPI API Reference<form id="SearchForm" method="get" action="#" onsubmit="javascript:TransferToSearchPage(); return false;"><input id="SearchTextBox" type="text" maxlength="200" /><button id="SearchButton" type="submit"></button></form></div><div class="pageBody"><div class="leftNav" id="leftNav"><div id="tocNav"><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html\N_MLAPI_Attributes.htm" title="MLAPI API Reference" tocid="roottoc">MLAPI API Reference</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/N_MLAPI_Attributes.htm" title="MLAPI.Attributes" tocid="N_MLAPI_Attributes">MLAPI.Attributes</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/T_MLAPI_Attributes_SyncedVar.htm" title="SyncedVar Class" tocid="T_MLAPI_Attributes_SyncedVar">SyncedVar Class</a></div><div class="toclevel1" data-toclevel="1" data-childrenloaded="true"><a class="tocExpanded" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/Fields_T_MLAPI_Attributes_SyncedVar.htm" title="SyncedVar Fields" tocid="Fields_T_MLAPI_Attributes_SyncedVar">SyncedVar Fields</a></div><div class="toclevel2 current" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Attributes_SyncedVar_hookMethodName.htm" title="hookMethodName Field" tocid="F_MLAPI_Attributes_SyncedVar_hookMethodName">hookMethodName Field</a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Attributes_SyncedVar_target.htm" title="target Field" tocid="F_MLAPI_Attributes_SyncedVar_target">target Field</a></div></div><div id="tocResizableEW" onmousedown="OnMouseDown(event);"></div><div id="TocResize" class="tocResize"><img id="ResizeImageIncrease" src="../icons/TocOpen.gif" onclick="OnIncreaseToc()" alt="Click or drag to resize" title="Click or drag to resize" /><img id="ResizeImageReset" src="../icons/TocClose.gif" style="display:none" onclick="OnResetToc()" alt="Click or drag to resize" title="Click or drag to resize" /></div></div><div class="topicContent" id="TopicContent"><table class="titleTable"><tr><td class="titleColumn"><h1>SyncedVar<span id="LST7CBFECFC_0"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST7CBFECFC_0?cpp=::|nu=.");</script>hookMethodName Field</h1></td><td class="logoColumn"><img width="600" src="../icons/MLAPI_Logo.png" /></td></tr></table><span class="introStyle"></span> <p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[This is preliminary documentation and is subject to change.]</p><div class="summary">
The method name to invoke when the SyncVar get's updated.
</div><p> </p>
<strong>Namespace:</strong>
 <a href="N_MLAPI_Attributes.htm">MLAPI.Attributes</a><br />
<strong>Assembly:</strong>
 MLAPI (in MLAPI.dll) Version: 1.0.0.0 (1.0.0.0)<div class="collapsibleAreaRegion"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID1RB')" onkeypress="SectionExpandCollapse_CheckKey('ID1RB', event)" tabindex="0"><img id="ID1RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />Syntax</span></div><div id="ID1RBSection" class="collapsibleSection"><div class="codeSnippetContainer"><div class="codeSnippetContainerTabs"><div id="ID0EACA_tab1" class="codeSnippetContainerTabSingle">C#</div></div><div class="codeSnippetContainerCodeContainer"><div class="codeSnippetToolBar"><div class="codeSnippetToolBarText"><a id="ID0EACA_copyCode" href="#" class="copyCodeSnippet" onclick="javascript:CopyToClipboard('ID0EACA');return false;" title="Copy">Copy</a></div></div><div id="ID0EACA_code_Div1" class="codeSnippetContainerCode" style="display: block"><pre xml:space="preserve"><span class="keyword">public</span> <span class="identifier">string</span> <span class="identifier">hookMethodName</span></pre></div></div></div><script type="text/javascript">AddLanguageTabSet("ID0EACA");</script><a id="HT_RequestExampleLink" href="https://github.com/TwoTenPvP/MLAPI/issues/new" target="_blank" class="button" title="Request an example for this topic">Request Example</a>
<script type="text/javascript">
var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
HT_requestExampleLink.href += "?title=";
else
HT_requestExampleLink.href += "?subject=MLAPI API Reference: ";
HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
</script><a target="_blank" class="button" href="https://github.com/TwoTenPvP/MLAPI/blob/master/MLAPI/Attributes/SyncedVar.cs" title="View the source code">View Source</a><h4 class="subHeading">Field Value</h4>Type: <a href="http://msdn2.microsoft.com/en-us/library/s1wwdcbf" target="_blank">String</a></div><div class="collapsibleAreaRegion" id="seeAlsoSection"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID2RB')" onkeypress="SectionExpandCollapse_CheckKey('ID2RB', event)" tabindex="0"><img id="ID2RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />See Also</span></div><div id="ID2RBSection" class="collapsibleSection"><h4 class="subHeading">Reference</h4><div class="seeAlsoStyle"><a href="T_MLAPI_Attributes_SyncedVar.htm">SyncedVar Class</a></div><div class="seeAlsoStyle"><a href="N_MLAPI_Attributes.htm">MLAPI.Attributes Namespace</a></div></div></div></div><div id="pageFooter" class="pageFooter"> </div></body></html>

View File

@ -0,0 +1,21 @@
<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge" /><link rel="shortcut icon" href="../icons/favicon.ico" /><link rel="stylesheet" type="text/css" href="../styles/branding.css" /><link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" /><script type="text/javascript" src="../scripts/branding.js"> </script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>SyncedVar.target Field</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="target field" /><meta name="System.Keywords" content="SyncedVar.target field" /><meta name="Microsoft.Help.F1" content="MLAPI.Attributes.SyncedVar.target" /><meta name="Microsoft.Help.Id" content="F:MLAPI.Attributes.SyncedVar.target" /><meta name="Description" content="If true, the syncedVar will only be synced to the owner." /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="MLAPI.Attributes" /><meta name="file" content="F_MLAPI_Attributes_SyncedVar_target" /><meta name="guid" content="F_MLAPI_Attributes_SyncedVar_target" /><link rel="stylesheet" type="text/css" href="../styles/branding-Website.css" /><script type="text/javascript" src="../scripts/jquery-1.11.0.min.js"></script><script type="text/javascript" src="../scripts/branding-Website.js"></script><script type="text/javascript" src="../scripts/clipboard.min.js"></script></head><body onload="OnLoad('cs')"><input type="hidden" id="userDataCache" class="userDataStyle" /><div class="pageHeader" id="PageHeader">MLAPI API Reference<form id="SearchForm" method="get" action="#" onsubmit="javascript:TransferToSearchPage(); return false;"><input id="SearchTextBox" type="text" maxlength="200" /><button id="SearchButton" type="submit"></button></form></div><div class="pageBody"><div class="leftNav" id="leftNav"><div id="tocNav"><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html\N_MLAPI_Attributes.htm" title="MLAPI API Reference" tocid="roottoc">MLAPI API Reference</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/N_MLAPI_Attributes.htm" title="MLAPI.Attributes" tocid="N_MLAPI_Attributes">MLAPI.Attributes</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/T_MLAPI_Attributes_SyncedVar.htm" title="SyncedVar Class" tocid="T_MLAPI_Attributes_SyncedVar">SyncedVar Class</a></div><div class="toclevel1" data-toclevel="1" data-childrenloaded="true"><a class="tocExpanded" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/Fields_T_MLAPI_Attributes_SyncedVar.htm" title="SyncedVar Fields" tocid="Fields_T_MLAPI_Attributes_SyncedVar">SyncedVar Fields</a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Attributes_SyncedVar_hookMethodName.htm" title="hookMethodName Field" tocid="F_MLAPI_Attributes_SyncedVar_hookMethodName">hookMethodName Field</a></div><div class="toclevel2 current" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Attributes_SyncedVar_target.htm" title="target Field" tocid="F_MLAPI_Attributes_SyncedVar_target">target Field</a></div></div><div id="tocResizableEW" onmousedown="OnMouseDown(event);"></div><div id="TocResize" class="tocResize"><img id="ResizeImageIncrease" src="../icons/TocOpen.gif" onclick="OnIncreaseToc()" alt="Click or drag to resize" title="Click or drag to resize" /><img id="ResizeImageReset" src="../icons/TocClose.gif" style="display:none" onclick="OnResetToc()" alt="Click or drag to resize" title="Click or drag to resize" /></div></div><div class="topicContent" id="TopicContent"><table class="titleTable"><tr><td class="titleColumn"><h1>SyncedVar<span id="LST39AFE3DC_0"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST39AFE3DC_0?cpp=::|nu=.");</script>target Field</h1></td><td class="logoColumn"><img width="600" src="../icons/MLAPI_Logo.png" /></td></tr></table><span class="introStyle"></span> <p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[This is preliminary documentation and is subject to change.]</p><div class="summary">
If true, the syncedVar will only be synced to the owner.
</div><p> </p>
<strong>Namespace:</strong>
 <a href="N_MLAPI_Attributes.htm">MLAPI.Attributes</a><br />
<strong>Assembly:</strong>
 MLAPI (in MLAPI.dll) Version: 1.0.0.0 (1.0.0.0)<div class="collapsibleAreaRegion"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID1RB')" onkeypress="SectionExpandCollapse_CheckKey('ID1RB', event)" tabindex="0"><img id="ID1RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />Syntax</span></div><div id="ID1RBSection" class="collapsibleSection"><div class="codeSnippetContainer"><div class="codeSnippetContainerTabs"><div id="ID0EACA_tab1" class="codeSnippetContainerTabSingle">C#</div></div><div class="codeSnippetContainerCodeContainer"><div class="codeSnippetToolBar"><div class="codeSnippetToolBarText"><a id="ID0EACA_copyCode" href="#" class="copyCodeSnippet" onclick="javascript:CopyToClipboard('ID0EACA');return false;" title="Copy">Copy</a></div></div><div id="ID0EACA_code_Div1" class="codeSnippetContainerCode" style="display: block"><pre xml:space="preserve"><span class="keyword">public</span> <span class="identifier">bool</span> <span class="identifier">target</span></pre></div></div></div><script type="text/javascript">AddLanguageTabSet("ID0EACA");</script><a id="HT_RequestExampleLink" href="https://github.com/TwoTenPvP/MLAPI/issues/new" target="_blank" class="button" title="Request an example for this topic">Request Example</a>
<script type="text/javascript">
var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
HT_requestExampleLink.href += "?title=";
else
HT_requestExampleLink.href += "?subject=MLAPI API Reference: ";
HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
</script><a target="_blank" class="button" href="https://github.com/TwoTenPvP/MLAPI/blob/master/MLAPI/Attributes/SyncedVar.cs" title="View the source code">View Source</a><h4 class="subHeading">Field Value</h4>Type: <a href="http://msdn2.microsoft.com/en-us/library/a28wyd50" target="_blank">Boolean</a></div><div class="collapsibleAreaRegion" id="seeAlsoSection"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID2RB')" onkeypress="SectionExpandCollapse_CheckKey('ID2RB', event)" tabindex="0"><img id="ID2RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />See Also</span></div><div id="ID2RBSection" class="collapsibleSection"><h4 class="subHeading">Reference</h4><div class="seeAlsoStyle"><a href="T_MLAPI_Attributes_SyncedVar.htm">SyncedVar Class</a></div><div class="seeAlsoStyle"><a href="N_MLAPI_Attributes.htm">MLAPI.Attributes Namespace</a></div></div></div></div><div id="pageFooter" class="pageFooter"> </div></body></html>

View File

@ -0,0 +1,21 @@
<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge" /><link rel="shortcut icon" href="../icons/favicon.ico" /><link rel="stylesheet" type="text/css" href="../styles/branding.css" /><link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" /><script type="text/javascript" src="../scripts/branding.js"> </script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Channel.Encrypted Field</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="Encrypted field" /><meta name="System.Keywords" content="Channel.Encrypted field" /><meta name="Microsoft.Help.F1" content="MLAPI.Data.Channel.Encrypted" /><meta name="Microsoft.Help.Id" content="F:MLAPI.Data.Channel.Encrypted" /><meta name="Description" content="Wheter or not the channel should be encrypted" /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="MLAPI.Data" /><meta name="file" content="F_MLAPI_Data_Channel_Encrypted" /><meta name="guid" content="F_MLAPI_Data_Channel_Encrypted" /><link rel="stylesheet" type="text/css" href="../styles/branding-Website.css" /><script type="text/javascript" src="../scripts/jquery-1.11.0.min.js"></script><script type="text/javascript" src="../scripts/branding-Website.js"></script><script type="text/javascript" src="../scripts/clipboard.min.js"></script></head><body onload="OnLoad('cs')"><input type="hidden" id="userDataCache" class="userDataStyle" /><div class="pageHeader" id="PageHeader">MLAPI API Reference<form id="SearchForm" method="get" action="#" onsubmit="javascript:TransferToSearchPage(); return false;"><input id="SearchTextBox" type="text" maxlength="200" /><button id="SearchButton" type="submit"></button></form></div><div class="pageBody"><div class="leftNav" id="leftNav"><div id="tocNav"><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html\N_MLAPI_Attributes.htm" title="MLAPI API Reference" tocid="roottoc">MLAPI API Reference</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/N_MLAPI_Data.htm" title="MLAPI.Data" tocid="N_MLAPI_Data">MLAPI.Data</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/T_MLAPI_Data_Channel.htm" title="Channel Class" tocid="T_MLAPI_Data_Channel">Channel Class</a></div><div class="toclevel1" data-toclevel="1" data-childrenloaded="true"><a class="tocExpanded" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/Fields_T_MLAPI_Data_Channel.htm" title="Channel Fields" tocid="Fields_T_MLAPI_Data_Channel">Channel Fields</a></div><div class="toclevel2 current" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_Channel_Encrypted.htm" title="Encrypted Field" tocid="F_MLAPI_Data_Channel_Encrypted">Encrypted Field</a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_Channel_Name.htm" title="Name Field" tocid="F_MLAPI_Data_Channel_Name">Name Field</a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_Channel_Type.htm" title="Type Field" tocid="F_MLAPI_Data_Channel_Type">Type Field</a></div></div><div id="tocResizableEW" onmousedown="OnMouseDown(event);"></div><div id="TocResize" class="tocResize"><img id="ResizeImageIncrease" src="../icons/TocOpen.gif" onclick="OnIncreaseToc()" alt="Click or drag to resize" title="Click or drag to resize" /><img id="ResizeImageReset" src="../icons/TocClose.gif" style="display:none" onclick="OnResetToc()" alt="Click or drag to resize" title="Click or drag to resize" /></div></div><div class="topicContent" id="TopicContent"><table class="titleTable"><tr><td class="titleColumn"><h1>Channel<span id="LSTA6F1F606_0"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTA6F1F606_0?cpp=::|nu=.");</script>Encrypted Field</h1></td><td class="logoColumn"><img width="600" src="../icons/MLAPI_Logo.png" /></td></tr></table><span class="introStyle"></span> <p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[This is preliminary documentation and is subject to change.]</p><div class="summary">
Wheter or not the channel should be encrypted
</div><p> </p>
<strong>Namespace:</strong>
 <a href="N_MLAPI_Data.htm">MLAPI.Data</a><br />
<strong>Assembly:</strong>
 MLAPI (in MLAPI.dll) Version: 1.0.0.0 (1.0.0.0)<div class="collapsibleAreaRegion"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID1RB')" onkeypress="SectionExpandCollapse_CheckKey('ID1RB', event)" tabindex="0"><img id="ID1RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />Syntax</span></div><div id="ID1RBSection" class="collapsibleSection"><div class="codeSnippetContainer"><div class="codeSnippetContainerTabs"><div id="ID0EACA_tab1" class="codeSnippetContainerTabSingle">C#</div></div><div class="codeSnippetContainerCodeContainer"><div class="codeSnippetToolBar"><div class="codeSnippetToolBarText"><a id="ID0EACA_copyCode" href="#" class="copyCodeSnippet" onclick="javascript:CopyToClipboard('ID0EACA');return false;" title="Copy">Copy</a></div></div><div id="ID0EACA_code_Div1" class="codeSnippetContainerCode" style="display: block"><pre xml:space="preserve"><span class="keyword">public</span> <span class="identifier">bool</span> <span class="identifier">Encrypted</span></pre></div></div></div><script type="text/javascript">AddLanguageTabSet("ID0EACA");</script><a id="HT_RequestExampleLink" href="https://github.com/TwoTenPvP/MLAPI/issues/new" target="_blank" class="button" title="Request an example for this topic">Request Example</a>
<script type="text/javascript">
var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
HT_requestExampleLink.href += "?title=";
else
HT_requestExampleLink.href += "?subject=MLAPI API Reference: ";
HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
</script><a target="_blank" class="button" href="https://github.com/TwoTenPvP/MLAPI/blob/master/MLAPI/Data/Channel.cs" title="View the source code">View Source</a><h4 class="subHeading">Field Value</h4>Type: <a href="http://msdn2.microsoft.com/en-us/library/a28wyd50" target="_blank">Boolean</a></div><div class="collapsibleAreaRegion" id="seeAlsoSection"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID2RB')" onkeypress="SectionExpandCollapse_CheckKey('ID2RB', event)" tabindex="0"><img id="ID2RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />See Also</span></div><div id="ID2RBSection" class="collapsibleSection"><h4 class="subHeading">Reference</h4><div class="seeAlsoStyle"><a href="T_MLAPI_Data_Channel.htm">Channel Class</a></div><div class="seeAlsoStyle"><a href="N_MLAPI_Data.htm">MLAPI.Data Namespace</a></div></div></div></div><div id="pageFooter" class="pageFooter"> </div></body></html>

View File

@ -0,0 +1,21 @@
<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge" /><link rel="shortcut icon" href="../icons/favicon.ico" /><link rel="stylesheet" type="text/css" href="../styles/branding.css" /><link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" /><script type="text/javascript" src="../scripts/branding.js"> </script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Channel.Name Field</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="Name field" /><meta name="System.Keywords" content="Channel.Name field" /><meta name="Microsoft.Help.F1" content="MLAPI.Data.Channel.Name" /><meta name="Microsoft.Help.Id" content="F:MLAPI.Data.Channel.Name" /><meta name="Description" content="The name of the channel" /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="MLAPI.Data" /><meta name="file" content="F_MLAPI_Data_Channel_Name" /><meta name="guid" content="F_MLAPI_Data_Channel_Name" /><link rel="stylesheet" type="text/css" href="../styles/branding-Website.css" /><script type="text/javascript" src="../scripts/jquery-1.11.0.min.js"></script><script type="text/javascript" src="../scripts/branding-Website.js"></script><script type="text/javascript" src="../scripts/clipboard.min.js"></script></head><body onload="OnLoad('cs')"><input type="hidden" id="userDataCache" class="userDataStyle" /><div class="pageHeader" id="PageHeader">MLAPI API Reference<form id="SearchForm" method="get" action="#" onsubmit="javascript:TransferToSearchPage(); return false;"><input id="SearchTextBox" type="text" maxlength="200" /><button id="SearchButton" type="submit"></button></form></div><div class="pageBody"><div class="leftNav" id="leftNav"><div id="tocNav"><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html\N_MLAPI_Attributes.htm" title="MLAPI API Reference" tocid="roottoc">MLAPI API Reference</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/N_MLAPI_Data.htm" title="MLAPI.Data" tocid="N_MLAPI_Data">MLAPI.Data</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/T_MLAPI_Data_Channel.htm" title="Channel Class" tocid="T_MLAPI_Data_Channel">Channel Class</a></div><div class="toclevel1" data-toclevel="1" data-childrenloaded="true"><a class="tocExpanded" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/Fields_T_MLAPI_Data_Channel.htm" title="Channel Fields" tocid="Fields_T_MLAPI_Data_Channel">Channel Fields</a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_Channel_Encrypted.htm" title="Encrypted Field" tocid="F_MLAPI_Data_Channel_Encrypted">Encrypted Field</a></div><div class="toclevel2 current" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_Channel_Name.htm" title="Name Field" tocid="F_MLAPI_Data_Channel_Name">Name Field</a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_Channel_Type.htm" title="Type Field" tocid="F_MLAPI_Data_Channel_Type">Type Field</a></div></div><div id="tocResizableEW" onmousedown="OnMouseDown(event);"></div><div id="TocResize" class="tocResize"><img id="ResizeImageIncrease" src="../icons/TocOpen.gif" onclick="OnIncreaseToc()" alt="Click or drag to resize" title="Click or drag to resize" /><img id="ResizeImageReset" src="../icons/TocClose.gif" style="display:none" onclick="OnResetToc()" alt="Click or drag to resize" title="Click or drag to resize" /></div></div><div class="topicContent" id="TopicContent"><table class="titleTable"><tr><td class="titleColumn"><h1>Channel<span id="LSTFA36A177_0"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTFA36A177_0?cpp=::|nu=.");</script>Name Field</h1></td><td class="logoColumn"><img width="600" src="../icons/MLAPI_Logo.png" /></td></tr></table><span class="introStyle"></span> <p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[This is preliminary documentation and is subject to change.]</p><div class="summary">
The name of the channel
</div><p> </p>
<strong>Namespace:</strong>
 <a href="N_MLAPI_Data.htm">MLAPI.Data</a><br />
<strong>Assembly:</strong>
 MLAPI (in MLAPI.dll) Version: 1.0.0.0 (1.0.0.0)<div class="collapsibleAreaRegion"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID1RB')" onkeypress="SectionExpandCollapse_CheckKey('ID1RB', event)" tabindex="0"><img id="ID1RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />Syntax</span></div><div id="ID1RBSection" class="collapsibleSection"><div class="codeSnippetContainer"><div class="codeSnippetContainerTabs"><div id="ID0EACA_tab1" class="codeSnippetContainerTabSingle">C#</div></div><div class="codeSnippetContainerCodeContainer"><div class="codeSnippetToolBar"><div class="codeSnippetToolBarText"><a id="ID0EACA_copyCode" href="#" class="copyCodeSnippet" onclick="javascript:CopyToClipboard('ID0EACA');return false;" title="Copy">Copy</a></div></div><div id="ID0EACA_code_Div1" class="codeSnippetContainerCode" style="display: block"><pre xml:space="preserve"><span class="keyword">public</span> <span class="identifier">string</span> <span class="identifier">Name</span></pre></div></div></div><script type="text/javascript">AddLanguageTabSet("ID0EACA");</script><a id="HT_RequestExampleLink" href="https://github.com/TwoTenPvP/MLAPI/issues/new" target="_blank" class="button" title="Request an example for this topic">Request Example</a>
<script type="text/javascript">
var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
HT_requestExampleLink.href += "?title=";
else
HT_requestExampleLink.href += "?subject=MLAPI API Reference: ";
HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
</script><a target="_blank" class="button" href="https://github.com/TwoTenPvP/MLAPI/blob/master/MLAPI/Data/Channel.cs" title="View the source code">View Source</a><h4 class="subHeading">Field Value</h4>Type: <a href="http://msdn2.microsoft.com/en-us/library/s1wwdcbf" target="_blank">String</a></div><div class="collapsibleAreaRegion" id="seeAlsoSection"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID2RB')" onkeypress="SectionExpandCollapse_CheckKey('ID2RB', event)" tabindex="0"><img id="ID2RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />See Also</span></div><div id="ID2RBSection" class="collapsibleSection"><h4 class="subHeading">Reference</h4><div class="seeAlsoStyle"><a href="T_MLAPI_Data_Channel.htm">Channel Class</a></div><div class="seeAlsoStyle"><a href="N_MLAPI_Data.htm">MLAPI.Data Namespace</a></div></div></div></div><div id="pageFooter" class="pageFooter"> </div></body></html>

View File

@ -0,0 +1,21 @@
<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge" /><link rel="shortcut icon" href="../icons/favicon.ico" /><link rel="stylesheet" type="text/css" href="../styles/branding.css" /><link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" /><script type="text/javascript" src="../scripts/branding.js"> </script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Channel.Type Field</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="Type field" /><meta name="System.Keywords" content="Channel.Type field" /><meta name="Microsoft.Help.F1" content="MLAPI.Data.Channel.Type" /><meta name="Microsoft.Help.Id" content="F:MLAPI.Data.Channel.Type" /><meta name="Description" content="The Transport QOS type" /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="MLAPI.Data" /><meta name="file" content="F_MLAPI_Data_Channel_Type" /><meta name="guid" content="F_MLAPI_Data_Channel_Type" /><link rel="stylesheet" type="text/css" href="../styles/branding-Website.css" /><script type="text/javascript" src="../scripts/jquery-1.11.0.min.js"></script><script type="text/javascript" src="../scripts/branding-Website.js"></script><script type="text/javascript" src="../scripts/clipboard.min.js"></script></head><body onload="OnLoad('cs')"><input type="hidden" id="userDataCache" class="userDataStyle" /><div class="pageHeader" id="PageHeader">MLAPI API Reference<form id="SearchForm" method="get" action="#" onsubmit="javascript:TransferToSearchPage(); return false;"><input id="SearchTextBox" type="text" maxlength="200" /><button id="SearchButton" type="submit"></button></form></div><div class="pageBody"><div class="leftNav" id="leftNav"><div id="tocNav"><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html\N_MLAPI_Attributes.htm" title="MLAPI API Reference" tocid="roottoc">MLAPI API Reference</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/N_MLAPI_Data.htm" title="MLAPI.Data" tocid="N_MLAPI_Data">MLAPI.Data</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/T_MLAPI_Data_Channel.htm" title="Channel Class" tocid="T_MLAPI_Data_Channel">Channel Class</a></div><div class="toclevel1" data-toclevel="1" data-childrenloaded="true"><a class="tocExpanded" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/Fields_T_MLAPI_Data_Channel.htm" title="Channel Fields" tocid="Fields_T_MLAPI_Data_Channel">Channel Fields</a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_Channel_Encrypted.htm" title="Encrypted Field" tocid="F_MLAPI_Data_Channel_Encrypted">Encrypted Field</a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_Channel_Name.htm" title="Name Field" tocid="F_MLAPI_Data_Channel_Name">Name Field</a></div><div class="toclevel2 current" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_Channel_Type.htm" title="Type Field" tocid="F_MLAPI_Data_Channel_Type">Type Field</a></div></div><div id="tocResizableEW" onmousedown="OnMouseDown(event);"></div><div id="TocResize" class="tocResize"><img id="ResizeImageIncrease" src="../icons/TocOpen.gif" onclick="OnIncreaseToc()" alt="Click or drag to resize" title="Click or drag to resize" /><img id="ResizeImageReset" src="../icons/TocClose.gif" style="display:none" onclick="OnResetToc()" alt="Click or drag to resize" title="Click or drag to resize" /></div></div><div class="topicContent" id="TopicContent"><table class="titleTable"><tr><td class="titleColumn"><h1>Channel<span id="LST2EB58AB6_0"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST2EB58AB6_0?cpp=::|nu=.");</script>Type Field</h1></td><td class="logoColumn"><img width="600" src="../icons/MLAPI_Logo.png" /></td></tr></table><span class="introStyle"></span> <p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[This is preliminary documentation and is subject to change.]</p><div class="summary">
The Transport QOS type
</div><p> </p>
<strong>Namespace:</strong>
 <a href="N_MLAPI_Data.htm">MLAPI.Data</a><br />
<strong>Assembly:</strong>
 MLAPI (in MLAPI.dll) Version: 1.0.0.0 (1.0.0.0)<div class="collapsibleAreaRegion"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID1RB')" onkeypress="SectionExpandCollapse_CheckKey('ID1RB', event)" tabindex="0"><img id="ID1RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />Syntax</span></div><div id="ID1RBSection" class="collapsibleSection"><div class="codeSnippetContainer"><div class="codeSnippetContainerTabs"><div id="ID0EACA_tab1" class="codeSnippetContainerTabSingle">C#</div></div><div class="codeSnippetContainerCodeContainer"><div class="codeSnippetToolBar"><div class="codeSnippetToolBarText"><a id="ID0EACA_copyCode" href="#" class="copyCodeSnippet" onclick="javascript:CopyToClipboard('ID0EACA');return false;" title="Copy">Copy</a></div></div><div id="ID0EACA_code_Div1" class="codeSnippetContainerCode" style="display: block"><pre xml:space="preserve"><span class="keyword">public</span> <span class="identifier">QosType</span> <span class="identifier">Type</span></pre></div></div></div><script type="text/javascript">AddLanguageTabSet("ID0EACA");</script><a id="HT_RequestExampleLink" href="https://github.com/TwoTenPvP/MLAPI/issues/new" target="_blank" class="button" title="Request an example for this topic">Request Example</a>
<script type="text/javascript">
var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
HT_requestExampleLink.href += "?title=";
else
HT_requestExampleLink.href += "?subject=MLAPI API Reference: ";
HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
</script><a target="_blank" class="button" href="https://github.com/TwoTenPvP/MLAPI/blob/master/MLAPI/Data/Channel.cs" title="View the source code">View Source</a><h4 class="subHeading">Field Value</h4>Type: <span class="nolink">QosType</span></div><div class="collapsibleAreaRegion" id="seeAlsoSection"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID2RB')" onkeypress="SectionExpandCollapse_CheckKey('ID2RB', event)" tabindex="0"><img id="ID2RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />See Also</span></div><div id="ID2RBSection" class="collapsibleSection"><h4 class="subHeading">Reference</h4><div class="seeAlsoStyle"><a href="T_MLAPI_Data_Channel.htm">Channel Class</a></div><div class="seeAlsoStyle"><a href="N_MLAPI_Data.htm">MLAPI.Data Namespace</a></div></div></div></div><div id="pageFooter" class="pageFooter"> </div></body></html>

View File

@ -0,0 +1,21 @@
<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge" /><link rel="shortcut icon" href="../icons/favicon.ico" /><link rel="stylesheet" type="text/css" href="../styles/branding.css" /><link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" /><script type="text/javascript" src="../scripts/branding.js"> </script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>MessageType.Name Field</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="Name field" /><meta name="System.Keywords" content="MessageType.Name field" /><meta name="Microsoft.Help.F1" content="MLAPI.Data.MessageType.Name" /><meta name="Microsoft.Help.Id" content="F:MLAPI.Data.MessageType.Name" /><meta name="Description" content="The name of the messageType" /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="MLAPI.Data" /><meta name="file" content="F_MLAPI_Data_MessageType_Name" /><meta name="guid" content="F_MLAPI_Data_MessageType_Name" /><link rel="stylesheet" type="text/css" href="../styles/branding-Website.css" /><script type="text/javascript" src="../scripts/jquery-1.11.0.min.js"></script><script type="text/javascript" src="../scripts/branding-Website.js"></script><script type="text/javascript" src="../scripts/clipboard.min.js"></script></head><body onload="OnLoad('cs')"><input type="hidden" id="userDataCache" class="userDataStyle" /><div class="pageHeader" id="PageHeader">MLAPI API Reference<form id="SearchForm" method="get" action="#" onsubmit="javascript:TransferToSearchPage(); return false;"><input id="SearchTextBox" type="text" maxlength="200" /><button id="SearchButton" type="submit"></button></form></div><div class="pageBody"><div class="leftNav" id="leftNav"><div id="tocNav"><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html\N_MLAPI_Attributes.htm" title="MLAPI API Reference" tocid="roottoc">MLAPI API Reference</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/N_MLAPI_Data.htm" title="MLAPI.Data" tocid="N_MLAPI_Data">MLAPI.Data</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/T_MLAPI_Data_MessageType.htm" title="MessageType Class" tocid="T_MLAPI_Data_MessageType">MessageType Class</a></div><div class="toclevel1" data-toclevel="1" data-childrenloaded="true"><a class="tocExpanded" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/Fields_T_MLAPI_Data_MessageType.htm" title="MessageType Fields" tocid="Fields_T_MLAPI_Data_MessageType">MessageType Fields</a></div><div class="toclevel2 current" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_MessageType_Name.htm" title="Name Field" tocid="F_MLAPI_Data_MessageType_Name">Name Field</a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_MessageType_Passthrough.htm" title="Passthrough Field" tocid="F_MLAPI_Data_MessageType_Passthrough">Passthrough Field</a></div></div><div id="tocResizableEW" onmousedown="OnMouseDown(event);"></div><div id="TocResize" class="tocResize"><img id="ResizeImageIncrease" src="../icons/TocOpen.gif" onclick="OnIncreaseToc()" alt="Click or drag to resize" title="Click or drag to resize" /><img id="ResizeImageReset" src="../icons/TocClose.gif" style="display:none" onclick="OnResetToc()" alt="Click or drag to resize" title="Click or drag to resize" /></div></div><div class="topicContent" id="TopicContent"><table class="titleTable"><tr><td class="titleColumn"><h1>MessageType<span id="LSTBFA85D4F_0"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTBFA85D4F_0?cpp=::|nu=.");</script>Name Field</h1></td><td class="logoColumn"><img width="600" src="../icons/MLAPI_Logo.png" /></td></tr></table><span class="introStyle"></span> <p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[This is preliminary documentation and is subject to change.]</p><div class="summary">
The name of the messageType
</div><p> </p>
<strong>Namespace:</strong>
 <a href="N_MLAPI_Data.htm">MLAPI.Data</a><br />
<strong>Assembly:</strong>
 MLAPI (in MLAPI.dll) Version: 1.0.0.0 (1.0.0.0)<div class="collapsibleAreaRegion"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID1RB')" onkeypress="SectionExpandCollapse_CheckKey('ID1RB', event)" tabindex="0"><img id="ID1RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />Syntax</span></div><div id="ID1RBSection" class="collapsibleSection"><div class="codeSnippetContainer"><div class="codeSnippetContainerTabs"><div id="ID0EACA_tab1" class="codeSnippetContainerTabSingle">C#</div></div><div class="codeSnippetContainerCodeContainer"><div class="codeSnippetToolBar"><div class="codeSnippetToolBarText"><a id="ID0EACA_copyCode" href="#" class="copyCodeSnippet" onclick="javascript:CopyToClipboard('ID0EACA');return false;" title="Copy">Copy</a></div></div><div id="ID0EACA_code_Div1" class="codeSnippetContainerCode" style="display: block"><pre xml:space="preserve"><span class="keyword">public</span> <span class="identifier">string</span> <span class="identifier">Name</span></pre></div></div></div><script type="text/javascript">AddLanguageTabSet("ID0EACA");</script><a id="HT_RequestExampleLink" href="https://github.com/TwoTenPvP/MLAPI/issues/new" target="_blank" class="button" title="Request an example for this topic">Request Example</a>
<script type="text/javascript">
var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
HT_requestExampleLink.href += "?title=";
else
HT_requestExampleLink.href += "?subject=MLAPI API Reference: ";
HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
</script><a target="_blank" class="button" href="https://github.com/TwoTenPvP/MLAPI/blob/master/MLAPI/Data/MessageType.cs" title="View the source code">View Source</a><h4 class="subHeading">Field Value</h4>Type: <a href="http://msdn2.microsoft.com/en-us/library/s1wwdcbf" target="_blank">String</a></div><div class="collapsibleAreaRegion" id="seeAlsoSection"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID2RB')" onkeypress="SectionExpandCollapse_CheckKey('ID2RB', event)" tabindex="0"><img id="ID2RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />See Also</span></div><div id="ID2RBSection" class="collapsibleSection"><h4 class="subHeading">Reference</h4><div class="seeAlsoStyle"><a href="T_MLAPI_Data_MessageType.htm">MessageType Class</a></div><div class="seeAlsoStyle"><a href="N_MLAPI_Data.htm">MLAPI.Data Namespace</a></div></div></div></div><div id="pageFooter" class="pageFooter"> </div></body></html>

View File

@ -0,0 +1,21 @@
<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge" /><link rel="shortcut icon" href="../icons/favicon.ico" /><link rel="stylesheet" type="text/css" href="../styles/branding.css" /><link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" /><script type="text/javascript" src="../scripts/branding.js"> </script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>MessageType.Passthrough Field</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="Passthrough field" /><meta name="System.Keywords" content="MessageType.Passthrough field" /><meta name="Microsoft.Help.F1" content="MLAPI.Data.MessageType.Passthrough" /><meta name="Microsoft.Help.Id" content="F:MLAPI.Data.MessageType.Passthrough" /><meta name="Description" content="Wheter or not the channel should have passthrough support." /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="MLAPI.Data" /><meta name="file" content="F_MLAPI_Data_MessageType_Passthrough" /><meta name="guid" content="F_MLAPI_Data_MessageType_Passthrough" /><link rel="stylesheet" type="text/css" href="../styles/branding-Website.css" /><script type="text/javascript" src="../scripts/jquery-1.11.0.min.js"></script><script type="text/javascript" src="../scripts/branding-Website.js"></script><script type="text/javascript" src="../scripts/clipboard.min.js"></script></head><body onload="OnLoad('cs')"><input type="hidden" id="userDataCache" class="userDataStyle" /><div class="pageHeader" id="PageHeader">MLAPI API Reference<form id="SearchForm" method="get" action="#" onsubmit="javascript:TransferToSearchPage(); return false;"><input id="SearchTextBox" type="text" maxlength="200" /><button id="SearchButton" type="submit"></button></form></div><div class="pageBody"><div class="leftNav" id="leftNav"><div id="tocNav"><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html\N_MLAPI_Attributes.htm" title="MLAPI API Reference" tocid="roottoc">MLAPI API Reference</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/N_MLAPI_Data.htm" title="MLAPI.Data" tocid="N_MLAPI_Data">MLAPI.Data</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/T_MLAPI_Data_MessageType.htm" title="MessageType Class" tocid="T_MLAPI_Data_MessageType">MessageType Class</a></div><div class="toclevel1" data-toclevel="1" data-childrenloaded="true"><a class="tocExpanded" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/Fields_T_MLAPI_Data_MessageType.htm" title="MessageType Fields" tocid="Fields_T_MLAPI_Data_MessageType">MessageType Fields</a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_MessageType_Name.htm" title="Name Field" tocid="F_MLAPI_Data_MessageType_Name">Name Field</a></div><div class="toclevel2 current" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_MessageType_Passthrough.htm" title="Passthrough Field" tocid="F_MLAPI_Data_MessageType_Passthrough">Passthrough Field</a></div></div><div id="tocResizableEW" onmousedown="OnMouseDown(event);"></div><div id="TocResize" class="tocResize"><img id="ResizeImageIncrease" src="../icons/TocOpen.gif" onclick="OnIncreaseToc()" alt="Click or drag to resize" title="Click or drag to resize" /><img id="ResizeImageReset" src="../icons/TocClose.gif" style="display:none" onclick="OnResetToc()" alt="Click or drag to resize" title="Click or drag to resize" /></div></div><div class="topicContent" id="TopicContent"><table class="titleTable"><tr><td class="titleColumn"><h1>MessageType<span id="LST48571BB0_0"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST48571BB0_0?cpp=::|nu=.");</script>Passthrough Field</h1></td><td class="logoColumn"><img width="600" src="../icons/MLAPI_Logo.png" /></td></tr></table><span class="introStyle"></span> <p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[This is preliminary documentation and is subject to change.]</p><div class="summary">
Wheter or not the channel should have passthrough support.
</div><p> </p>
<strong>Namespace:</strong>
 <a href="N_MLAPI_Data.htm">MLAPI.Data</a><br />
<strong>Assembly:</strong>
 MLAPI (in MLAPI.dll) Version: 1.0.0.0 (1.0.0.0)<div class="collapsibleAreaRegion"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID1RB')" onkeypress="SectionExpandCollapse_CheckKey('ID1RB', event)" tabindex="0"><img id="ID1RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />Syntax</span></div><div id="ID1RBSection" class="collapsibleSection"><div class="codeSnippetContainer"><div class="codeSnippetContainerTabs"><div id="ID0EACA_tab1" class="codeSnippetContainerTabSingle">C#</div></div><div class="codeSnippetContainerCodeContainer"><div class="codeSnippetToolBar"><div class="codeSnippetToolBarText"><a id="ID0EACA_copyCode" href="#" class="copyCodeSnippet" onclick="javascript:CopyToClipboard('ID0EACA');return false;" title="Copy">Copy</a></div></div><div id="ID0EACA_code_Div1" class="codeSnippetContainerCode" style="display: block"><pre xml:space="preserve"><span class="keyword">public</span> <span class="identifier">bool</span> <span class="identifier">Passthrough</span></pre></div></div></div><script type="text/javascript">AddLanguageTabSet("ID0EACA");</script><a id="HT_RequestExampleLink" href="https://github.com/TwoTenPvP/MLAPI/issues/new" target="_blank" class="button" title="Request an example for this topic">Request Example</a>
<script type="text/javascript">
var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
HT_requestExampleLink.href += "?title=";
else
HT_requestExampleLink.href += "?subject=MLAPI API Reference: ";
HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
</script><a target="_blank" class="button" href="https://github.com/TwoTenPvP/MLAPI/blob/master/MLAPI/Data/MessageType.cs" title="View the source code">View Source</a><h4 class="subHeading">Field Value</h4>Type: <a href="http://msdn2.microsoft.com/en-us/library/a28wyd50" target="_blank">Boolean</a></div><div class="collapsibleAreaRegion" id="seeAlsoSection"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID2RB')" onkeypress="SectionExpandCollapse_CheckKey('ID2RB', event)" tabindex="0"><img id="ID2RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />See Also</span></div><div id="ID2RBSection" class="collapsibleSection"><h4 class="subHeading">Reference</h4><div class="seeAlsoStyle"><a href="T_MLAPI_Data_MessageType.htm">MessageType Class</a></div><div class="seeAlsoStyle"><a href="N_MLAPI_Data.htm">MLAPI.Data Namespace</a></div></div></div></div><div id="pageFooter" class="pageFooter"> </div></body></html>

View File

@ -0,0 +1,21 @@
<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge" /><link rel="shortcut icon" href="../icons/favicon.ico" /><link rel="stylesheet" type="text/css" href="../styles/branding.css" /><link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" /><script type="text/javascript" src="../scripts/branding.js"> </script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>NetId.ConnectionId Field</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="ConnectionId field" /><meta name="System.Keywords" content="NetId.ConnectionId field" /><meta name="Microsoft.Help.F1" content="MLAPI.Data.NetId.ConnectionId" /><meta name="Microsoft.Help.Id" content="F:MLAPI.Data.NetId.ConnectionId" /><meta name="Description" content="The connectionId this client is assigned" /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="MLAPI.Data" /><meta name="file" content="F_MLAPI_Data_NetId_ConnectionId" /><meta name="guid" content="F_MLAPI_Data_NetId_ConnectionId" /><link rel="stylesheet" type="text/css" href="../styles/branding-Website.css" /><script type="text/javascript" src="../scripts/jquery-1.11.0.min.js"></script><script type="text/javascript" src="../scripts/branding-Website.js"></script><script type="text/javascript" src="../scripts/clipboard.min.js"></script></head><body onload="OnLoad('cs')"><input type="hidden" id="userDataCache" class="userDataStyle" /><div class="pageHeader" id="PageHeader">MLAPI API Reference<form id="SearchForm" method="get" action="#" onsubmit="javascript:TransferToSearchPage(); return false;"><input id="SearchTextBox" type="text" maxlength="200" /><button id="SearchButton" type="submit"></button></form></div><div class="pageBody"><div class="leftNav" id="leftNav"><div id="tocNav"><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html\N_MLAPI_Attributes.htm" title="MLAPI API Reference" tocid="roottoc">MLAPI API Reference</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/N_MLAPI_Data.htm" title="MLAPI.Data" tocid="N_MLAPI_Data">MLAPI.Data</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/T_MLAPI_Data_NetId.htm" title="NetId Structure" tocid="T_MLAPI_Data_NetId">NetId Structure</a></div><div class="toclevel1" data-toclevel="1" data-childrenloaded="true"><a class="tocExpanded" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/Fields_T_MLAPI_Data_NetId.htm" title="NetId Fields" tocid="Fields_T_MLAPI_Data_NetId">NetId Fields</a></div><div class="toclevel2 current" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_NetId_ConnectionId.htm" title="ConnectionId Field" tocid="F_MLAPI_Data_NetId_ConnectionId">ConnectionId Field</a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_NetId_HostId.htm" title="HostId Field" tocid="F_MLAPI_Data_NetId_HostId">HostId Field</a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_NetId_Meta.htm" title="Meta Field" tocid="F_MLAPI_Data_NetId_Meta">Meta Field</a></div></div><div id="tocResizableEW" onmousedown="OnMouseDown(event);"></div><div id="TocResize" class="tocResize"><img id="ResizeImageIncrease" src="../icons/TocOpen.gif" onclick="OnIncreaseToc()" alt="Click or drag to resize" title="Click or drag to resize" /><img id="ResizeImageReset" src="../icons/TocClose.gif" style="display:none" onclick="OnResetToc()" alt="Click or drag to resize" title="Click or drag to resize" /></div></div><div class="topicContent" id="TopicContent"><table class="titleTable"><tr><td class="titleColumn"><h1>NetId<span id="LSTE2602548_0"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTE2602548_0?cpp=::|nu=.");</script>ConnectionId Field</h1></td><td class="logoColumn"><img width="600" src="../icons/MLAPI_Logo.png" /></td></tr></table><span class="introStyle"></span> <p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[This is preliminary documentation and is subject to change.]</p><div class="summary">
The connectionId this client is assigned
</div><p> </p>
<strong>Namespace:</strong>
 <a href="N_MLAPI_Data.htm">MLAPI.Data</a><br />
<strong>Assembly:</strong>
 MLAPI (in MLAPI.dll) Version: 1.0.0.0 (1.0.0.0)<div class="collapsibleAreaRegion"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID1RB')" onkeypress="SectionExpandCollapse_CheckKey('ID1RB', event)" tabindex="0"><img id="ID1RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />Syntax</span></div><div id="ID1RBSection" class="collapsibleSection"><div class="codeSnippetContainer"><div class="codeSnippetContainerTabs"><div id="ID0EACA_tab1" class="codeSnippetContainerTabSingle">C#</div></div><div class="codeSnippetContainerCodeContainer"><div class="codeSnippetToolBar"><div class="codeSnippetToolBarText"><a id="ID0EACA_copyCode" href="#" class="copyCodeSnippet" onclick="javascript:CopyToClipboard('ID0EACA');return false;" title="Copy">Copy</a></div></div><div id="ID0EACA_code_Div1" class="codeSnippetContainerCode" style="display: block"><pre xml:space="preserve"><span class="keyword">public</span> <span class="identifier">ushort</span> <span class="identifier">ConnectionId</span></pre></div></div></div><script type="text/javascript">AddLanguageTabSet("ID0EACA");</script><a id="HT_RequestExampleLink" href="https://github.com/TwoTenPvP/MLAPI/issues/new" target="_blank" class="button" title="Request an example for this topic">Request Example</a>
<script type="text/javascript">
var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
HT_requestExampleLink.href += "?title=";
else
HT_requestExampleLink.href += "?subject=MLAPI API Reference: ";
HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
</script><a target="_blank" class="button" href="https://github.com/TwoTenPvP/MLAPI/blob/master/MLAPI/Data/NetId.cs" title="View the source code">View Source</a><h4 class="subHeading">Field Value</h4>Type: <a href="http://msdn2.microsoft.com/en-us/library/s6eyk10z" target="_blank">UInt16</a></div><div class="collapsibleAreaRegion" id="seeAlsoSection"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID2RB')" onkeypress="SectionExpandCollapse_CheckKey('ID2RB', event)" tabindex="0"><img id="ID2RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />See Also</span></div><div id="ID2RBSection" class="collapsibleSection"><h4 class="subHeading">Reference</h4><div class="seeAlsoStyle"><a href="T_MLAPI_Data_NetId.htm">NetId Structure</a></div><div class="seeAlsoStyle"><a href="N_MLAPI_Data.htm">MLAPI.Data Namespace</a></div></div></div></div><div id="pageFooter" class="pageFooter"> </div></body></html>

View File

@ -0,0 +1,21 @@
<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge" /><link rel="shortcut icon" href="../icons/favicon.ico" /><link rel="stylesheet" type="text/css" href="../styles/branding.css" /><link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" /><script type="text/javascript" src="../scripts/branding.js"> </script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>NetId.HostId Field</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="HostId field" /><meta name="System.Keywords" content="NetId.HostId field" /><meta name="Microsoft.Help.F1" content="MLAPI.Data.NetId.HostId" /><meta name="Microsoft.Help.Id" content="F:MLAPI.Data.NetId.HostId" /><meta name="Description" content="The hostId this client is on" /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="MLAPI.Data" /><meta name="file" content="F_MLAPI_Data_NetId_HostId" /><meta name="guid" content="F_MLAPI_Data_NetId_HostId" /><link rel="stylesheet" type="text/css" href="../styles/branding-Website.css" /><script type="text/javascript" src="../scripts/jquery-1.11.0.min.js"></script><script type="text/javascript" src="../scripts/branding-Website.js"></script><script type="text/javascript" src="../scripts/clipboard.min.js"></script></head><body onload="OnLoad('cs')"><input type="hidden" id="userDataCache" class="userDataStyle" /><div class="pageHeader" id="PageHeader">MLAPI API Reference<form id="SearchForm" method="get" action="#" onsubmit="javascript:TransferToSearchPage(); return false;"><input id="SearchTextBox" type="text" maxlength="200" /><button id="SearchButton" type="submit"></button></form></div><div class="pageBody"><div class="leftNav" id="leftNav"><div id="tocNav"><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html\N_MLAPI_Attributes.htm" title="MLAPI API Reference" tocid="roottoc">MLAPI API Reference</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/N_MLAPI_Data.htm" title="MLAPI.Data" tocid="N_MLAPI_Data">MLAPI.Data</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/T_MLAPI_Data_NetId.htm" title="NetId Structure" tocid="T_MLAPI_Data_NetId">NetId Structure</a></div><div class="toclevel1" data-toclevel="1" data-childrenloaded="true"><a class="tocExpanded" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/Fields_T_MLAPI_Data_NetId.htm" title="NetId Fields" tocid="Fields_T_MLAPI_Data_NetId">NetId Fields</a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_NetId_ConnectionId.htm" title="ConnectionId Field" tocid="F_MLAPI_Data_NetId_ConnectionId">ConnectionId Field</a></div><div class="toclevel2 current" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_NetId_HostId.htm" title="HostId Field" tocid="F_MLAPI_Data_NetId_HostId">HostId Field</a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_NetId_Meta.htm" title="Meta Field" tocid="F_MLAPI_Data_NetId_Meta">Meta Field</a></div></div><div id="tocResizableEW" onmousedown="OnMouseDown(event);"></div><div id="TocResize" class="tocResize"><img id="ResizeImageIncrease" src="../icons/TocOpen.gif" onclick="OnIncreaseToc()" alt="Click or drag to resize" title="Click or drag to resize" /><img id="ResizeImageReset" src="../icons/TocClose.gif" style="display:none" onclick="OnResetToc()" alt="Click or drag to resize" title="Click or drag to resize" /></div></div><div class="topicContent" id="TopicContent"><table class="titleTable"><tr><td class="titleColumn"><h1>NetId<span id="LST30AF07EA_0"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST30AF07EA_0?cpp=::|nu=.");</script>HostId Field</h1></td><td class="logoColumn"><img width="600" src="../icons/MLAPI_Logo.png" /></td></tr></table><span class="introStyle"></span> <p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[This is preliminary documentation and is subject to change.]</p><div class="summary">
The hostId this client is on
</div><p> </p>
<strong>Namespace:</strong>
 <a href="N_MLAPI_Data.htm">MLAPI.Data</a><br />
<strong>Assembly:</strong>
 MLAPI (in MLAPI.dll) Version: 1.0.0.0 (1.0.0.0)<div class="collapsibleAreaRegion"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID1RB')" onkeypress="SectionExpandCollapse_CheckKey('ID1RB', event)" tabindex="0"><img id="ID1RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />Syntax</span></div><div id="ID1RBSection" class="collapsibleSection"><div class="codeSnippetContainer"><div class="codeSnippetContainerTabs"><div id="ID0EACA_tab1" class="codeSnippetContainerTabSingle">C#</div></div><div class="codeSnippetContainerCodeContainer"><div class="codeSnippetToolBar"><div class="codeSnippetToolBarText"><a id="ID0EACA_copyCode" href="#" class="copyCodeSnippet" onclick="javascript:CopyToClipboard('ID0EACA');return false;" title="Copy">Copy</a></div></div><div id="ID0EACA_code_Div1" class="codeSnippetContainerCode" style="display: block"><pre xml:space="preserve"><span class="keyword">public</span> <span class="identifier">byte</span> <span class="identifier">HostId</span></pre></div></div></div><script type="text/javascript">AddLanguageTabSet("ID0EACA");</script><a id="HT_RequestExampleLink" href="https://github.com/TwoTenPvP/MLAPI/issues/new" target="_blank" class="button" title="Request an example for this topic">Request Example</a>
<script type="text/javascript">
var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
HT_requestExampleLink.href += "?title=";
else
HT_requestExampleLink.href += "?subject=MLAPI API Reference: ";
HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
</script><a target="_blank" class="button" href="https://github.com/TwoTenPvP/MLAPI/blob/master/MLAPI/Data/NetId.cs" title="View the source code">View Source</a><h4 class="subHeading">Field Value</h4>Type: <a href="http://msdn2.microsoft.com/en-us/library/yyb1w04y" target="_blank">Byte</a></div><div class="collapsibleAreaRegion" id="seeAlsoSection"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID2RB')" onkeypress="SectionExpandCollapse_CheckKey('ID2RB', event)" tabindex="0"><img id="ID2RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />See Also</span></div><div id="ID2RBSection" class="collapsibleSection"><h4 class="subHeading">Reference</h4><div class="seeAlsoStyle"><a href="T_MLAPI_Data_NetId.htm">NetId Structure</a></div><div class="seeAlsoStyle"><a href="N_MLAPI_Data.htm">MLAPI.Data Namespace</a></div></div></div></div><div id="pageFooter" class="pageFooter"> </div></body></html>

View File

@ -0,0 +1,21 @@
<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge" /><link rel="shortcut icon" href="../icons/favicon.ico" /><link rel="stylesheet" type="text/css" href="../styles/branding.css" /><link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" /><script type="text/javascript" src="../scripts/branding.js"> </script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>NetId.Meta Field</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="Meta field" /><meta name="System.Keywords" content="NetId.Meta field" /><meta name="Microsoft.Help.F1" content="MLAPI.Data.NetId.Meta" /><meta name="Microsoft.Help.Id" content="F:MLAPI.Data.NetId.Meta" /><meta name="Description" content="Meta data about hte client" /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="MLAPI.Data" /><meta name="file" content="F_MLAPI_Data_NetId_Meta" /><meta name="guid" content="F_MLAPI_Data_NetId_Meta" /><link rel="stylesheet" type="text/css" href="../styles/branding-Website.css" /><script type="text/javascript" src="../scripts/jquery-1.11.0.min.js"></script><script type="text/javascript" src="../scripts/branding-Website.js"></script><script type="text/javascript" src="../scripts/clipboard.min.js"></script></head><body onload="OnLoad('cs')"><input type="hidden" id="userDataCache" class="userDataStyle" /><div class="pageHeader" id="PageHeader">MLAPI API Reference<form id="SearchForm" method="get" action="#" onsubmit="javascript:TransferToSearchPage(); return false;"><input id="SearchTextBox" type="text" maxlength="200" /><button id="SearchButton" type="submit"></button></form></div><div class="pageBody"><div class="leftNav" id="leftNav"><div id="tocNav"><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html\N_MLAPI_Attributes.htm" title="MLAPI API Reference" tocid="roottoc">MLAPI API Reference</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/N_MLAPI_Data.htm" title="MLAPI.Data" tocid="N_MLAPI_Data">MLAPI.Data</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/T_MLAPI_Data_NetId.htm" title="NetId Structure" tocid="T_MLAPI_Data_NetId">NetId Structure</a></div><div class="toclevel1" data-toclevel="1" data-childrenloaded="true"><a class="tocExpanded" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="../html/Fields_T_MLAPI_Data_NetId.htm" title="NetId Fields" tocid="Fields_T_MLAPI_Data_NetId">NetId Fields</a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_NetId_ConnectionId.htm" title="ConnectionId Field" tocid="F_MLAPI_Data_NetId_ConnectionId">ConnectionId Field</a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_NetId_HostId.htm" title="HostId Field" tocid="F_MLAPI_Data_NetId_HostId">HostId Field</a></div><div class="toclevel2 current" data-toclevel="2"><a data-tochassubtree="false" href="../html/F_MLAPI_Data_NetId_Meta.htm" title="Meta Field" tocid="F_MLAPI_Data_NetId_Meta">Meta Field</a></div></div><div id="tocResizableEW" onmousedown="OnMouseDown(event);"></div><div id="TocResize" class="tocResize"><img id="ResizeImageIncrease" src="../icons/TocOpen.gif" onclick="OnIncreaseToc()" alt="Click or drag to resize" title="Click or drag to resize" /><img id="ResizeImageReset" src="../icons/TocClose.gif" style="display:none" onclick="OnResetToc()" alt="Click or drag to resize" title="Click or drag to resize" /></div></div><div class="topicContent" id="TopicContent"><table class="titleTable"><tr><td class="titleColumn"><h1>NetId<span id="LST9B121530_0"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST9B121530_0?cpp=::|nu=.");</script>Meta Field</h1></td><td class="logoColumn"><img width="600" src="../icons/MLAPI_Logo.png" /></td></tr></table><span class="introStyle"></span> <p style="color: #dc143c; font-size: 8.5pt; font-weight: bold;">[This is preliminary documentation and is subject to change.]</p><div class="summary">
Meta data about hte client
</div><p> </p>
<strong>Namespace:</strong>
 <a href="N_MLAPI_Data.htm">MLAPI.Data</a><br />
<strong>Assembly:</strong>
 MLAPI (in MLAPI.dll) Version: 1.0.0.0 (1.0.0.0)<div class="collapsibleAreaRegion"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID1RB')" onkeypress="SectionExpandCollapse_CheckKey('ID1RB', event)" tabindex="0"><img id="ID1RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />Syntax</span></div><div id="ID1RBSection" class="collapsibleSection"><div class="codeSnippetContainer"><div class="codeSnippetContainerTabs"><div id="ID0EACA_tab1" class="codeSnippetContainerTabSingle">C#</div></div><div class="codeSnippetContainerCodeContainer"><div class="codeSnippetToolBar"><div class="codeSnippetToolBarText"><a id="ID0EACA_copyCode" href="#" class="copyCodeSnippet" onclick="javascript:CopyToClipboard('ID0EACA');return false;" title="Copy">Copy</a></div></div><div id="ID0EACA_code_Div1" class="codeSnippetContainerCode" style="display: block"><pre xml:space="preserve"><span class="keyword">public</span> <span class="identifier">byte</span> <span class="identifier">Meta</span></pre></div></div></div><script type="text/javascript">AddLanguageTabSet("ID0EACA");</script><a id="HT_RequestExampleLink" href="https://github.com/TwoTenPvP/MLAPI/issues/new" target="_blank" class="button" title="Request an example for this topic">Request Example</a>
<script type="text/javascript">
var HT_requestExampleLink = document.getElementById("HT_RequestExampleLink");
var HT_requestExampleLinkText = HT_requestExampleLink.innerHTML;
if(HT_requestExampleLink.href.substring(0, 4).toLowerCase() == "http")
HT_requestExampleLink.href += "?title=";
else
HT_requestExampleLink.href += "?subject=MLAPI API Reference: ";
HT_requestExampleLink.href += "Add an Example for " + encodeURIComponent(document.title) + "&amp;body=" +
encodeURIComponent("Please add an example for " + document.title + ".%0D%0DTODO (optional): Describe a specific " +
"scenario you would like to see addressed.%0D%0DHelp Topic: " + window.location.href).replace(/%250D/g, "%0D");
HT_requestExampleLink.innerHTML = HT_requestExampleLinkText;
</script><a target="_blank" class="button" href="https://github.com/TwoTenPvP/MLAPI/blob/master/MLAPI/Data/NetId.cs" title="View the source code">View Source</a><h4 class="subHeading">Field Value</h4>Type: <a href="http://msdn2.microsoft.com/en-us/library/yyb1w04y" target="_blank">Byte</a></div><div class="collapsibleAreaRegion" id="seeAlsoSection"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID2RB')" onkeypress="SectionExpandCollapse_CheckKey('ID2RB', event)" tabindex="0"><img id="ID2RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />See Also</span></div><div id="ID2RBSection" class="collapsibleSection"><h4 class="subHeading">Reference</h4><div class="seeAlsoStyle"><a href="T_MLAPI_Data_NetId.htm">NetId Structure</a></div><div class="seeAlsoStyle"><a href="N_MLAPI_Data.htm">MLAPI.Data Namespace</a></div></div></div></div><div id="pageFooter" class="pageFooter"> </div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More