Compare commits
No commits in common. "master" and "bit-serializer" have entirely different histories.
master
...
bit-serial
@ -1,8 +0,0 @@
|
||||
using System;
|
||||
|
||||
[Serializable]
|
||||
public class GithubAsset
|
||||
{
|
||||
public string browser_download_url;
|
||||
public string name;
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
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;
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
using System;
|
||||
|
||||
[Serializable]
|
||||
public class GithubAsset
|
||||
{
|
||||
public string browser_download_url;
|
||||
public string name;
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
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;
|
||||
}
|
@ -1,66 +0,0 @@
|
||||
<?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>
|
@ -1,173 +0,0 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,97 +0,0 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,84 +0,0 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,68 +0,0 @@
|
||||
using MLAPI.MonoBehaviours.Core;
|
||||
using UnityEngine;
|
||||
|
||||
namespace UnityEditor
|
||||
{
|
||||
[CustomEditor(typeof(NetworkedObject), true)]
|
||||
[CanEditMultipleObjects]
|
||||
public class NetworkedObjectEditor : Editor
|
||||
{
|
||||
private bool initialized;
|
||||
private NetworkedObject networkedObject;
|
||||
private bool showObservers;
|
||||
|
||||
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);
|
||||
|
||||
if (networkedObject.observers != null && networkedObject.observers.Count > 0)
|
||||
{
|
||||
showObservers = EditorGUILayout.Foldout(showObservers, "Observers");
|
||||
if (showObservers)
|
||||
{
|
||||
EditorGUI.indentLevel += 1;
|
||||
foreach (var o in networkedObject.observers)
|
||||
{
|
||||
if (NetworkingManager.singleton.ConnectedClients[o].PlayerObject != null)
|
||||
EditorGUILayout.ObjectField("ClientId: " + o, NetworkingManager.singleton.ConnectedClients[o].PlayerObject, typeof(GameObject), false);
|
||||
else
|
||||
EditorGUILayout.TextField("ClientId: " + o, EditorStyles.label);
|
||||
}
|
||||
EditorGUI.indentLevel -= 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,75 +0,0 @@
|
||||
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();
|
||||
}
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
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")]
|
@ -1,35 +0,0 @@
|
||||
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);
|
||||
EditorGUILayout.LabelField("Total history: ", trackedObject.TotalTimeHistory.ToString() + " seconds", EditorStyles.label);
|
||||
}
|
||||
Repaint();
|
||||
}
|
||||
}
|
||||
}
|
@ -5,8 +5,6 @@ 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
|
||||
@ -20,12 +18,6 @@ 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
|
||||
|
@ -3,7 +3,7 @@
|
||||
namespace MLAPI.Attributes
|
||||
{
|
||||
/// <summary>
|
||||
/// The attribute to use for fields that should be ignored by the BinarySerializer
|
||||
/// The attribute to use for variables that should be automatically. replicated from Server to Client.
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Field)]
|
||||
public class BinaryIgnore : Attribute
|
||||
|
@ -1,13 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace MLAPI.Attributes
|
||||
{
|
||||
/// <summary>
|
||||
/// This attribute is used to specify that this is a remote Client RPC
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Method)]
|
||||
public class ClientRpc : Attribute
|
||||
{
|
||||
|
||||
}
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace MLAPI.Attributes
|
||||
{
|
||||
/// <summary>
|
||||
/// This attribute is used to specify that this is a remote Command
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Method)]
|
||||
public class Command : Attribute
|
||||
{
|
||||
|
||||
}
|
||||
}
|
@ -11,10 +11,6 @@ namespace MLAPI.Attributes
|
||||
/// <summary>
|
||||
/// The method name to invoke when the SyncVar get's updated.
|
||||
/// </summary>
|
||||
public string hookMethodName;
|
||||
/// <summary>
|
||||
/// If true, the syncedVar will only be synced to the owner.
|
||||
/// </summary>
|
||||
public bool target;
|
||||
public string hook;
|
||||
}
|
||||
}
|
||||
|
@ -1,13 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace MLAPI.Attributes
|
||||
{
|
||||
/// <summary>
|
||||
/// This attribute is used to specify that this is a remote Target RPC
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Method)]
|
||||
public class TargetRpc : Attribute
|
||||
{
|
||||
|
||||
}
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
using MLAPI.NetworkingManagerComponents.Binary;
|
||||
using System.Collections.Generic;
|
||||
|
||||
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];
|
||||
|
||||
ulong value = PrimitiveHasher.GetULongHash(name);
|
||||
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;
|
||||
|
||||
ulong value = PrimitiveHasher.GetULongHash(name);
|
||||
messageAttributeHashes.Add(name, value);
|
||||
messageAttributeNames.Add(value, name);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using UnityEngine.Networking;
|
||||
|
||||
namespace MLAPI.Data
|
||||
{
|
||||
@ -15,7 +19,7 @@ namespace MLAPI.Data
|
||||
/// <summary>
|
||||
/// The Transport QOS type
|
||||
/// </summary>
|
||||
public ChannelType Type;
|
||||
public QosType Type;
|
||||
/// <summary>
|
||||
/// Wheter or not the channel should be encrypted
|
||||
/// </summary>
|
||||
|
@ -1,9 +1,4 @@
|
||||
using MLAPI.NetworkingManagerComponents.Binary;
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using UnityEngine;
|
||||
|
||||
namespace MLAPI.Data
|
||||
namespace MLAPI.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// The datatype used to classify SyncedVars
|
||||
@ -12,6 +7,7 @@ namespace MLAPI.Data
|
||||
{
|
||||
Bool,
|
||||
Byte,
|
||||
Char,
|
||||
Double,
|
||||
Single,
|
||||
Int,
|
||||
@ -25,622 +21,6 @@ namespace MLAPI.Data
|
||||
Vector3,
|
||||
Vector2,
|
||||
Quaternion,
|
||||
BoolArray,
|
||||
ByteArray,
|
||||
DoubleArray,
|
||||
SingleArray,
|
||||
IntArray,
|
||||
LongArray,
|
||||
SByteArray,
|
||||
ShortArray,
|
||||
UIntArray,
|
||||
ULongArray,
|
||||
UShortArray,
|
||||
StringArray,
|
||||
Vector3Array,
|
||||
Vector2Array,
|
||||
QuaternionArray,
|
||||
Invalid
|
||||
}
|
||||
|
||||
internal static class FieldTypeHelper
|
||||
{
|
||||
internal static object ReadFieldType(BitReader reader, FieldType fieldType)
|
||||
{
|
||||
switch (fieldType)
|
||||
{
|
||||
case FieldType.Bool:
|
||||
return reader.ReadBool();
|
||||
case FieldType.Byte:
|
||||
return reader.ReadByte();
|
||||
case FieldType.Double:
|
||||
return reader.ReadDouble();
|
||||
case FieldType.Single:
|
||||
return reader.ReadFloat();
|
||||
case FieldType.Int:
|
||||
return reader.ReadInt();
|
||||
case FieldType.Long:
|
||||
return reader.ReadLong();
|
||||
case FieldType.SByte:
|
||||
return reader.ReadSByte();
|
||||
case FieldType.Short:
|
||||
return reader.ReadShort();
|
||||
case FieldType.UInt:
|
||||
return reader.ReadUInt();
|
||||
case FieldType.ULong:
|
||||
return reader.ReadULong();
|
||||
case FieldType.UShort:
|
||||
return reader.ReadUShort();
|
||||
case FieldType.String:
|
||||
return reader.ReadString();
|
||||
case FieldType.Vector3:
|
||||
Vector3 vector3 = Vector3.zero;
|
||||
vector3.x = reader.ReadFloat();
|
||||
vector3.y = reader.ReadFloat();
|
||||
vector3.z = reader.ReadFloat();
|
||||
return vector3;
|
||||
case FieldType.Vector2:
|
||||
Vector2 vector2 = Vector2.zero;
|
||||
vector2.x = reader.ReadFloat();
|
||||
vector2.y = reader.ReadFloat();
|
||||
return vector2;
|
||||
case FieldType.Quaternion:
|
||||
Vector3 eulerAngle = Vector3.zero;
|
||||
eulerAngle.x = reader.ReadFloat();
|
||||
eulerAngle.y = reader.ReadFloat();
|
||||
eulerAngle.z = reader.ReadFloat();
|
||||
return Quaternion.Euler(eulerAngle);
|
||||
case FieldType.BoolArray:
|
||||
ushort boolCount = reader.ReadUShort();
|
||||
bool[] bools = new bool[boolCount];
|
||||
for (int j = 0; j < boolCount; j++)
|
||||
bools[j] = reader.ReadBool();
|
||||
return bools;
|
||||
case FieldType.ByteArray:
|
||||
return reader.ReadByteArray();
|
||||
case FieldType.DoubleArray:
|
||||
return reader.ReadDoubleArray();
|
||||
case FieldType.SingleArray:
|
||||
return reader.ReadFloatArray();
|
||||
case FieldType.IntArray:
|
||||
return reader.ReadIntArray();
|
||||
case FieldType.LongArray:
|
||||
return reader.ReadLongArray();
|
||||
case FieldType.SByteArray:
|
||||
return reader.ReadSByteArray();
|
||||
case FieldType.ShortArray:
|
||||
return reader.ReadShortArray();
|
||||
case FieldType.UIntArray:
|
||||
return reader.ReadUIntArray();
|
||||
case FieldType.ULongArray:
|
||||
return reader.ReadULongArray();
|
||||
case FieldType.UShortArray:
|
||||
return reader.ReadUShortArray();
|
||||
case FieldType.StringArray:
|
||||
ushort stringCount = reader.ReadUShort();
|
||||
string[] strings = new string[stringCount];
|
||||
for (int j = 0; j < stringCount; j++)
|
||||
strings[j] = reader.ReadString();
|
||||
return strings;
|
||||
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;
|
||||
}
|
||||
return vector3s;
|
||||
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;
|
||||
}
|
||||
return vector2s;
|
||||
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);
|
||||
}
|
||||
return quaternions;
|
||||
case FieldType.Invalid:
|
||||
return null;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
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();
|
||||
bool[] bools = new bool[boolCount];
|
||||
for (int j = 0; j < boolCount; j++)
|
||||
bools[j] = reader.ReadBool();
|
||||
returnVal[i] = bools;
|
||||
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;
|
||||
}
|
||||
ByteArray
|
||||
}
|
||||
}
|
||||
|
@ -1,65 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace MLAPI.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// Queue with a fixed size
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the queue</typeparam>
|
||||
public sealed class FixedQueue<T>
|
||||
{
|
||||
private readonly T[] queue;
|
||||
private int queueCount = 0;
|
||||
private int queueStart;
|
||||
|
||||
/// <summary>
|
||||
/// The amount of enqueued objects
|
||||
/// </summary>
|
||||
public int Count { get => queueCount; }
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new FixedQueue with a given size
|
||||
/// </summary>
|
||||
/// <param name="maxSize">The size of the queue</param>
|
||||
public FixedQueue(int maxSize)
|
||||
{
|
||||
queue = new T[maxSize];
|
||||
queueStart = 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enqueues an object
|
||||
/// </summary>
|
||||
/// <param name="t"></param>
|
||||
/// <returns></returns>
|
||||
public bool Enqueue(T t)
|
||||
{
|
||||
queue[(queueStart + queueCount) % queue.Length] = t;
|
||||
if (++queueCount > queue.Length)
|
||||
{
|
||||
--queueCount;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Dequeues an object
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public T Dequeue()
|
||||
{
|
||||
if (--queueCount == -1) throw new IndexOutOfRangeException("Cannot dequeue empty queue!");
|
||||
T res = queue[queueStart];
|
||||
queueStart = (queueStart + 1) % queue.Length;
|
||||
return res;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the element at a given virtual index
|
||||
/// </summary>
|
||||
/// <param name="index"></param>
|
||||
/// <returns></returns>
|
||||
public T ElementAt(int index) => queue[(queueStart + index) % queue.Length];
|
||||
}
|
||||
}
|
@ -1,4 +1,7 @@
|
||||
namespace MLAPI.Data.Transports.UNET
|
||||
using MLAPI.MonoBehaviours.Core;
|
||||
using System;
|
||||
|
||||
namespace MLAPI.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a ClientId structure
|
||||
@ -35,6 +38,17 @@
|
||||
return Meta == 2;
|
||||
}
|
||||
/// <summary>
|
||||
/// Static ServerNetId for comparison
|
||||
/// </summary>
|
||||
/// <value>The server net identifier.</value>
|
||||
public static NetId ServerNetId
|
||||
{
|
||||
get
|
||||
{
|
||||
return new NetId((byte)NetworkingManager.singleton.serverHostId, (ushort)NetworkingManager.singleton.serverConnectionId, false, false);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the netId struct from transport values
|
||||
/// </summary>
|
||||
/// <param name="hostId">Host identifier.</param>
|
||||
@ -52,15 +66,20 @@
|
||||
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)
|
||||
{
|
||||
HostId = (byte)(clientId & 0xFF);
|
||||
ConnectionId = (ushort)((byte)((clientId >> 8) & 0xFF) | (ushort)(((clientId >> 16) & 0xFF) << 8));
|
||||
Meta = (byte)((clientId >> 24) & 0xFF);
|
||||
tempUIntBytes = BitConverter.GetBytes(clientId);
|
||||
HostId = tempUIntBytes[0];
|
||||
ConnectionId = BitConverter.ToUInt16(tempUIntBytes, 1);
|
||||
Meta = tempUIntBytes[3];
|
||||
}
|
||||
/// <summary>
|
||||
/// Gets the clientId.
|
||||
@ -68,7 +87,12 @@
|
||||
/// <returns>The client identifier.</returns>
|
||||
public uint GetClientId()
|
||||
{
|
||||
return HostId | (uint)((ConnectionId & 0xFF) << 8) | (uint)(((ConnectionId >> 8) & 0xFF) << 16) | (uint)(Meta << 24);
|
||||
tempUShortBytes = BitConverter.GetBytes(ConnectionId);
|
||||
tempUIntBytes[0] = HostId;
|
||||
tempUIntBytes[1] = tempUShortBytes[0];
|
||||
tempUIntBytes[2] = tempUShortBytes[1];
|
||||
tempUIntBytes[3] = Meta;
|
||||
return BitConverter.ToUInt32(tempUIntBytes, 0);
|
||||
}
|
||||
// Rider generated vvv
|
||||
/// <summary>
|
@ -1,10 +1,12 @@
|
||||
using MLAPI.NetworkingManagerComponents.Binary;
|
||||
using MLAPI.NetworkingManagerComponents.Cryptography;
|
||||
using MLAPI.Data.Transports.UNET;
|
||||
using MLAPI.MonoBehaviours.Core;
|
||||
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
|
||||
{
|
||||
@ -21,7 +23,15 @@ namespace MLAPI.Data
|
||||
/// <summary>
|
||||
/// The transport hosts the sever uses
|
||||
/// </summary>
|
||||
public IUDPTransport NetworkTransport = new UnetTransport();
|
||||
public List<TransportHost> ServerTransports = new List<TransportHost>()
|
||||
{
|
||||
new TransportHost()
|
||||
{
|
||||
Name = "UDP Socket",
|
||||
Port = 7777,
|
||||
Websockets = false
|
||||
}
|
||||
};
|
||||
/// <summary>
|
||||
/// Channels used by the NetworkedTransport
|
||||
/// </summary>
|
||||
@ -40,16 +50,13 @@ 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>
|
||||
[SerializeField]
|
||||
[HideInInspector]
|
||||
internal string PlayerPrefabName;
|
||||
public string PlayerPrefabName;
|
||||
/// <summary>
|
||||
/// The size of the receive message buffer. This is the max message size.
|
||||
/// </summary>
|
||||
@ -93,12 +100,11 @@ 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
|
||||
/// </summary>
|
||||
public int SecondsHistory = 5;
|
||||
public float SecondsHistory = 5;
|
||||
/// <summary>
|
||||
/// Wheter or not to make the library handle object spawning
|
||||
/// </summary>
|
||||
@ -145,52 +151,54 @@ namespace MLAPI.Data
|
||||
if (ConfigHash != null && cache)
|
||||
return ConfigHash;
|
||||
|
||||
using (BitWriter writer = new BitWriter())
|
||||
using (MemoryStream writeStream = new MemoryStream())
|
||||
{
|
||||
writer.WriteUShort(ProtocolVersion);
|
||||
for (int i = 0; i < Channels.Count; i++)
|
||||
using (BinaryWriter writer = new BinaryWriter(writeStream))
|
||||
{
|
||||
writer.WriteString(Channels[i].Name);
|
||||
writer.WriteByte((byte)Channels[i].Type);
|
||||
if (EnableEncryption)
|
||||
writer.WriteBool(Channels[i].Encrypted);
|
||||
}
|
||||
for (int i = 0; i < MessageTypes.Count; i++)
|
||||
{
|
||||
writer.WriteString(MessageTypes[i].Name);
|
||||
if (AllowPassthroughMessages)
|
||||
writer.WriteBool(MessageTypes[i].Passthrough);
|
||||
}
|
||||
if (EnableSceneSwitching)
|
||||
{
|
||||
for (int i = 0; i < RegisteredScenes.Count; i++)
|
||||
writer.Write(ProtocolVersion);
|
||||
for (int i = 0; i < Channels.Count; i++)
|
||||
{
|
||||
writer.WriteString(RegisteredScenes[i]);
|
||||
writer.Write(Channels[i].Name);
|
||||
writer.Write((byte)Channels[i].Type);
|
||||
if (EnableEncryption)
|
||||
writer.Write(Channels[i].Encrypted);
|
||||
}
|
||||
}
|
||||
if (HandleObjectSpawning)
|
||||
{
|
||||
for (int i = 0; i < NetworkedPrefabs.Count; i++)
|
||||
for (int i = 0; i < MessageTypes.Count; i++)
|
||||
{
|
||||
writer.WriteString(NetworkedPrefabs[i].name);
|
||||
writer.Write(MessageTypes[i].Name);
|
||||
if (AllowPassthroughMessages)
|
||||
writer.Write(MessageTypes[i].Passthrough);
|
||||
}
|
||||
if (EnableSceneSwitching)
|
||||
{
|
||||
for (int i = 0; i < RegisteredScenes.Count; i++)
|
||||
{
|
||||
writer.Write(RegisteredScenes[i]);
|
||||
}
|
||||
}
|
||||
if(HandleObjectSpawning)
|
||||
{
|
||||
for (int i = 0; i < NetworkedPrefabs.Count; i++)
|
||||
{
|
||||
writer.Write(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 160 bit / 20 byte / 5 int checksum of the config
|
||||
using (SHA256Managed sha256 = new SHA256Managed())
|
||||
{
|
||||
//Returns a 256 bit / 32 byte long checksum of the config
|
||||
if (cache)
|
||||
{
|
||||
ConfigHash = MessageDigest.SHA1_Opt(writer.Finalize()).ToArray(); //sha256.ComputeHash(writer.Finalize());
|
||||
ConfigHash = sha256.ComputeHash(writeStream.ToArray());
|
||||
return ConfigHash;
|
||||
}
|
||||
return MessageDigest.SHA1_Opt(writer.Finalize()).ToArray(); //sha256.ComputeHash(writer.Finalize());
|
||||
//}
|
||||
return sha256.ComputeHash(writeStream.ToArray());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
using MLAPI.MonoBehaviours.Core;
|
||||
using System;
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace MLAPI.Data
|
||||
@ -10,20 +9,13 @@ namespace MLAPI.Data
|
||||
[Serializable]
|
||||
public class NetworkedPrefab
|
||||
{
|
||||
internal string name
|
||||
{
|
||||
get
|
||||
{
|
||||
return prefab.GetComponent<NetworkedObject>().NetworkedPrefabName;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// The name of the networked prefab
|
||||
/// </summary>
|
||||
public string name;
|
||||
/// <summary>
|
||||
/// The gameobject of the prefab
|
||||
/// </summary>
|
||||
public GameObject prefab;
|
||||
/// <summary>
|
||||
/// Wheter or not this is a playerPrefab
|
||||
/// </summary>
|
||||
public bool playerPrefab;
|
||||
}
|
||||
}
|
||||
|
@ -1,15 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
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;
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace MLAPI.Data.Transports.UNET
|
||||
namespace MLAPI.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a Transport host
|
@ -1,17 +0,0 @@
|
||||
namespace MLAPI.Data
|
||||
{
|
||||
public enum ChannelType
|
||||
{
|
||||
Unreliable,
|
||||
UnreliableFragmented,
|
||||
UnreliableSequenced,
|
||||
Reliable,
|
||||
ReliableFragmented,
|
||||
ReliableSequenced,
|
||||
StateUpdate,
|
||||
ReliableStateUpdate,
|
||||
AllCostDelivery,
|
||||
UnreliableFragmentedSequenced,
|
||||
ReliableFragmentedSequenced
|
||||
}
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
namespace MLAPI.Data
|
||||
{
|
||||
public interface IUDPTransport
|
||||
{
|
||||
ChannelType InternalChannel { get; }
|
||||
uint ServerNetId { get; }
|
||||
uint HostDummyId { get; }
|
||||
uint InvalidDummyId { get; }
|
||||
void QueueMessageForSending(uint clientId, ref byte[] dataBuffer, int dataSize, int channelId, bool skipQueue, out byte error);
|
||||
void SendQueue(uint clientId, out byte error);
|
||||
NetEventType PollReceive(out uint clientId, out int channelId, ref byte[] data, int bufferSize, out int receivedSize, out byte error);
|
||||
int AddChannel(ChannelType type, object settings);
|
||||
void Connect(string address, int port, object settings, out byte error);
|
||||
void RegisterServerListenSocket(object settings);
|
||||
void DisconnectClient(uint clientId);
|
||||
void DisconnectFromServer();
|
||||
int GetCurrentRTT(uint clientId, out byte error);
|
||||
int GetRemoteDelayTimeMS(uint clientId, int remoteTimestamp, out byte error);
|
||||
int GetNetworkTimestamp();
|
||||
object GetSettings();
|
||||
void Shutdown();
|
||||
}
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
namespace MLAPI.Data
|
||||
{
|
||||
public enum NetEventType
|
||||
{
|
||||
Data,
|
||||
Connect,
|
||||
Disconnect,
|
||||
Nothing
|
||||
}
|
||||
}
|
@ -1,183 +0,0 @@
|
||||
using MLAPI.MonoBehaviours.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine.Networking;
|
||||
|
||||
namespace MLAPI.Data.Transports.UNET
|
||||
{
|
||||
[Serializable]
|
||||
public class UnetTransport : IUDPTransport
|
||||
{
|
||||
public ChannelType InternalChannel { get => ChannelType.ReliableFragmentedSequenced; }
|
||||
|
||||
public uint HostDummyId { get => new NetId(0,0,true,false).GetClientId(); }
|
||||
|
||||
public uint InvalidDummyId { get => new NetId(0, 0, false, true).GetClientId(); }
|
||||
|
||||
public uint ServerNetId { get => new NetId((byte)serverHostId, (ushort)serverConnectionId, false, false).GetClientId(); }
|
||||
|
||||
public int serverConnectionId;
|
||||
public int serverHostId;
|
||||
|
||||
public List<TransportHost> ServerTransports = new List<TransportHost>()
|
||||
{
|
||||
new TransportHost()
|
||||
{
|
||||
Name = "UDP Socket",
|
||||
Port = 7777,
|
||||
Websockets = false
|
||||
}
|
||||
};
|
||||
|
||||
public int Connect(string address, int port, object settings, bool websocket, out byte error)
|
||||
{
|
||||
NetworkTransport.Init();
|
||||
int hostId = NetworkTransport.AddHost((HostTopology)settings);
|
||||
return NetworkTransport.Connect(hostId, address, port, 0, out error);
|
||||
}
|
||||
|
||||
public void DisconnectClient(uint clientId)
|
||||
{
|
||||
NetId netId = new NetId(clientId);
|
||||
if (netId.IsHost() || netId.IsInvalid())
|
||||
return;
|
||||
byte error;
|
||||
NetworkTransport.Disconnect(netId.HostId, netId.ConnectionId, out error);
|
||||
}
|
||||
|
||||
public void DisconnectFromServer()
|
||||
{
|
||||
byte error;
|
||||
NetworkTransport.Disconnect(serverHostId, serverConnectionId, out error);
|
||||
}
|
||||
|
||||
public int GetCurrentRTT(uint clientId, out byte error)
|
||||
{
|
||||
NetId netId = new NetId(clientId);
|
||||
return NetworkTransport.GetCurrentRTT(netId.HostId, netId.ConnectionId, out error);
|
||||
}
|
||||
|
||||
public int GetNetworkTimestamp()
|
||||
{
|
||||
return NetworkTransport.GetNetworkTimestamp();
|
||||
}
|
||||
|
||||
public int GetRemoteDelayTimeMS(uint clientId, int remoteTimestamp, out byte error)
|
||||
{
|
||||
NetId netId = new NetId(clientId);
|
||||
return NetworkTransport.GetRemoteDelayTimeMS(netId.HostId, netId.ConnectionId, remoteTimestamp, out error);
|
||||
}
|
||||
|
||||
public NetEventType PollReceive(out uint clientId, out int channelId, ref byte[] data, int bufferSize, out int receivedSize, out byte error)
|
||||
{
|
||||
int hostId;
|
||||
int connectionId;
|
||||
byte err;
|
||||
NetworkEventType eventType = NetworkTransport.Receive(out hostId, out connectionId, out channelId, data, bufferSize, out receivedSize, out err);
|
||||
clientId = new NetId((byte)hostId, (ushort)connectionId, false, false).GetClientId();
|
||||
NetworkError errorType = (NetworkError)err;
|
||||
if (errorType == NetworkError.Timeout)
|
||||
eventType = NetworkEventType.DisconnectEvent; //In UNET. Timeouts are not disconnects. We have to translate that here.
|
||||
error = 0;
|
||||
|
||||
//Translate NetworkEventType to NetEventType
|
||||
switch (eventType)
|
||||
{
|
||||
case NetworkEventType.DataEvent:
|
||||
return NetEventType.Data;
|
||||
case NetworkEventType.ConnectEvent:
|
||||
return NetEventType.Connect;
|
||||
case NetworkEventType.DisconnectEvent:
|
||||
return NetEventType.Disconnect;
|
||||
case NetworkEventType.Nothing:
|
||||
return NetEventType.Nothing;
|
||||
case NetworkEventType.BroadcastEvent:
|
||||
return NetEventType.Nothing;
|
||||
}
|
||||
return NetEventType.Nothing;
|
||||
}
|
||||
|
||||
public void QueueMessageForSending(uint clientId, ref byte[] dataBuffer, int dataSize, int channelId, bool skipqueue, out byte error)
|
||||
{
|
||||
NetId netId = new NetId(clientId);
|
||||
if (netId.IsHost() || netId.IsInvalid())
|
||||
{
|
||||
error = 0;
|
||||
return;
|
||||
}
|
||||
if (skipqueue)
|
||||
NetworkTransport.Send(netId.HostId, netId.ConnectionId, channelId, dataBuffer, dataSize, out error);
|
||||
else
|
||||
NetworkTransport.QueueMessageForSending(netId.HostId, netId.ConnectionId, channelId, dataBuffer, dataSize, out error);
|
||||
}
|
||||
|
||||
public void Shutdown()
|
||||
{
|
||||
NetworkTransport.Shutdown();
|
||||
}
|
||||
|
||||
public void SendQueue(uint clientId, out byte error)
|
||||
{
|
||||
NetId netId = new NetId(clientId);
|
||||
NetworkTransport.SendQueuedMessages(netId.HostId, netId.ConnectionId, out error);
|
||||
}
|
||||
|
||||
public void RegisterServerListenSocket(object settings)
|
||||
{
|
||||
HostTopology topology = new HostTopology((ConnectionConfig)settings, NetworkingManager.singleton.NetworkConfig.MaxConnections);
|
||||
for (int i = 0; i < ServerTransports.Count; i++)
|
||||
{
|
||||
if (ServerTransports[i].Websockets)
|
||||
NetworkTransport.AddWebsocketHost(topology, ServerTransports[i].Port);
|
||||
else
|
||||
NetworkTransport.AddHost(topology, ServerTransports[i].Port);
|
||||
}
|
||||
}
|
||||
|
||||
public int AddChannel(ChannelType type, object settings)
|
||||
{
|
||||
ConnectionConfig config = (ConnectionConfig)settings;
|
||||
switch (type)
|
||||
{
|
||||
case ChannelType.Unreliable:
|
||||
return config.AddChannel(QosType.Unreliable);
|
||||
case ChannelType.UnreliableFragmented:
|
||||
return config.AddChannel(QosType.UnreliableFragmented);
|
||||
case ChannelType.UnreliableSequenced:
|
||||
return config.AddChannel(QosType.UnreliableSequenced);
|
||||
case ChannelType.Reliable:
|
||||
return config.AddChannel(QosType.Reliable);
|
||||
case ChannelType.ReliableFragmented:
|
||||
return config.AddChannel(QosType.ReliableFragmented);
|
||||
case ChannelType.ReliableSequenced:
|
||||
return config.AddChannel(QosType.ReliableSequenced);
|
||||
case ChannelType.StateUpdate:
|
||||
return config.AddChannel(QosType.StateUpdate);
|
||||
case ChannelType.ReliableStateUpdate:
|
||||
return config.AddChannel(QosType.ReliableStateUpdate);
|
||||
case ChannelType.AllCostDelivery:
|
||||
return config.AddChannel(QosType.AllCostDelivery);
|
||||
case ChannelType.UnreliableFragmentedSequenced:
|
||||
return config.AddChannel(QosType.UnreliableFragmentedSequenced);
|
||||
case ChannelType.ReliableFragmentedSequenced:
|
||||
return config.AddChannel(QosType.ReliableFragmentedSequenced);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public object GetSettings()
|
||||
{
|
||||
NetworkTransport.Init();
|
||||
return new ConnectionConfig()
|
||||
{
|
||||
SendDelay = 0
|
||||
};
|
||||
}
|
||||
|
||||
public void Connect(string address, int port, object settings, out byte error)
|
||||
{
|
||||
serverHostId = NetworkTransport.AddHost(new HostTopology((ConnectionConfig)settings, 1));
|
||||
serverConnectionId = NetworkTransport.Connect(serverHostId, address, port, 0, out error);
|
||||
}
|
||||
}
|
||||
}
|
@ -18,12 +18,3 @@
|
||||
[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})")]
|
||||
|
@ -36,7 +36,7 @@
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Development|AnyCPU'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>..\..\MLAPI-Examples\Assets\MLAPI\Lib\</OutputPath>
|
||||
<OutputPath>..\..\MLAPI-Examples\Assets\MLAPI\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
@ -67,33 +67,21 @@
|
||||
</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\Transports\ChannelType.cs" />
|
||||
<Compile Include="Data\FieldType.cs" />
|
||||
<Compile Include="Attributes\SyncedVar.cs" />
|
||||
<Compile Include="Data\FixedQueue.cs" />
|
||||
<Compile Include="Data\Transports\IUDPTransport.cs" />
|
||||
<Compile Include="Data\Transports\NetEventType.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\Transports\UNET\TransportHost.cs" />
|
||||
<Compile Include="Data\Transports\UNET\UnetTransport.cs" />
|
||||
<Compile Include="Data\TransportHost.cs" />
|
||||
<Compile Include="GlobalSuppressions.cs" />
|
||||
<Compile Include="MonoBehaviours\Prototyping\NetworkedAnimator.cs" />
|
||||
<Compile Include="MonoBehaviours\Prototyping\NetworkedNavMeshAgent.cs" />
|
||||
<Compile Include="MonoBehaviours\Prototyping\NetworkedProximity.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\Binary\PrimitiveHasher.cs" />
|
||||
<Compile Include="NetworkingManagerComponents\Cryptography\CryptographyHelper.cs" />
|
||||
<Compile Include="NetworkingManagerComponents\Cryptography\DiffieHellman.cs" />
|
||||
<Compile Include="NetworkingManagerComponents\Cryptography\EllipticCurve.cs" />
|
||||
@ -108,14 +96,10 @@
|
||||
<Compile Include="NetworkingManagerComponents\Core\NetworkPoolManager.cs" />
|
||||
<Compile Include="NetworkingManagerComponents\Core\NetworkSceneManager.cs" />
|
||||
<Compile Include="NetworkingManagerComponents\Core\SpawnManager.cs" />
|
||||
<Compile Include="NetworkingManagerComponents\Cryptography\MessageDigest.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Data\Transports\UNET\NetId.cs" />
|
||||
<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
@ -1,5 +1,4 @@
|
||||
using MLAPI.Data;
|
||||
using MLAPI.NetworkingManagerComponents.Binary;
|
||||
using MLAPI.NetworkingManagerComponents.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@ -43,25 +42,7 @@ namespace MLAPI.MonoBehaviours.Core
|
||||
return ownerClientId;
|
||||
}
|
||||
}
|
||||
private uint? _ownerClientId = null;
|
||||
//internal uint ownerClientId = new NetId(0, 0, false, true).GetClientId();
|
||||
internal uint ownerClientId
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_ownerClientId == null)
|
||||
return NetworkingManager.singleton.NetworkConfig.NetworkTransport.InvalidDummyId;
|
||||
else
|
||||
return _ownerClientId.Value;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value == NetworkingManager.singleton.NetworkConfig.NetworkTransport.InvalidDummyId)
|
||||
_ownerClientId = null;
|
||||
else
|
||||
_ownerClientId = value;
|
||||
}
|
||||
}
|
||||
internal uint ownerClientId = new NetId(0, 0, false, true).GetClientId();
|
||||
/// <summary>
|
||||
/// The name of the NetworkedPrefab
|
||||
/// </summary>
|
||||
@ -106,7 +87,7 @@ namespace MLAPI.MonoBehaviours.Core
|
||||
{
|
||||
get
|
||||
{
|
||||
return isPlayerObject && (OwnerClientId == NetworkingManager.singleton.MyClientId || (ownerClientId == NetworkingManager.singleton.NetworkConfig.NetworkTransport.HostDummyId && NetworkingManager.singleton.isHost));
|
||||
return isPlayerObject && (OwnerClientId == NetworkingManager.singleton.MyClientId || (new NetId(ownerClientId).IsHost() && NetworkingManager.singleton.isHost));
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
@ -116,7 +97,7 @@ namespace MLAPI.MonoBehaviours.Core
|
||||
{
|
||||
get
|
||||
{
|
||||
return !isPlayerObject && (OwnerClientId == NetworkingManager.singleton.MyClientId || (ownerClientId == NetworkingManager.singleton.NetworkConfig.NetworkTransport.HostDummyId && NetworkingManager.singleton.isHost));
|
||||
return !isPlayerObject && (OwnerClientId == NetworkingManager.singleton.MyClientId || (new NetId(ownerClientId).IsHost() && NetworkingManager.singleton.isHost));
|
||||
}
|
||||
}
|
||||
|
||||
@ -133,73 +114,6 @@ namespace MLAPI.MonoBehaviours.Core
|
||||
internal bool _isSpawned = false;
|
||||
internal bool? sceneObject = null;
|
||||
|
||||
public HashSet<uint> observers = new HashSet<uint>();
|
||||
|
||||
internal void RebuildObservers(uint? clientId = null)
|
||||
{
|
||||
bool initial = clientId != null;
|
||||
if (initial)
|
||||
{
|
||||
bool shouldBeAdded = true;
|
||||
for (int i = 0; i < childNetworkedBehaviours.Count; i++)
|
||||
{
|
||||
bool state = childNetworkedBehaviours[i].OnCheckObserver(clientId.Value);
|
||||
if (state == false)
|
||||
{
|
||||
shouldBeAdded = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (shouldBeAdded)
|
||||
observers.Add(clientId.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
HashSet<uint> previousObservers = new HashSet<uint>(observers);
|
||||
HashSet<uint> newObservers = new HashSet<uint>();
|
||||
bool update = false;
|
||||
for (int i = 0; i < childNetworkedBehaviours.Count; i++)
|
||||
{
|
||||
bool changed = childNetworkedBehaviours[i].OnRebuildObservers(newObservers);
|
||||
if (changed)
|
||||
{
|
||||
observers = newObservers;
|
||||
update = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (update)
|
||||
{
|
||||
foreach (KeyValuePair<uint, NetworkedClient> pair in NetworkingManager.singleton.connectedClients)
|
||||
{
|
||||
if (pair.Key == NetworkingManager.singleton.NetworkConfig.NetworkTransport.HostDummyId)
|
||||
continue;
|
||||
if ((previousObservers.Contains(pair.Key) && !newObservers.Contains(pair.Key)) ||
|
||||
(!previousObservers.Contains(pair.Key) && newObservers.Contains(pair.Key)))
|
||||
{
|
||||
//Something changed for this client.
|
||||
using (BitWriter writer = new BitWriter())
|
||||
{
|
||||
writer.WriteUInt(networkId);
|
||||
writer.WriteBool(observers.Contains(pair.Key));
|
||||
|
||||
InternalMessageHandler.Send(pair.Key, "MLAPI_SET_VISIBILITY", "MLAPI_INTERNAL", writer.Finalize(), null);
|
||||
}
|
||||
FlushToClient(pair.Key);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal void SetLocalVisibility(bool visibility)
|
||||
{
|
||||
for (int i = 0; i < childNetworkedBehaviours.Count; i++)
|
||||
{
|
||||
childNetworkedBehaviours[i].OnSetLocalVisibility(visibility);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
if (NetworkingManager.singleton != null)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -15,7 +15,7 @@ namespace MLAPI.MonoBehaviours.Core
|
||||
public class TrackedObject : MonoBehaviour
|
||||
{
|
||||
internal Dictionary<float, TrackedPointData> FrameData = new Dictionary<float, TrackedPointData>();
|
||||
internal FixedQueue<float> Framekeys;
|
||||
internal LinkedList<float> Framekeys = new LinkedList<float>();
|
||||
private Vector3 savedPosition;
|
||||
private Quaternion savedRotation;
|
||||
|
||||
@ -37,52 +37,38 @@ namespace MLAPI.MonoBehaviours.Core
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Framekeys.Count < 2)
|
||||
if (Framekeys.First == null || Framekeys.Last == null)
|
||||
return 0;
|
||||
float totalSpan = Framekeys.ElementAt(Framekeys.Count - 1) - Framekeys.ElementAt(0);
|
||||
float totalSpan = Framekeys.Last.Value - Framekeys.First.Value;
|
||||
return (totalSpan / Framekeys.Count) * 1000f;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the total time history we have for this object
|
||||
/// </summary>
|
||||
public float TotalTimeHistory
|
||||
{
|
||||
get
|
||||
{
|
||||
return Framekeys.ElementAt(Framekeys.Count - 1) - Framekeys.ElementAt(0);
|
||||
}
|
||||
}
|
||||
|
||||
private int maxPoints
|
||||
{
|
||||
get
|
||||
{
|
||||
return (int)(NetworkingManager.singleton.NetworkConfig.SecondsHistory / (1f / NetworkingManager.singleton.NetworkConfig.EventTickrate));
|
||||
}
|
||||
}
|
||||
|
||||
internal void ReverseTransform(float secondsAgo)
|
||||
{
|
||||
savedPosition = transform.position;
|
||||
savedRotation = transform.rotation;
|
||||
|
||||
float currentTime = NetworkingManager.singleton.NetworkTime;
|
||||
float targetTime = currentTime - secondsAgo;
|
||||
|
||||
float previousTime = 0f;
|
||||
float nextTime = 0f;
|
||||
for (int i = 0; i < Framekeys.Count; i++)
|
||||
float previousTime = 0;
|
||||
float nextTime = 0;
|
||||
LinkedListNode<float> node = Framekeys.First;
|
||||
float previousValue = 0f;
|
||||
while(node != null)
|
||||
{
|
||||
if (previousTime <= targetTime && Framekeys.ElementAt(i) >= targetTime)
|
||||
if(previousValue <= targetTime && node.Value >= targetTime)
|
||||
{
|
||||
nextTime = Framekeys.ElementAt(i);
|
||||
previousTime = previousValue;
|
||||
nextTime = node.Value;
|
||||
break;
|
||||
}
|
||||
else
|
||||
previousTime = Framekeys.ElementAt(i);
|
||||
{
|
||||
previousValue = node.Value;
|
||||
node = node.Next;
|
||||
}
|
||||
}
|
||||
|
||||
float timeBetweenFrames = nextTime - previousTime;
|
||||
float timeAwayFromPrevious = currentTime - previousTime;
|
||||
float lerpProgress = timeAwayFromPrevious / timeBetweenFrames;
|
||||
@ -98,27 +84,35 @@ namespace MLAPI.MonoBehaviours.Core
|
||||
|
||||
void Start()
|
||||
{
|
||||
Framekeys = new FixedQueue<float>(maxPoints);
|
||||
Framekeys.Enqueue(0);
|
||||
Framekeys.AddFirst(0);
|
||||
LagCompensationManager.simulationObjects.Add(this);
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
{
|
||||
Framekeys.Clear();
|
||||
FrameData.Clear();
|
||||
LagCompensationManager.simulationObjects.Remove(this);
|
||||
}
|
||||
|
||||
internal void AddFrame()
|
||||
{
|
||||
if (Framekeys.Count == maxPoints)
|
||||
FrameData.Remove(Framekeys.Dequeue());
|
||||
|
||||
float currentTime = NetworkingManager.singleton.NetworkTime;
|
||||
LinkedListNode<float> node = Framekeys.First;
|
||||
LinkedListNode<float> nextNode = node.Next;
|
||||
while (node != null && currentTime - node.Value >= NetworkingManager.singleton.NetworkConfig.SecondsHistory)
|
||||
{
|
||||
nextNode = node.Next;
|
||||
FrameData.Remove(node.Value);
|
||||
Framekeys.RemoveFirst();
|
||||
node = nextNode;
|
||||
}
|
||||
FrameData.Add(NetworkingManager.singleton.NetworkTime, new TrackedPointData()
|
||||
{
|
||||
position = transform.position,
|
||||
rotation = transform.rotation
|
||||
});
|
||||
Framekeys.Enqueue(NetworkingManager.singleton.NetworkTime);
|
||||
Framekeys.AddLast(NetworkingManager.singleton.NetworkTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,88 +0,0 @@
|
||||
using MLAPI.MonoBehaviours.Core;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace MLAPI.MonoBehaviours.Prototyping
|
||||
{
|
||||
//This class based on the code from the UNET HLAPI Proximity
|
||||
public class NetworkedProximity : NetworkedBehaviour
|
||||
{
|
||||
public enum CheckMethod
|
||||
{
|
||||
Physics3D,
|
||||
Physics2D
|
||||
};
|
||||
|
||||
[Tooltip("The maximum range that objects will be visible at.")]
|
||||
public int Range = 10;
|
||||
|
||||
[Tooltip("How often (in seconds) that this object should update the set of players that can see it.")]
|
||||
public float VisibilityUpdateInterval = 1.0f; // in seconds
|
||||
|
||||
[Tooltip("Which method to use for checking proximity of players.\n\nPhysics3D uses 3D physics to determine proximity.\n\nPhysics2D uses 2D physics to determine proximity.")]
|
||||
public CheckMethod CheckType = CheckMethod.Physics3D;
|
||||
|
||||
[Tooltip("Enable to force this object to be hidden from players.")]
|
||||
public bool ForceHidden = false;
|
||||
|
||||
private float lastUpdateTime;
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (!isServer)
|
||||
return;
|
||||
|
||||
if (Time.time - lastUpdateTime > VisibilityUpdateInterval)
|
||||
{
|
||||
RebuildObservers();
|
||||
lastUpdateTime = NetworkingManager.singleton.NetworkTime;
|
||||
}
|
||||
}
|
||||
|
||||
public override bool OnCheckObserver(uint newClientId)
|
||||
{
|
||||
if (ForceHidden)
|
||||
return false;
|
||||
Vector3 pos = NetworkingManager.singleton.ConnectedClients[newClientId].PlayerObject.transform.position;
|
||||
return (pos - transform.position).magnitude < Range;
|
||||
}
|
||||
|
||||
public override bool OnRebuildObservers(HashSet<uint> observers)
|
||||
{
|
||||
if (ForceHidden)
|
||||
{
|
||||
// ensure player can still see themself
|
||||
if (networkedObject != null && networkedObject.isPlayerObject)
|
||||
observers.Add(networkedObject.OwnerClientId);
|
||||
return true;
|
||||
}
|
||||
|
||||
switch (CheckType)
|
||||
{
|
||||
case CheckMethod.Physics3D:
|
||||
{
|
||||
var hits = Physics.OverlapSphere(transform.position, Range);
|
||||
for (int i = 0; i < hits.Length; i++)
|
||||
{
|
||||
var uv = hits[i].GetComponent<NetworkedObject>();
|
||||
if (uv != null && uv.isPlayerObject)
|
||||
observers.Add(uv.OwnerClientId);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
case CheckMethod.Physics2D:
|
||||
{
|
||||
var hits = Physics2D.OverlapCircleAll(transform.position, Range);
|
||||
for (int i = 0; i < hits.Length; i++)
|
||||
{
|
||||
var uv = hits[i].GetComponent<NetworkedObject>();
|
||||
if (uv != null && (uv.isPlayerObject))
|
||||
observers.Add(uv.OwnerClientId);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
@ -94,20 +94,11 @@ namespace MLAPI.MonoBehaviours.Prototyping
|
||||
{
|
||||
timeForLerp = 1f / SendsPerSecond;
|
||||
}
|
||||
|
||||
lastSentRot = transform.rotation;
|
||||
lastSentPos = transform.position;
|
||||
|
||||
lerpStartPos = transform.position;
|
||||
lerpStartRot = transform.rotation;
|
||||
|
||||
lerpEndPos = transform.position;
|
||||
lerpEndRot = transform.rotation;
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if(isOwner || isLocalPlayer || (ownerClientId == NetworkingManager.singleton.NetworkConfig.NetworkTransport.InvalidDummyId && isServer))
|
||||
if(isOwner || isLocalPlayer || (new NetId(ownerClientId).IsInvalid() && isServer))
|
||||
{
|
||||
//We own the object OR we are server and the object is not owned by anyone OR we are the object.
|
||||
if(NetworkingManager.singleton.NetworkTime - lastSendTime >= timeForLerp && (Vector3.Distance(transform.position, lastSentPos) > MinMeters || Quaternion.Angle(transform.rotation, lastSentRot) > MinDegrees))
|
||||
@ -122,13 +113,12 @@ namespace MLAPI.MonoBehaviours.Prototyping
|
||||
writer.Write(transform.position.x);
|
||||
writer.Write(transform.position.y);
|
||||
writer.Write(transform.position.z);
|
||||
|
||||
writer.Write(transform.rotation.eulerAngles.x);
|
||||
writer.Write(transform.rotation.eulerAngles.y);
|
||||
writer.Write(transform.rotation.eulerAngles.z);
|
||||
}
|
||||
if (isServer)
|
||||
SendToClientsTarget("MLAPI_OnRecieveTransformFromServer", "MLAPI_POSITION_UPDATE", positionUpdateBuffer, true);
|
||||
SendToClientsTarget("MLAPI_OnRecieveTransformFromServer", "MLAPI_POSITION_UPDATE", positionUpdateBuffer);
|
||||
else
|
||||
SendToServerTarget("MLAPI_OnRecieveTransformFromClient", "MLAPI_POSITION_UPDATE", positionUpdateBuffer);
|
||||
}
|
||||
@ -145,7 +135,7 @@ namespace MLAPI.MonoBehaviours.Prototyping
|
||||
//Snap, set T to 1 (100% of the lerp)
|
||||
lerpT = 1f;
|
||||
}
|
||||
lerpT += Time.unscaledDeltaTime / timeForLerp;
|
||||
lerpT += Time.deltaTime / timeForLerp;
|
||||
transform.position = Vector3.Lerp(lerpStartPos, lerpEndPos, lerpT);
|
||||
transform.rotation = Quaternion.Slerp(lerpStartRot, lerpEndRot, lerpT);
|
||||
}
|
||||
@ -161,11 +151,9 @@ namespace MLAPI.MonoBehaviours.Prototyping
|
||||
float xPos = reader.ReadSingle();
|
||||
float yPos = reader.ReadSingle();
|
||||
float zPos = reader.ReadSingle();
|
||||
|
||||
float xRot = reader.ReadSingle();
|
||||
float yRot = reader.ReadSingle();
|
||||
float zRot = reader.ReadSingle();
|
||||
|
||||
lerpStartPos = transform.position;
|
||||
lerpStartRot = transform.rotation;
|
||||
lerpEndPos = new Vector3(xPos, yPos, zPos);
|
||||
@ -184,11 +172,9 @@ namespace MLAPI.MonoBehaviours.Prototyping
|
||||
float xPos = reader.ReadSingle();
|
||||
float yPos = reader.ReadSingle();
|
||||
float zPos = reader.ReadSingle();
|
||||
|
||||
float xRot = reader.ReadSingle();
|
||||
float yRot = reader.ReadSingle();
|
||||
float zRot = reader.ReadSingle();
|
||||
|
||||
if (InterpolateServer)
|
||||
{
|
||||
lerpStartPos = transform.position;
|
||||
@ -220,13 +206,13 @@ namespace MLAPI.MonoBehaviours.Prototyping
|
||||
{
|
||||
if (Vector3.Distance(NetworkingManager.singleton.connectedClients[i].PlayerObject.transform.position, transform.position) <= ProximityRange)
|
||||
{
|
||||
SendToClientTarget(NetworkingManager.singleton.connectedClients[i].ClientId, "MLAPI_OnRecieveTransformFromServer", "MLAPI_POSITION_UPDATE", positionUpdateBuffer, true);
|
||||
SendToClientTarget(NetworkingManager.singleton.connectedClients[i].ClientId, "MLAPI_OnRecieveTransformFromServer", "MLAPI_POSITION_UPDATE", positionUpdateBuffer);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SendToNonLocalClientsTarget("MLAPI_OnRecieveTransformFromServer", "MLAPI_POSITION_UPDATE", positionUpdateBuffer, true);
|
||||
SendToNonLocalClientsTarget("MLAPI_OnRecieveTransformFromServer", "MLAPI_POSITION_UPDATE", positionUpdateBuffer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,8 @@
|
||||
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
{
|
||||
public static class BinaryHelpers
|
||||
@ -16,4 +20,3 @@ namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
((value << 8) & (0xFFUL << 32)) ;
|
||||
}
|
||||
}
|
||||
#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member
|
||||
|
@ -1,8 +1,9 @@
|
||||
using MLAPI.Attributes;
|
||||
using MLAPI.Data;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using UnityEngine;
|
||||
|
||||
namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
@ -40,19 +41,90 @@ namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
cachedFields.Add(instance.GetType().FullName, sortedFields);
|
||||
}
|
||||
|
||||
using (BitWriter writer = new BitWriter())
|
||||
int outputSize = 0;
|
||||
//Calculate output size
|
||||
for (int i = 0; i < sortedFields.Length; i++)
|
||||
{
|
||||
for (int i = 0; i < sortedFields.Length; i++)
|
||||
if (sortedFields[i].FieldType == typeof(bool))
|
||||
outputSize += 1;
|
||||
else if (sortedFields[i].FieldType == typeof(byte))
|
||||
outputSize += 1;
|
||||
else if (sortedFields[i].FieldType == typeof(char))
|
||||
outputSize += 2;
|
||||
else if (sortedFields[i].FieldType == typeof(double))
|
||||
outputSize += 8;
|
||||
else if (sortedFields[i].FieldType == typeof(float))
|
||||
outputSize += 4;
|
||||
else if (sortedFields[i].FieldType == typeof(decimal))
|
||||
outputSize += 16;
|
||||
else if (sortedFields[i].FieldType == typeof(int))
|
||||
outputSize += 4;
|
||||
else if (sortedFields[i].FieldType == typeof(long))
|
||||
outputSize += 8;
|
||||
else if (sortedFields[i].FieldType == typeof(sbyte))
|
||||
outputSize += 1;
|
||||
else if (sortedFields[i].FieldType == typeof(short))
|
||||
outputSize += 2;
|
||||
else if (sortedFields[i].FieldType == typeof(uint))
|
||||
outputSize += 4;
|
||||
else if (sortedFields[i].FieldType == typeof(ulong))
|
||||
outputSize += 8;
|
||||
else if (sortedFields[i].FieldType == typeof(ushort))
|
||||
outputSize += 2;
|
||||
else if (sortedFields[i].FieldType == typeof(string))
|
||||
outputSize += Encoding.UTF8.GetByteCount((string)sortedFields[i].GetValue(instance)) + 2;
|
||||
else if (sortedFields[i].FieldType == typeof(byte[]))
|
||||
outputSize += ((byte[])sortedFields[i].GetValue(instance)).Length + 2; //Two bytes to specify the size
|
||||
else
|
||||
Debug.LogWarning("MLAPI: The type \"" + sortedFields[i].FieldType.Name + "\" is not supported by the Binary Serializer. It will be ignored");
|
||||
}
|
||||
|
||||
//Write data
|
||||
using (MemoryStream stream = new MemoryStream(outputSize))
|
||||
{
|
||||
using (BinaryWriter writer = new BinaryWriter(stream))
|
||||
{
|
||||
FieldType fieldType = FieldTypeHelper.GetFieldType(sortedFields[i].FieldType);
|
||||
if (fieldType == FieldType.Invalid)
|
||||
for (int i = 0; i < sortedFields.Length; i++)
|
||||
{
|
||||
Debug.LogWarning("MLAPI: The field " + sortedFields[i].Name + " will not be serialized as it's not of a supported type. Add the BinaryIgnore attribute to prevent this message from shwoing up.");
|
||||
continue;
|
||||
if (sortedFields[i].FieldType == typeof(bool))
|
||||
writer.Write((bool)sortedFields[i].GetValue(instance));
|
||||
else if (sortedFields[i].FieldType == typeof(byte))
|
||||
writer.Write((byte)sortedFields[i].GetValue(instance));
|
||||
else if (sortedFields[i].FieldType == typeof(char))
|
||||
writer.Write((char)sortedFields[i].GetValue(instance));
|
||||
else if (sortedFields[i].FieldType == typeof(double))
|
||||
writer.Write((double)sortedFields[i].GetValue(instance));
|
||||
else if (sortedFields[i].FieldType == typeof(float))
|
||||
writer.Write((float)sortedFields[i].GetValue(instance));
|
||||
else if (sortedFields[i].FieldType == typeof(decimal))
|
||||
writer.Write((decimal)sortedFields[i].GetValue(instance));
|
||||
else if (sortedFields[i].FieldType == typeof(int))
|
||||
writer.Write((int)sortedFields[i].GetValue(instance));
|
||||
else if (sortedFields[i].FieldType == typeof(long))
|
||||
writer.Write((long)sortedFields[i].GetValue(instance));
|
||||
else if (sortedFields[i].FieldType == typeof(sbyte))
|
||||
writer.Write((sbyte)sortedFields[i].GetValue(instance));
|
||||
else if (sortedFields[i].FieldType == typeof(short))
|
||||
writer.Write((short)sortedFields[i].GetValue(instance));
|
||||
else if (sortedFields[i].FieldType == typeof(uint))
|
||||
writer.Write((uint)sortedFields[i].GetValue(instance));
|
||||
else if (sortedFields[i].FieldType == typeof(ulong))
|
||||
writer.Write((ulong)sortedFields[i].GetValue(instance));
|
||||
else if (sortedFields[i].FieldType == typeof(ushort))
|
||||
writer.Write((ushort)sortedFields[i].GetValue(instance));
|
||||
else if (sortedFields[i].FieldType == typeof(string))
|
||||
{
|
||||
writer.Write((ushort)Encoding.UTF8.GetByteCount((string)sortedFields[i].GetValue(instance))); //Size of string in bytes
|
||||
writer.Write(Encoding.UTF8.GetBytes((string)sortedFields[i].GetValue(instance)));
|
||||
}
|
||||
else if (sortedFields[i].FieldType == typeof(byte[]))
|
||||
{
|
||||
writer.Write((ushort)((byte[])sortedFields[i].GetValue(instance)).Length); //Size of byte array
|
||||
writer.Write((byte[])sortedFields[i].GetValue(instance));
|
||||
}
|
||||
}
|
||||
FieldTypeHelper.WriteFieldType(writer, sortedFields[i].GetValue(instance), fieldType);
|
||||
}
|
||||
return writer.Finalize();
|
||||
return stream.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
@ -76,16 +148,52 @@ namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
cachedFields.Add(instance.GetType().FullName, sortedFields);
|
||||
}
|
||||
|
||||
BitReader reader = new BitReader(binary);
|
||||
for (int i = 0; i < sortedFields.Length; i++)
|
||||
using (MemoryStream stream = new MemoryStream(binary))
|
||||
{
|
||||
FieldType fieldType = FieldTypeHelper.GetFieldType(sortedFields[i].FieldType);
|
||||
if (fieldType == FieldType.Invalid)
|
||||
using (BinaryReader reader = new BinaryReader(stream))
|
||||
{
|
||||
Debug.LogWarning("MLAPI: The field " + sortedFields[i].Name + " will not be deserialized as it's not of a supported type. Add the BinaryIgnore attribute to prevent this message from shwoing up.");
|
||||
continue;
|
||||
for (int i = 0; i < sortedFields.Length; i++)
|
||||
{
|
||||
if (sortedFields[i].FieldType == typeof(bool))
|
||||
sortedFields[i].SetValue(instance, reader.ReadBoolean());
|
||||
else if (sortedFields[i].FieldType == typeof(byte))
|
||||
sortedFields[i].SetValue(instance, reader.ReadByte());
|
||||
else if (sortedFields[i].FieldType == typeof(char))
|
||||
sortedFields[i].SetValue(instance, reader.ReadChar());
|
||||
else if (sortedFields[i].FieldType == typeof(double))
|
||||
sortedFields[i].SetValue(instance, reader.ReadDouble());
|
||||
else if (sortedFields[i].FieldType == typeof(float))
|
||||
sortedFields[i].SetValue(instance, reader.ReadSingle());
|
||||
else if (sortedFields[i].FieldType == typeof(decimal))
|
||||
sortedFields[i].SetValue(instance, reader.ReadDecimal());
|
||||
else if (sortedFields[i].FieldType == typeof(int))
|
||||
sortedFields[i].SetValue(instance, reader.ReadInt32());
|
||||
else if (sortedFields[i].FieldType == typeof(long))
|
||||
sortedFields[i].SetValue(instance, reader.ReadInt64());
|
||||
else if (sortedFields[i].FieldType == typeof(sbyte))
|
||||
sortedFields[i].SetValue(instance, reader.ReadSByte());
|
||||
else if (sortedFields[i].FieldType == typeof(short))
|
||||
sortedFields[i].SetValue(instance, reader.ReadInt16());
|
||||
else if (sortedFields[i].FieldType == typeof(uint))
|
||||
sortedFields[i].SetValue(instance, reader.ReadUInt32());
|
||||
else if (sortedFields[i].FieldType == typeof(ulong))
|
||||
sortedFields[i].SetValue(instance, reader.ReadUInt64());
|
||||
else if (sortedFields[i].FieldType == typeof(ushort))
|
||||
sortedFields[i].SetValue(instance, reader.ReadUInt64());
|
||||
else if (sortedFields[i].FieldType == typeof(string))
|
||||
{
|
||||
ushort size = reader.ReadUInt16();
|
||||
sortedFields[i].SetValue(instance, Encoding.UTF8.GetString(reader.ReadBytes(size)));
|
||||
}
|
||||
else if (sortedFields[i].FieldType == typeof(byte[]))
|
||||
{
|
||||
ushort size = reader.ReadUInt16();
|
||||
sortedFields[i].SetValue(instance, reader.ReadBytes(size));
|
||||
}
|
||||
else
|
||||
Debug.LogWarning("MLAPI: The type \"" + sortedFields[i].FieldType.Name + "\" is not supported by the Binary Serializer. It will be ignored");
|
||||
}
|
||||
}
|
||||
sortedFields[i].SetValue(instance, FieldTypeHelper.ReadFieldType(reader, fieldType));
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
|
||||
using System;
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
|
||||
@ -54,15 +53,8 @@ namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
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;
|
||||
}
|
||||
|
||||
public ulong ReadULong()
|
||||
private ulong ReadULong()
|
||||
{
|
||||
ulong header = ReadByte();
|
||||
if (header <= 240) return header;
|
||||
@ -105,6 +97,8 @@ namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
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);
|
||||
@ -115,4 +109,3 @@ namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
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
|
||||
|
@ -1,6 +1,6 @@
|
||||
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
@ -10,19 +10,6 @@ namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
{
|
||||
public sealed class BitWriter : IDisposable
|
||||
{
|
||||
private struct Partial
|
||||
{
|
||||
public byte value;
|
||||
public byte count;
|
||||
public static readonly FieldInfo value_info = typeof(Partial).GetField("value");
|
||||
public static readonly FieldInfo count_info = typeof(Partial).GetField("count");
|
||||
|
||||
public Partial(byte value, byte count)
|
||||
{
|
||||
this.value = value;
|
||||
this.count = count;
|
||||
}
|
||||
}
|
||||
private static readonly Queue<List<object>> listPool = new Queue<List<object>>();
|
||||
|
||||
private static readonly float[] holder_f = new float[1];
|
||||
@ -43,8 +30,7 @@ namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
typeof(ulong),
|
||||
typeof(float),
|
||||
typeof(double),
|
||||
typeof(decimal),
|
||||
typeof(Partial)
|
||||
typeof(decimal)
|
||||
};
|
||||
|
||||
private static readonly FieldInfo
|
||||
@ -119,9 +105,8 @@ namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
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) => Push(new Partial(ReadNBits(value, 0, bits % 8), (byte)(bits%8))); // Suggestion: store (bits % 8) result?
|
||||
|
||||
private void PushArray<T>(T[] t, bool knownSize = false)
|
||||
public void PushArray<T>(T[] t, bool knownSize = false)
|
||||
{
|
||||
if (!knownSize) Push((uint)t.Length);
|
||||
bool signed = IsSigned(t.GetType().GetElementType());
|
||||
@ -129,35 +114,6 @@ namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
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)
|
||||
@ -186,14 +142,10 @@ namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
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]);
|
||||
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));
|
||||
}
|
||||
|
||||
@ -208,14 +160,6 @@ namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
foreach (var element in array)
|
||||
Serialize(element, writeTo, ref bitOffset, ref isAligned);
|
||||
}
|
||||
else if (type == typeof(Partial))
|
||||
{
|
||||
byte count;
|
||||
WriteByte(writeTo, (byte)Partial.value_info.GetValue(t), bitOffset, isAligned, count = (byte)Partial.count_info.GetValue(t));
|
||||
bitOffset += count;
|
||||
isAligned = bitOffset % 8 == 0;
|
||||
return;
|
||||
}
|
||||
else if (IsSupportedType(type))
|
||||
{
|
||||
long offset = t is bool ? 1 : BytesToRead(t) * 8;
|
||||
@ -249,22 +193,31 @@ namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
|
||||
// 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, ref isAligned);
|
||||
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);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//bool signed = IsSigned(t.GetType());
|
||||
ulong value;
|
||||
/*if (signed)
|
||||
{
|
||||
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);
|
||||
}
|
||||
else*/
|
||||
if (t is byte)
|
||||
{
|
||||
WriteByte(writeTo, t as byte? ?? 0, bitOffset, isAligned);
|
||||
bitOffset += 8;
|
||||
return;
|
||||
}
|
||||
else if (t is ushort) value = t as ushort? ?? 0;
|
||||
else if (t is uint) value = t as uint? ?? 0;
|
||||
else value = t as ulong? ?? 0;
|
||||
else /*if (t is ulong)*/ value = t as ulong? ?? 0;
|
||||
|
||||
if (value <= 240) WriteByte(writeTo, (byte)value, bitOffset, isAligned);
|
||||
else if (value <= 2287)
|
||||
@ -291,7 +244,7 @@ namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
WriteByte(writeTo, (value >> 32) & 255, bitOffset + 40, isAligned);
|
||||
if (value > 1099511627775)
|
||||
{
|
||||
WriteByte(writeTo, (value >> 40) & 255, bitOffset + 48, isAligned);
|
||||
WriteByte(writeTo, (value >> 40) & 55, bitOffset + 48, isAligned);
|
||||
if (value > 281474976710655)
|
||||
{
|
||||
WriteByte(writeTo, (value >> 48) & 255, bitOffset + 56, isAligned);
|
||||
@ -344,7 +297,6 @@ namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
foreach (var element in t as Array)
|
||||
count += GetBitCount(element);
|
||||
}
|
||||
else if (type == typeof(Partial)) return (byte)Partial.count_info.GetValue(t);
|
||||
else if (IsSupportedType(type))
|
||||
{
|
||||
long ba = t is bool ? 1 : BytesToRead(t)*8;
|
||||
@ -352,13 +304,15 @@ namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
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, bool isAligned) => WriteByte(b, (byte)value, index, isAligned);
|
||||
private static void WriteByte(byte[] b, byte value, long index, bool isAligned, byte bits = 8)
|
||||
private static void WriteByte(byte[] b, byte value, long index, bool isAligned)
|
||||
{
|
||||
if (isAligned) b[index / 8] = value;
|
||||
else
|
||||
@ -368,7 +322,7 @@ namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
byte upper_mask = (byte)(0xFF << shift);
|
||||
|
||||
b[byteIndex] = (byte)((b[byteIndex] & (byte)~upper_mask) | (value << shift));
|
||||
if((8-shift)<bits) b[byteIndex + 1] = (byte)((b[byteIndex + 1] & upper_mask) | (value >> (8 - shift)));
|
||||
b[byteIndex + 1] = (byte)((b[byteIndex + 1] & upper_mask) | (value >> (8 - shift)));
|
||||
}
|
||||
}
|
||||
private static void WriteDynamic(byte[] b, int value, int byteCount, long index, bool isAligned)
|
||||
@ -429,4 +383,3 @@ namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member
|
||||
|
@ -1,59 +0,0 @@
|
||||
using MLAPI.NetworkingManagerComponents.Cryptography;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
namespace MLAPI.NetworkingManagerComponents.Binary
|
||||
{
|
||||
public static class PrimitiveHasher
|
||||
{
|
||||
private static Dictionary<string, ulong> ulongCachedHashes = new Dictionary<string, ulong>();
|
||||
private static Dictionary<string, ushort> ushortCachedHashes = new Dictionary<string, ushort>();
|
||||
private static Dictionary<string, uint> uintCachedHashes = new Dictionary<string, uint>();
|
||||
|
||||
public static ulong GetULongHash(string input, bool cache = false)
|
||||
{
|
||||
if (cache && ulongCachedHashes.ContainsKey(input))
|
||||
return ulongCachedHashes[input];
|
||||
|
||||
//using (SHA256Managed sha = new SHA256Managed())
|
||||
//{
|
||||
//byte[] hash = sha.ComputeHash(Encoding.UTF8.GetBytes(input));
|
||||
ulong value = MessageDigest.SHA1_Opt(Encoding.UTF8.GetBytes(input)).CastULong(); //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);
|
||||
if (cache)
|
||||
ulongCachedHashes.Add(input, value);
|
||||
return value;
|
||||
//}
|
||||
}
|
||||
|
||||
public static ulong GetUIntHash(string input, bool cache = false)
|
||||
{
|
||||
if (cache && uintCachedHashes.ContainsKey(input))
|
||||
return uintCachedHashes[input];
|
||||
|
||||
//using (SHA256Managed sha = new SHA256Managed())
|
||||
//{
|
||||
//byte[] hash = sha.ComputeHash(Encoding.UTF8.GetBytes(input));
|
||||
uint value = MessageDigest.SHA1_Opt(Encoding.UTF8.GetBytes(input)).CastUInt(); //hash[0] | ((uint)hash[1] << 8) | ((uint)hash[2] << 16) | ((uint)hash[3] << 24);
|
||||
if (cache)
|
||||
uintCachedHashes.Add(input, value);
|
||||
return value;
|
||||
//}
|
||||
}
|
||||
|
||||
public static ushort GetUShortHash(string input, bool cache = false)
|
||||
{
|
||||
if (cache && ushortCachedHashes.ContainsKey(input))
|
||||
return ushortCachedHashes[input];
|
||||
|
||||
//using (SHA256Managed sha = new SHA256Managed())
|
||||
//{
|
||||
//byte[] hash = sha.ComputeHash(Encoding.UTF8.GetBytes(input));
|
||||
ushort value = MessageDigest.SHA1_Opt(Encoding.UTF8.GetBytes(input)).CastUShort(); //(ushort)(hash[0] | (ushort)(hash[1] << 8));
|
||||
if (cache)
|
||||
ushortCachedHashes.Add(input, value);
|
||||
return value;
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,450 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Security.Cryptography;
|
||||
using MLAPI.Data;
|
||||
using MLAPI.MonoBehaviours.Core;
|
||||
using MLAPI.NetworkingManagerComponents.Binary;
|
||||
using UnityEngine;
|
||||
|
||||
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;
|
||||
int msDelay = NetworkingManager.singleton.NetworkConfig.NetworkTransport.GetRemoteDelayTimeMS(clientId, remoteStamp, out error);
|
||||
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();
|
||||
bool visible = 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)
|
||||
{
|
||||
GameObject go = SpawnManager.SpawnPlayerObject(ownerId, networkId, new Vector3(xPos, yPos, zPos), Quaternion.Euler(xRot, yRot, zRot));
|
||||
go.GetComponent<NetworkedObject>().SetLocalVisibility(visible);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameObject go = SpawnManager.SpawnPrefabIndexClient(prefabId, networkId, ownerId,
|
||||
new Vector3(xPos, yPos, zPos), Quaternion.Euler(xRot, yRot, zRot));
|
||||
|
||||
go.GetComponent<NetworkedObject>().SetLocalVisibility(visible);
|
||||
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();
|
||||
bool visible = 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 });
|
||||
GameObject go = SpawnManager.SpawnPlayerObject(ownerId, networkId, new Vector3(xPos, yPos, zPos), Quaternion.Euler(xRot, yRot, zRot));
|
||||
go.GetComponent<NetworkedObject>().SetLocalVisibility(visible);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameObject go = SpawnManager.SpawnPrefabIndexClient(prefabId, networkId, ownerId,
|
||||
new Vector3(xPos, yPos, zPos), Quaternion.Euler(xRot, yRot, zRot));
|
||||
|
||||
go.GetComponent<NetworkedObject>().SetLocalVisibility(visible);
|
||||
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();
|
||||
bool visible = 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 });
|
||||
GameObject go = SpawnManager.SpawnPlayerObject(ownerId, networkId, new Vector3(xPos, yPos, zPos), Quaternion.Euler(xRot, yRot, zRot));
|
||||
|
||||
go.GetComponent<NetworkedObject>().SetLocalVisibility(visible);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameObject go = SpawnManager.SpawnPrefabIndexClient(prefabId, networkId, ownerId,
|
||||
new Vector3(xPos, yPos, zPos), Quaternion.Euler(xRot, yRot, zRot));
|
||||
|
||||
go.GetComponent<NetworkedObject>().SetLocalVisibility(visible);
|
||||
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();
|
||||
|
||||
byte error;
|
||||
int msDelay = NetworkingManager.singleton.NetworkConfig.NetworkTransport.GetRemoteDelayTimeMS(clientId, timestamp, out error);
|
||||
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);
|
||||
}
|
||||
|
||||
internal static void HandleSetVisibility(uint clientId, byte[] incommingData, int channelId)
|
||||
{
|
||||
BitReader reader = new BitReader(incommingData);
|
||||
uint networkId = reader.ReadUInt();
|
||||
bool visibility = reader.ReadBool();
|
||||
SpawnManager.spawnedObjects[networkId].SetLocalVisibility(visibility);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,350 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using MLAPI.Data;
|
||||
using MLAPI.MonoBehaviours.Core;
|
||||
using MLAPI.NetworkingManagerComponents.Binary;
|
||||
using MLAPI.NetworkingManagerComponents.Cryptography;
|
||||
using UnityEngine;
|
||||
|
||||
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)
|
||||
{
|
||||
if (netManager.isHost && targetId == netManager.NetworkConfig.NetworkTransport.HostDummyId)
|
||||
{
|
||||
//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;
|
||||
netManager.NetworkConfig.NetworkTransport.QueueMessageForSending(targetId, ref FinalMessageBuffer, (int)writer.GetFinalizeSize(), channelId, false, out error);
|
||||
}
|
||||
}
|
||||
|
||||
//RETURNS IF IT SUCCEDED OR FAILED BECAUSE OF NON-OBSERVER. ANY OTHER FAIL WILL RETURN TRUE
|
||||
internal static bool Send(uint clientId, string messageType, string channelName, byte[] data, uint? fromNetId, uint? networkId = null, ushort? orderId = null, bool skipQueue = false)
|
||||
{
|
||||
uint targetClientId = clientId;
|
||||
if (netManager.isHost && targetClientId == netManager.NetworkConfig.NetworkTransport.HostDummyId)
|
||||
{
|
||||
//Don't invoke the message on our own machine. Instant stack overflow.
|
||||
Debug.LogWarning("MLAPI: Cannot send message to own client");
|
||||
return true;
|
||||
}
|
||||
else if (targetClientId == netManager.NetworkConfig.NetworkTransport.HostDummyId)
|
||||
{
|
||||
//Client trying to send data to host
|
||||
targetClientId = netManager.NetworkConfig.NetworkTransport.ServerNetId;
|
||||
}
|
||||
//If we respect the observers, and the message is targeted (networkId != null) and the targetedNetworkId isnt observing the receiver. Then we return
|
||||
if (netManager.isServer && fromNetId != null && !SpawnManager.spawnedObjects[fromNetId.Value].observers.Contains(clientId))
|
||||
return false;
|
||||
|
||||
bool isPassthrough = (!netManager.isServer && clientId != netManager.NetworkConfig.NetworkTransport.ServerNetId && 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 true;
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
if (isPassthrough)
|
||||
targetClientId = netManager.NetworkConfig.NetworkTransport.ServerNetId;
|
||||
|
||||
writer.Finalize(ref FinalMessageBuffer);
|
||||
|
||||
byte error;
|
||||
if (skipQueue)
|
||||
netManager.NetworkConfig.NetworkTransport.QueueMessageForSending(targetClientId, ref FinalMessageBuffer, (int)writer.GetFinalizeSize(), MessageManager.channels[channelName], true, out error);
|
||||
else
|
||||
netManager.NetworkConfig.NetworkTransport.QueueMessageForSending(targetClientId, ref FinalMessageBuffer, (int)writer.GetFinalizeSize(), MessageManager.channels[channelName], false, out error);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
internal static void Send(uint[] clientIds, string messageType, string channelName, byte[] data, uint? fromNetId, 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++)
|
||||
{
|
||||
uint targetClientId = clientIds[i];
|
||||
if (netManager.isHost && targetClientId == netManager.NetworkConfig.NetworkTransport.HostDummyId)
|
||||
{
|
||||
//Don't invoke the message on our own machine. Instant stack overflow.
|
||||
continue;
|
||||
}
|
||||
else if (targetClientId == netManager.NetworkConfig.NetworkTransport.HostDummyId)
|
||||
{
|
||||
//Client trying to send data to host
|
||||
targetClientId = netManager.NetworkConfig.NetworkTransport.ServerNetId;
|
||||
}
|
||||
|
||||
//If we respect the observers, and the message is targeted (networkId != null) and the targetedNetworkId isnt observing the receiver. Then we continue
|
||||
if (netManager.isServer && fromNetId != null && !SpawnManager.spawnedObjects[fromNetId.Value].observers.Contains(clientIds[i]))
|
||||
continue;
|
||||
|
||||
writer.Finalize(ref FinalMessageBuffer);
|
||||
|
||||
byte error;
|
||||
netManager.NetworkConfig.NetworkTransport.QueueMessageForSending(targetClientId, ref FinalMessageBuffer, (int)writer.GetFinalizeSize(), channel, false, out error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal static void Send(List<uint> clientIds, string messageType, string channelName, byte[] data, uint? fromNetId, 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++)
|
||||
{
|
||||
uint targetClientId = clientIds[i];
|
||||
if (netManager.isHost && targetClientId == netManager.NetworkConfig.NetworkTransport.HostDummyId)
|
||||
{
|
||||
//Don't invoke the message on our own machine. Instant stack overflow.
|
||||
continue;
|
||||
}
|
||||
else if (targetClientId == netManager.NetworkConfig.NetworkTransport.HostDummyId)
|
||||
{
|
||||
//Client trying to send data to host
|
||||
targetClientId = netManager.NetworkConfig.NetworkTransport.ServerNetId;
|
||||
}
|
||||
|
||||
//If we respect the observers, and the message is targeted (networkId != null) and the targetedNetworkId isnt observing the receiver. Then we continue
|
||||
if (netManager.isServer && fromNetId != null && !SpawnManager.spawnedObjects[fromNetId.Value].observers.Contains(clientIds[i]))
|
||||
continue;
|
||||
|
||||
writer.Finalize(ref FinalMessageBuffer);
|
||||
|
||||
byte error;
|
||||
netManager.NetworkConfig.NetworkTransport.QueueMessageForSending(targetClientId, ref FinalMessageBuffer, (int)writer.GetFinalizeSize(), channel, false, out error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//RETURNS THE CLIENTIDS WHICH WAS NOT BEING OBSERVED
|
||||
internal static List<uint> Send(string messageType, string channelName, byte[] data, uint? fromNetId, uint? networkId = null, ushort? orderId = null)
|
||||
{
|
||||
if (netManager.connectedClients.Count == 0)
|
||||
return null;
|
||||
if (netManager.NetworkConfig.EncryptedChannels.Contains(channelName))
|
||||
{
|
||||
Debug.LogWarning("MLAPI: Cannot send messages over encrypted channel to multiple clients.");
|
||||
return null;
|
||||
}
|
||||
|
||||
List<uint> nonObservedIds = new List<uint>();
|
||||
|
||||
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)
|
||||
{
|
||||
uint targetClientId = pair.Key;
|
||||
if (netManager.isHost && targetClientId == netManager.NetworkConfig.NetworkTransport.HostDummyId)
|
||||
{
|
||||
//Don't invoke the message on our own machine. Instant stack overflow.
|
||||
continue;
|
||||
}
|
||||
else if (targetClientId == netManager.NetworkConfig.NetworkTransport.HostDummyId)
|
||||
{
|
||||
//Client trying to send data to host
|
||||
targetClientId = netManager.NetworkConfig.NetworkTransport.ServerNetId;
|
||||
}
|
||||
|
||||
//If we respect the observers, and the message is targeted (networkId != null) and the targetedNetworkId isnt observing the receiver. Then we continue
|
||||
if (netManager.isServer && fromNetId != null && !SpawnManager.spawnedObjects[fromNetId.Value].observers.Contains(pair.Key))
|
||||
{
|
||||
nonObservedIds.Add(pair.Key);
|
||||
continue;
|
||||
}
|
||||
|
||||
writer.Finalize(ref FinalMessageBuffer);
|
||||
|
||||
byte error;
|
||||
netManager.NetworkConfig.NetworkTransport.QueueMessageForSending(targetClientId, ref FinalMessageBuffer, (int)writer.GetFinalizeSize(), channel, false, out error);
|
||||
}
|
||||
return nonObservedIds;
|
||||
}
|
||||
}
|
||||
|
||||
//RETURNS THE CLIENTIDS WHICH WAS NOT BEING OBSERVED
|
||||
internal static List<uint> Send(string messageType, string channelName, byte[] data, uint clientIdToIgnore, uint? fromNetId, 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 null;
|
||||
}
|
||||
|
||||
List<uint> nonObservedIds = new List<uint>();
|
||||
|
||||
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;
|
||||
|
||||
uint targetClientId = pair.Key;
|
||||
if (netManager.isHost && targetClientId == netManager.NetworkConfig.NetworkTransport.HostDummyId)
|
||||
{
|
||||
//Don't invoke the message on our own machine. Instant stack overflow.
|
||||
continue;
|
||||
}
|
||||
else if (targetClientId == netManager.NetworkConfig.NetworkTransport.HostDummyId)
|
||||
{
|
||||
//Client trying to send data to host
|
||||
targetClientId = netManager.NetworkConfig.NetworkTransport.ServerNetId;
|
||||
}
|
||||
|
||||
//If we respect the observers, and the message is targeted (networkId != null) and the targetedNetworkId isnt observing the receiver. Then we continue
|
||||
if (netManager.isServer && fromNetId != null && !SpawnManager.spawnedObjects[fromNetId.Value].observers.Contains(pair.Key))
|
||||
{
|
||||
nonObservedIds.Add(pair.Key);
|
||||
continue;
|
||||
}
|
||||
|
||||
writer.Finalize(ref FinalMessageBuffer);
|
||||
|
||||
byte error;
|
||||
netManager.NetworkConfig.NetworkTransport.QueueMessageForSending(targetClientId, ref FinalMessageBuffer, (int)writer.GetFinalizeSize(), channel, false, out error);
|
||||
}
|
||||
return nonObservedIds;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
using MLAPI.MonoBehaviours.Core;
|
||||
|
||||
namespace MLAPI.NetworkingManagerComponents.Core
|
||||
{
|
||||
internal static partial class InternalMessageHandler
|
||||
{
|
||||
private static NetworkingManager netManager
|
||||
{
|
||||
get
|
||||
{
|
||||
return NetworkingManager.singleton;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,7 +1,9 @@
|
||||
using MLAPI.MonoBehaviours.Core;
|
||||
using MLAPI.Data;
|
||||
using MLAPI.MonoBehaviours.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Networking;
|
||||
|
||||
namespace MLAPI.NetworkingManagerComponents.Core
|
||||
{
|
||||
@ -60,7 +62,8 @@ namespace MLAPI.NetworkingManagerComponents.Core
|
||||
Debug.LogWarning("MLAPI: Lag compensation simulations are only to be ran on the server.");
|
||||
return;
|
||||
}
|
||||
float milisecondsDelay = NetworkingManager.singleton.NetworkConfig.NetworkTransport.GetCurrentRTT(clientId, out error) / 2f;
|
||||
NetId netId = new NetId(clientId);
|
||||
float milisecondsDelay = NetworkTransport.GetCurrentRTT(netId.HostId, netId.ConnectionId, out error) / 2f;
|
||||
Simulate(milisecondsDelay * 1000f, action);
|
||||
}
|
||||
|
||||
|
@ -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 (BitWriter writer = new BitWriter())
|
||||
using (MemoryStream stream = new MemoryStream(28))
|
||||
{
|
||||
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(), null);
|
||||
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());
|
||||
}
|
||||
return go;
|
||||
}
|
||||
@ -95,11 +95,13 @@ namespace MLAPI.NetworkingManagerComponents.Core
|
||||
return;
|
||||
}
|
||||
netObject.gameObject.SetActive(false);
|
||||
using (BitWriter writer = new BitWriter())
|
||||
using (MemoryStream stream = new MemoryStream(4))
|
||||
{
|
||||
writer.WriteUInt(netObject.NetworkId);
|
||||
|
||||
InternalMessageHandler.Send("MLAPI_DESTROY_POOL_OBJECT", "MLAPI_INTERNAL", writer.Finalize(), null);
|
||||
using (BinaryWriter writer = new BinaryWriter(stream))
|
||||
{
|
||||
writer.Write(netObject.NetworkId);
|
||||
}
|
||||
NetworkingManager.singleton.Send("MLAPI_DESTROY_POOL_OBJECT", "MLAPI_INTERNAL", stream.GetBuffer());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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,11 +58,13 @@ namespace MLAPI.NetworkingManagerComponents.Core
|
||||
AsyncOperation sceneLoad = SceneManager.LoadSceneAsync(sceneName, LoadSceneMode.Additive);
|
||||
sceneLoad.completed += OnSceneLoaded;
|
||||
|
||||
using (BitWriter writer = new BitWriter())
|
||||
using(MemoryStream stream = new MemoryStream(4))
|
||||
{
|
||||
writer.WriteUInt(sceneNameToIndex[sceneName]);
|
||||
|
||||
InternalMessageHandler.Send("MLAPI_SWITCH_SCENE", "MLAPI_INTERNAL", writer.Finalize(), null);
|
||||
using (BinaryWriter writer = new BinaryWriter(stream))
|
||||
{
|
||||
writer.Write(sceneNameToIndex[sceneName]);
|
||||
}
|
||||
NetworkingManager.singleton.Send("MLAPI_SWITCH_SCENE", "MLAPI_INTERNAL", stream.GetBuffer());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
using MLAPI.Data;
|
||||
using MLAPI.MonoBehaviours.Core;
|
||||
using MLAPI.NetworkingManagerComponents.Binary;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using UnityEngine;
|
||||
|
||||
namespace MLAPI.NetworkingManagerComponents.Core
|
||||
@ -36,14 +37,15 @@ namespace MLAPI.NetworkingManagerComponents.Core
|
||||
{
|
||||
NetworkedObject netObject = SpawnManager.spawnedObjects[netId];
|
||||
NetworkingManager.singleton.connectedClients[netObject.OwnerClientId].OwnedObjects.RemoveAll(x => x.NetworkId == netId);
|
||||
netObject.ownerClientId = NetworkingManager.singleton.NetworkConfig.NetworkTransport.InvalidDummyId;
|
||||
|
||||
using (BitWriter writer = new BitWriter())
|
||||
netObject.ownerClientId = new NetId(0, 0, false, true).GetClientId();
|
||||
using (MemoryStream stream = new MemoryStream(8))
|
||||
{
|
||||
writer.WriteUInt(netId);
|
||||
writer.WriteUInt(netObject.ownerClientId);
|
||||
|
||||
InternalMessageHandler.Send("MLAPI_CHANGE_OWNER", "MLAPI_INTERNAL", writer.Finalize(), null);
|
||||
using (BinaryWriter writer = new BinaryWriter(stream))
|
||||
{
|
||||
writer.Write(netId);
|
||||
writer.Write(netObject.ownerClientId);
|
||||
}
|
||||
netManager.Send("MLAPI_CHANGE_OWNER", "MLAPI_INTERNAL", stream.GetBuffer());
|
||||
}
|
||||
}
|
||||
|
||||
@ -53,13 +55,14 @@ 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 (BitWriter writer = new BitWriter())
|
||||
using (MemoryStream stream = new MemoryStream(8))
|
||||
{
|
||||
writer.WriteUInt(netId);
|
||||
writer.WriteUInt(clientId);
|
||||
|
||||
InternalMessageHandler.Send("MLAPI_CHANGE_OWNER", "MLAPI_INTERNAL", writer.Finalize(), null);
|
||||
using (BinaryWriter writer = new BinaryWriter(stream))
|
||||
{
|
||||
writer.Write(netId);
|
||||
writer.Write(clientId);
|
||||
}
|
||||
netManager.Send("MLAPI_CHANGE_OWNER", "MLAPI_INTERNAL", stream.GetBuffer());
|
||||
}
|
||||
}
|
||||
|
||||
@ -91,10 +94,7 @@ namespace MLAPI.NetworkingManagerComponents.Core
|
||||
for (int i = 0; i < netObjects.Length; i++)
|
||||
{
|
||||
if (netObjects[i].sceneObject == null)
|
||||
{
|
||||
netObjects[i].InvokeBehaviourNetworkSpawn();
|
||||
netObjects[i].sceneObject = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -109,28 +109,29 @@ namespace MLAPI.NetworkingManagerComponents.Core
|
||||
if (pair.Value.sceneObject == null || pair.Value.sceneObject == true)
|
||||
sceneObjectsToSync.Add(pair.Value);
|
||||
}
|
||||
|
||||
using (BitWriter writer = new BitWriter())
|
||||
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))
|
||||
{
|
||||
writer.WriteUShort((ushort)sceneObjectsToSync.Count);
|
||||
for (int i = 0; i < sceneObjectsToSync.Count; i++)
|
||||
using (BinaryWriter writer = new BinaryWriter(stream))
|
||||
{
|
||||
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((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.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.position.x);
|
||||
writer.Write(sceneObjectsToSync[i].transform.position.y);
|
||||
writer.Write(sceneObjectsToSync[i].transform.position.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);
|
||||
writer.Write(sceneObjectsToSync[i].transform.rotation.eulerAngles.x);
|
||||
writer.Write(sceneObjectsToSync[i].transform.rotation.eulerAngles.y);
|
||||
writer.Write(sceneObjectsToSync[i].transform.rotation.eulerAngles.z);
|
||||
}
|
||||
}
|
||||
|
||||
InternalMessageHandler.Send("MLAPI_ADD_OBJECTS", "MLAPI_INTERNAL", writer.Finalize(), null);
|
||||
NetworkingManager.singleton.Send("MLAPI_ADD_OBJECTS", "MLAPI_INTERNAL", stream.GetBuffer());
|
||||
}
|
||||
}
|
||||
|
||||
@ -142,7 +143,7 @@ namespace MLAPI.NetworkingManagerComponents.Core
|
||||
return null;
|
||||
}
|
||||
|
||||
GameObject go = MonoBehaviour.Instantiate(netManager.NetworkConfig.NetworkedPrefabs[networkedPrefabId].prefab, position, rotation);
|
||||
GameObject go = MonoBehaviour.Instantiate(netManager.NetworkConfig.NetworkedPrefabs[networkedPrefabId].prefab);
|
||||
NetworkedObject netObject = go.GetComponent<NetworkedObject>();
|
||||
if (netObject == null)
|
||||
{
|
||||
@ -194,35 +195,36 @@ namespace MLAPI.NetworkingManagerComponents.Core
|
||||
netObject.ownerClientId = clientOwnerId.Value;
|
||||
NetworkingManager.singleton.connectedClients[clientOwnerId.Value].OwnedObjects.Add(netObject);
|
||||
}
|
||||
using (BitWriter writer = new BitWriter())
|
||||
{
|
||||
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);
|
||||
using (MemoryStream stream = new MemoryStream(37))
|
||||
{
|
||||
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.WriteFloat(netObject.transform.position.x);
|
||||
writer.WriteFloat(netObject.transform.position.y);
|
||||
writer.WriteFloat(netObject.transform.position.z);
|
||||
writer.Write(netObject.transform.position.x);
|
||||
writer.Write(netObject.transform.position.y);
|
||||
writer.Write(netObject.transform.position.z);
|
||||
|
||||
writer.WriteFloat(netObject.transform.rotation.eulerAngles.x);
|
||||
writer.WriteFloat(netObject.transform.rotation.eulerAngles.y);
|
||||
writer.WriteFloat(netObject.transform.rotation.eulerAngles.z);
|
||||
writer.Write(netObject.transform.rotation.eulerAngles.x);
|
||||
writer.Write(netObject.transform.rotation.eulerAngles.y);
|
||||
writer.Write(netObject.transform.rotation.eulerAngles.z);
|
||||
}
|
||||
|
||||
|
||||
InternalMessageHandler.Send("MLAPI_ADD_OBJECT", "MLAPI_INTERNAL", writer.Finalize(), null);
|
||||
netManager.Send("MLAPI_ADD_OBJECT", "MLAPI_INTERNAL", stream.GetBuffer());
|
||||
}
|
||||
}
|
||||
|
||||
internal static GameObject SpawnPlayerObject(uint clientId, uint networkId, Vector3 position, Quaternion rotation)
|
||||
internal static GameObject SpawnPlayerObject(uint clientId, uint networkId)
|
||||
{
|
||||
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, position, rotation);
|
||||
GameObject go = MonoBehaviour.Instantiate(netManager.NetworkConfig.NetworkedPrefabs[netManager.NetworkConfig.NetworkPrefabIds[netManager.NetworkConfig.PlayerPrefabName]].prefab);
|
||||
NetworkedObject netObject = go.GetComponent<NetworkedObject>();
|
||||
if (netObject == null)
|
||||
{
|
||||
@ -250,7 +252,7 @@ namespace MLAPI.NetworkingManagerComponents.Core
|
||||
{
|
||||
if (!spawnedObjects.ContainsKey(networkId) || (netManager != null && !netManager.NetworkConfig.HandleObjectSpawning))
|
||||
return;
|
||||
if (spawnedObjects[networkId].OwnerClientId != NetworkingManager.singleton.NetworkConfig.NetworkTransport.InvalidDummyId && !spawnedObjects[networkId].isPlayerObject)
|
||||
if (!new NetId(spawnedObjects[networkId].OwnerClientId).IsInvalid() && !spawnedObjects[networkId].isPlayerObject)
|
||||
{
|
||||
//Someone owns it.
|
||||
NetworkingManager.singleton.connectedClients[spawnedObjects[networkId].OwnerClientId].OwnedObjects.RemoveAll(x => x.NetworkId == networkId);
|
||||
@ -261,11 +263,13 @@ namespace MLAPI.NetworkingManagerComponents.Core
|
||||
releasedNetworkObjectIds.Push(networkId);
|
||||
if (spawnedObjects[networkId] != null)
|
||||
{
|
||||
using (BitWriter writer = new BitWriter())
|
||||
using (MemoryStream stream = new MemoryStream(4))
|
||||
{
|
||||
writer.WriteUInt(networkId);
|
||||
|
||||
InternalMessageHandler.Send("MLAPI_DESTROY_OBJECT", "MLAPI_INTERNAL", writer.Finalize(), null);
|
||||
using (BinaryWriter writer = new BinaryWriter(stream))
|
||||
{
|
||||
writer.Write(networkId);
|
||||
}
|
||||
netManager.Send("MLAPI_DESTROY_OBJECT", "MLAPI_INTERNAL", stream.GetBuffer());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,123 +0,0 @@
|
||||
using MLAPI.NetworkingManagerComponents.Binary;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace MLAPI.NetworkingManagerComponents.Cryptography
|
||||
{
|
||||
public static class MessageDigest
|
||||
{
|
||||
public struct SHA1Result
|
||||
{
|
||||
public uint i0, i1, i2, i3, i4;
|
||||
public byte Get(int idx) => (byte)((idx < 4 ? i0 : idx < 8 ? i1 : idx < 12 ? i2 : idx < 16 ? i3 : i4) >> (8 * (idx % 4)));
|
||||
public byte[] ToArray()
|
||||
{
|
||||
byte[] b = new byte[20];
|
||||
for (int i = 0; i < 20; ++i) b[i] = Get(i);
|
||||
return b;
|
||||
}
|
||||
private ulong Collect(int bytes)
|
||||
{
|
||||
ulong u = 0;
|
||||
for (int i = 0; i < bytes; ++i) u |= (ulong)Get(i) << (8*i);
|
||||
return u;
|
||||
}
|
||||
public byte CastByte() => Get(0);
|
||||
public ushort CastUShort() => (ushort)Collect(2);
|
||||
public uint CastUInt() => (uint)Collect(4);
|
||||
public ulong CastULong() => (ulong)Collect(8);
|
||||
}
|
||||
public static SHA1Result SHA1_Opt(byte[] message)
|
||||
{
|
||||
SHA1Result result = new SHA1Result
|
||||
{
|
||||
// Initialize buffers
|
||||
i0 = 0x67452301,
|
||||
i1 = 0xEFCDAB89,
|
||||
i2 = 0x98BADCFE,
|
||||
i3 = 0x10325476,
|
||||
i4 = 0xC3D2E1F0
|
||||
};
|
||||
|
||||
// Pad message
|
||||
long len = message.Length * 8;
|
||||
int
|
||||
ml = message.Length + 1,
|
||||
max = ml + ((960 - (ml * 8 % 512)) % 512) / 8 + 8;
|
||||
|
||||
// Replaces the allocation of a lot of bytes
|
||||
byte GetMsg(int idx)
|
||||
{
|
||||
if (idx < message.Length)
|
||||
return message[idx];
|
||||
else if (idx == message.Length)
|
||||
return 0x80;
|
||||
else if (max - idx <= 8)
|
||||
return (byte)((len >> ((max - 1 - idx) * 8)) & 255);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int chunks = max / 64;
|
||||
|
||||
// Replaces the recurring allocation of 80 uints
|
||||
uint ComputeIndex(int block, int idx)
|
||||
{
|
||||
if (idx < 16)
|
||||
return (uint)((GetMsg(block * 64 + idx * 4) << 24) | (GetMsg(block * 64 + idx * 4 + 1) << 16) | (GetMsg(block * 64 + idx * 4 + 2) << 8) | (GetMsg(block * 64 + idx * 4 + 3) << 0));
|
||||
else
|
||||
return Rot(ComputeIndex(block, idx - 3) ^ ComputeIndex(block, idx - 8) ^ ComputeIndex(block, idx - 14) ^ ComputeIndex(block, idx - 16), 1);
|
||||
}
|
||||
|
||||
// Perform hashing for each 512-bit block
|
||||
for (int i = 0; i < chunks; ++i)
|
||||
{
|
||||
|
||||
// Initialize chunk-hash
|
||||
uint
|
||||
a = result.i0,
|
||||
b = result.i1,
|
||||
c = result.i2,
|
||||
d = result.i3,
|
||||
e = result.i4;
|
||||
|
||||
// Do hash rounds
|
||||
for (int t = 0; t < 80; ++t)
|
||||
{
|
||||
uint tmp = Rot(a, 5) + func(t, b, c, d) + e + K(t) + ComputeIndex(i, t);
|
||||
e = d;
|
||||
d = c;
|
||||
c = Rot(b, 30);
|
||||
b = a;
|
||||
a = tmp;
|
||||
}
|
||||
result.i0 += a;
|
||||
result.i1 += b;
|
||||
result.i2 += c;
|
||||
result.i3 += d;
|
||||
result.i4 += e;
|
||||
}
|
||||
result.i0 = BinaryHelpers.SwapEndian(result.i0);
|
||||
result.i1 = BinaryHelpers.SwapEndian(result.i1);
|
||||
result.i2 = BinaryHelpers.SwapEndian(result.i2);
|
||||
result.i3 = BinaryHelpers.SwapEndian(result.i3);
|
||||
result.i4 = BinaryHelpers.SwapEndian(result.i4);
|
||||
return result;
|
||||
}
|
||||
|
||||
private static uint func(int t, uint b, uint c, uint d) =>
|
||||
t < 20 ? (b & c) | ((~b) & d) :
|
||||
t < 40 ? b ^ c ^ d :
|
||||
t < 60 ? (b & c) | (b & d) | (c & d) :
|
||||
/*t<80*/ b ^ c ^ d;
|
||||
|
||||
private static uint K(int t) =>
|
||||
t < 20 ? 0x5A827999 :
|
||||
t < 40 ? 0x6ED9EBA1 :
|
||||
t < 60 ? 0x8F1BBCDC :
|
||||
/*t<80*/ 0xCA62C1D6;
|
||||
|
||||
private static uint Rot(uint val, int by) => (val << by) | (val >> (32 - by));
|
||||
}
|
||||
}
|
219
Protocol.md
219
Protocol.md
@ -1,219 +0,0 @@
|
||||
# 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)
|
13
README.md
13
README.md
@ -9,7 +9,6 @@ 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)
|
||||
@ -31,19 +30,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)\]
|
||||
* 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)\]
|
||||
|
||||
|
||||
## Planned features
|
||||
* Area of interest
|
||||
* BinaryWriter & BinaryReader replacement
|
||||
* Message compression
|
||||
|
||||
## 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
|
||||
|
395
docs/WebKI.xml
395
docs/WebKI.xml
@ -1,15 +1,10 @@
|
||||
<?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_NetworkConfig_AllowPassthroughMessages.htm" />
|
||||
<HelpKINode Title="AllowPassthroughMessages field" Url="html/F_MLAPI_Data_NetworkingConfiguration_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" />
|
||||
@ -26,106 +21,16 @@
|
||||
<HelpKINode Title="BinarySerializer.Deserialize<T> 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<T> 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.ReadBits method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadBits.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.WriteBits method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteBits.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="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="Channels field" Url="html/F_MLAPI_Data_NetworkingConfiguration_Channels.htm" />
|
||||
<HelpKINode Title="ClearCache method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer_ClearCache.htm" />
|
||||
<HelpKINode Title="ClientConnectionBufferTimeout field" Url="html/F_MLAPI_Data_NetworkConfig_ClientConnectionBufferTimeout.htm" />
|
||||
<HelpKINode Title="ClientConnectionBufferTimeout field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ClientConnectionBufferTimeout.htm" />
|
||||
<HelpKINode Title="ClientId field" Url="html/F_MLAPI_Data_NetworkedClient_ClientId.htm" />
|
||||
<HelpKINode Title="ClientRpc class">
|
||||
<HelpKINode Title="ClientRpc Class" Url="html/T_MLAPI_Attributes_ClientRpc.htm" />
|
||||
<HelpKINode Title="constructor" Url="html/M_MLAPI_Attributes_ClientRpc__ctor.htm" />
|
||||
<HelpKINode Title="methods" Url="html/Methods_T_MLAPI_Attributes_ClientRpc.htm" />
|
||||
<HelpKINode Title="properties" Url="html/Properties_T_MLAPI_Attributes_ClientRpc.htm" />
|
||||
</HelpKINode>
|
||||
<HelpKINode Title="ClientRpc.ClientRpc constructor" Url="html/M_MLAPI_Attributes_ClientRpc__ctor.htm" />
|
||||
<HelpKINode Title="Command class">
|
||||
<HelpKINode Title="Command Class" Url="html/T_MLAPI_Attributes_Command.htm" />
|
||||
<HelpKINode Title="constructor" Url="html/M_MLAPI_Attributes_Command__ctor.htm" />
|
||||
<HelpKINode Title="methods" Url="html/Methods_T_MLAPI_Attributes_Command.htm" />
|
||||
<HelpKINode Title="properties" Url="html/Properties_T_MLAPI_Attributes_Command.htm" />
|
||||
</HelpKINode>
|
||||
<HelpKINode Title="Command.Command constructor" Url="html/M_MLAPI_Attributes_Command__ctor.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="CompareConfig method" Url="html/M_MLAPI_Data_NetworkingConfiguration_CompareConfig.htm" />
|
||||
<HelpKINode Title="ConnectedClients property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkingManager_ConnectedClients.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="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="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">
|
||||
@ -135,59 +40,45 @@
|
||||
<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<T> 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_NetworkConfig_EnableEncryption.htm" />
|
||||
<HelpKINode Title="EnableEncryption field" Url="html/F_MLAPI_Data_NetworkingConfiguration_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_NetworkConfig_EnableSceneSwitching.htm" />
|
||||
<HelpKINode Title="EnableTimeResync field" Url="html/F_MLAPI_Data_NetworkConfig_EnableTimeResync.htm" />
|
||||
<HelpKINode Title="EnableSceneSwitching field" Url="html/F_MLAPI_Data_NetworkingConfiguration_EnableSceneSwitching.htm" />
|
||||
<HelpKINode Title="Encrypt method" Url="html/M_MLAPI_NetworkingManagerComponents_Cryptography_CryptographyHelper_Encrypt.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="EncryptedChannels field" Url="html/F_MLAPI_Data_NetworkingConfiguration_EncryptedChannels.htm" />
|
||||
<HelpKINode Title="EventTickrate field" Url="html/F_MLAPI_Data_NetworkingConfiguration_EventTickrate.htm" />
|
||||
<HelpKINode Title="GetChunkedMessage method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_MessageChunker_GetChunkedMessage.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="GetConfig method" Url="html/M_MLAPI_Data_NetworkingConfiguration_GetConfig.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_NetworkConfig_HandleObjectSpawning.htm" />
|
||||
<HelpKINode Title="HandleObjectSpawning field" Url="html/F_MLAPI_Data_NetworkingConfiguration_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="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="hook field" Url="html/F_MLAPI_Attributes_SyncedVar_hook.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="InvokeClientRpc method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_InvokeClientRpc.htm" />
|
||||
<HelpKINode Title="InvokeCommand method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_InvokeCommand.htm" />
|
||||
<HelpKINode Title="InvokeTargetRpc method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_InvokeTargetRpc.htm" />
|
||||
<HelpKINode Title="isClient property">
|
||||
<HelpKINode Title="NetworkedBehaviour.isClient Property " Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_isClient.htm" />
|
||||
<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" />
|
||||
@ -211,9 +102,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_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="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="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" />
|
||||
@ -224,33 +115,15 @@
|
||||
<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="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="MessageTypes field" Url="html/F_MLAPI_Data_NetworkingConfiguration_MessageTypes.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.ClientRpc class" Url="html/T_MLAPI_Attributes_ClientRpc.htm" />
|
||||
<HelpKINode Title="MLAPI.Attributes.Command class" Url="html/T_MLAPI_Attributes_Command.htm" />
|
||||
<HelpKINode Title="MLAPI.Attributes.SyncedVar class" Url="html/T_MLAPI_Attributes_SyncedVar.htm" />
|
||||
<HelpKINode Title="MLAPI.Attributes.TargetRpc class" Url="html/T_MLAPI_Attributes_TargetRpc.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.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.Data.NetworkingConfiguration class" Url="html/T_MLAPI_Data_NetworkingConfiguration.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" />
|
||||
@ -261,10 +134,7 @@
|
||||
<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" />
|
||||
@ -273,67 +143,7 @@
|
||||
<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" />
|
||||
@ -365,9 +175,6 @@
|
||||
</HelpKINode>
|
||||
<HelpKINode Title="NetworkedBehaviour.DeregisterMessageHandler method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_DeregisterMessageHandler.htm" />
|
||||
<HelpKINode Title="NetworkedBehaviour.GetNetworkedObject method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_GetNetworkedObject.htm" />
|
||||
<HelpKINode Title="NetworkedBehaviour.InvokeClientRpc method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_InvokeClientRpc.htm" />
|
||||
<HelpKINode Title="NetworkedBehaviour.InvokeCommand method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_InvokeCommand.htm" />
|
||||
<HelpKINode Title="NetworkedBehaviour.InvokeTargetRpc method" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_InvokeTargetRpc.htm" />
|
||||
<HelpKINode Title="NetworkedBehaviour.isClient property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_isClient.htm" />
|
||||
<HelpKINode Title="NetworkedBehaviour.isHost property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_isHost.htm" />
|
||||
<HelpKINode Title="NetworkedBehaviour.isLocalPlayer property" Url="html/P_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_isLocalPlayer.htm" />
|
||||
@ -432,24 +239,14 @@
|
||||
<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" />
|
||||
@ -468,8 +265,43 @@
|
||||
<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_NetworkedObject_NetworkId.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="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" />
|
||||
@ -478,7 +310,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.ConnectionApprovalCallback field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_ConnectionApprovalCallback.htm" />
|
||||
<HelpKINode Title="NetworkingManager.DefaultPlayerPrefab field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_DefaultPlayerPrefab.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" />
|
||||
@ -491,11 +323,10 @@
|
||||
<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" />
|
||||
@ -535,53 +366,27 @@
|
||||
<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="Passthrough field" Url="html/F_MLAPI_Data_MessageType_Passthrough.htm" />
|
||||
<HelpKINode Title="PassthroughMessageTypes field" Url="html/F_MLAPI_Data_NetworkingConfiguration_PassthroughMessageTypes.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_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="Port field" Url="html/F_MLAPI_Data_NetworkingConfiguration_Port.htm" />
|
||||
<HelpKINode Title="ProtocolVersion field" Url="html/F_MLAPI_Data_NetworkingConfiguration_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="ReadBits method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadBits.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="ReceiveTickrate field" Url="html/F_MLAPI_Data_NetworkingConfiguration_ReceiveTickrate.htm" />
|
||||
<HelpKINode Title="RegisteredScenes field" Url="html/F_MLAPI_Data_NetworkingConfiguration_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_NetworkConfig_RSAPrivateKey.htm" />
|
||||
<HelpKINode Title="RSAPublicKey field" Url="html/F_MLAPI_Data_NetworkConfig_RSAPublicKey.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="RunInBackground field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkingManager_RunInBackground.htm" />
|
||||
<HelpKINode Title="SecondsHistory field" Url="html/F_MLAPI_Data_NetworkConfig_SecondsHistory.htm" />
|
||||
<HelpKINode Title="SecondsHistory field" Url="html/F_MLAPI_Data_NetworkingConfiguration_SecondsHistory.htm" />
|
||||
<HelpKINode Title="SendsPerSecond field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform_SendsPerSecond.htm" />
|
||||
<HelpKINode Title="SendTickrate field" Url="html/F_MLAPI_Data_NetworkConfig_SendTickrate.htm" />
|
||||
<HelpKINode Title="SendTickrate field" Url="html/F_MLAPI_Data_NetworkingConfiguration_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" />
|
||||
@ -594,27 +399,25 @@
|
||||
<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<T> method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer_Serialize__1.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="ServerOnly field" Url="html/F_MLAPI_MonoBehaviours_Core_NetworkedObject_ServerOnly.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_NetworkConfig_SignKeyExchange.htm" />
|
||||
<HelpKINode Title="SignKeyExchange field" Url="html/F_MLAPI_Data_NetworkingConfiguration_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" />
|
||||
@ -623,63 +426,15 @@
|
||||
<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.hookMethodName field" Url="html/F_MLAPI_Attributes_SyncedVar_hookMethodName.htm" />
|
||||
<HelpKINode Title="SyncedVar.hook field" Url="html/F_MLAPI_Attributes_SyncedVar_hook.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="TargetRpc class">
|
||||
<HelpKINode Title="TargetRpc Class" Url="html/T_MLAPI_Attributes_TargetRpc.htm" />
|
||||
<HelpKINode Title="constructor" Url="html/M_MLAPI_Attributes_TargetRpc__ctor.htm" />
|
||||
<HelpKINode Title="methods" Url="html/Methods_T_MLAPI_Attributes_TargetRpc.htm" />
|
||||
<HelpKINode Title="properties" Url="html/Properties_T_MLAPI_Attributes_TargetRpc.htm" />
|
||||
</HelpKINode>
|
||||
<HelpKINode Title="TargetRpc.TargetRpc constructor" Url="html/M_MLAPI_Attributes_TargetRpc__ctor.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="WriteBits method" Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteBits.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>
|
||||
|
371
docs/WebTOC.xml
371
docs/WebTOC.xml
@ -1,147 +1,72 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<HelpTOC>
|
||||
|
||||
<HelpTOCNode Id="0161c0c0-46c3-4819-8b9d-7a30af9c27d5" Title="MLAPI.Attributes" Url="html/N_MLAPI_Attributes.htm">
|
||||
<HelpTOCNode Id="10581d5e-88f9-4495-8ec9-72386cc2f33f" Title="BinaryIgnore Class" Url="html/T_MLAPI_Attributes_BinaryIgnore.htm">
|
||||
<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 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="362876d1-3be5-445f-bf46-037ad7411fcf" Title="ClientRpc Class" Url="html/T_MLAPI_Attributes_ClientRpc.htm">
|
||||
<HelpTOCNode Title="ClientRpc Constructor " Url="html/M_MLAPI_Attributes_ClientRpc__ctor.htm" />
|
||||
<HelpTOCNode Title="ClientRpc Properties" Url="html/Properties_T_MLAPI_Attributes_ClientRpc.htm" />
|
||||
<HelpTOCNode Title="ClientRpc Methods" Url="html/Methods_T_MLAPI_Attributes_ClientRpc.htm" />
|
||||
</HelpTOCNode>
|
||||
<HelpTOCNode Id="fb4cdb9f-e3f0-4d07-b4f4-699c14f48b22" Title="Command Class" Url="html/T_MLAPI_Attributes_Command.htm">
|
||||
<HelpTOCNode Title="Command Constructor " Url="html/M_MLAPI_Attributes_Command__ctor.htm" />
|
||||
<HelpTOCNode Title="Command Properties" Url="html/Properties_T_MLAPI_Attributes_Command.htm" />
|
||||
<HelpTOCNode Title="Command Methods" Url="html/Methods_T_MLAPI_Attributes_Command.htm" />
|
||||
</HelpTOCNode>
|
||||
<HelpTOCNode Id="a9ad7120-12b1-4193-8bf3-8aac24651aa4" Title="SyncedVar Class" Url="html/T_MLAPI_Attributes_SyncedVar.htm">
|
||||
<HelpTOCNode Id="6591a837-2ee9-4ce1-937f-5d98ea233268" 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="58ef3cb5-9bcd-409c-a6c9-82a07bea7034" 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 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>
|
||||
</HelpTOCNode>
|
||||
<HelpTOCNode Id="d0b66898-c8cd-4d44-9f18-1a9382a82779" Title="TargetRpc Class" Url="html/T_MLAPI_Attributes_TargetRpc.htm">
|
||||
<HelpTOCNode Title="TargetRpc Constructor " Url="html/M_MLAPI_Attributes_TargetRpc__ctor.htm" />
|
||||
<HelpTOCNode Title="TargetRpc Properties" Url="html/Properties_T_MLAPI_Attributes_TargetRpc.htm" />
|
||||
<HelpTOCNode Title="TargetRpc Methods" Url="html/Methods_T_MLAPI_Attributes_TargetRpc.htm" />
|
||||
</HelpTOCNode>
|
||||
</HelpTOCNode>
|
||||
<HelpTOCNode Id="e63d4c1c-5f5c-462d-b54b-e517ffd2bda1" Title="MLAPI.Data" Url="html/N_MLAPI_Data.htm">
|
||||
<HelpTOCNode Id="0c676ff1-4a8b-4feb-916e-a5be3d64a202" 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="6bc7bec7-e47b-4e67-88e0-f764bb9aa61e" 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="87ef9f6c-f08f-493f-a940-1d78bb05757a" 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="e0a979ec-a3c6-4908-97db-8b4c58340c0c" 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="151e085c-a440-4335-96f7-93dd8ddfb1a2" Title="NetId Structure" Url="html/T_MLAPI_Data_NetId.htm">
|
||||
<HelpTOCNode Id="8e021207-0e6b-48e1-829e-753fbce76208" 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="f79698ce-0b9b-4e33-a40d-494887d53be9" 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="7219b61b-7923-492e-bf04-ddb743c7c84f" 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="ef58468d-e021-4c5e-9ff2-ba059f86a2f4" 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="66157c1e-5253-466d-a34d-9386d2ffe13d" 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="74dc2563-2661-4d72-87ae-b7b2bbd4154b" Title="NetworkConfig Class" Url="html/T_MLAPI_Data_NetworkConfig.htm">
|
||||
<HelpTOCNode Title="NetworkConfig Constructor " Url="html/M_MLAPI_Data_NetworkConfig__ctor.htm" />
|
||||
<HelpTOCNode Id="9ea30dfb-4279-4e57-a408-79ff4833000c" 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="3292384e-7fd1-46d7-af47-c36af240943c" 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="f72761d2-701a-473c-8655-d48e95a49004" Title="NetworkedClient Class" Url="html/T_MLAPI_Data_NetworkedClient.htm">
|
||||
<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 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="46a9ca1d-a55a-4060-b54f-1a555251c014" Title="NetworkedClient Fields" Url="html/Fields_T_MLAPI_Data_NetworkedClient.htm">
|
||||
<HelpTOCNode Id="99cea467-056d-43c5-85ff-f771f14ba209" 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="40dfa748-6eb6-4ceb-ac4c-556ffe4e5dd6" 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="a3e6b48a-5477-4732-bafb-d916f66cff04" 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 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>
|
||||
</HelpTOCNode>
|
||||
<HelpTOCNode Id="bb42c23a-5480-47cd-b714-07679ad7894b" 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="0c8aa163-7b7e-48d1-9425-70c83a81f13b" 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 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>
|
||||
</HelpTOCNode>
|
||||
<HelpTOCNode Id="2b78a972-4df2-4dfa-912e-c250ded047ab" Title="MLAPI.MonoBehaviours.Core" Url="html/N_MLAPI_MonoBehaviours_Core.htm">
|
||||
<HelpTOCNode Id="a7378dfd-d06a-437d-9a68-c834c90ec934" Title="NetworkedBehaviour Class" Url="html/T_MLAPI_MonoBehaviours_Core_NetworkedBehaviour.htm">
|
||||
<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 Title="NetworkedBehaviour Constructor " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour__ctor.htm" />
|
||||
<HelpTOCNode Id="fec3295c-94e5-44f6-973a-5529ec7c96c2" Title="NetworkedBehaviour Properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Core_NetworkedBehaviour.htm">
|
||||
<HelpTOCNode Id="1c17b74e-1733-4950-8a55-122c0fd84a91" 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" />
|
||||
@ -151,72 +76,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="fc2206d6-a21a-4e90-b34c-d9302252c4e5" Title="NetworkedBehaviour Methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Core_NetworkedBehaviour.htm">
|
||||
<HelpTOCNode Id="ec5ba87b-94b4-4faa-ba86-ce8541472b77" 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="InvokeClientRpc Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_InvokeClientRpc.htm" />
|
||||
<HelpTOCNode Title="InvokeCommand Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_InvokeCommand.htm" />
|
||||
<HelpTOCNode Title="InvokeTargetRpc Method " Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_InvokeTargetRpc.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="75420319-ea50-4d92-9480-00f81fc95132" Title="SendToClient Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClient.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 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="1a760020-66e7-4ffe-9350-401d26ccb05e" 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 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 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 (List(UInt32), String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClients.htm" />
|
||||
<HelpTOCNode Title="SendToClients Method (Int32[], String, String, Byte[])" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClients_1.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="7954a49a-f2ce-4ab1-9286-564a22825290" 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 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 Title="SendToClientsTarget(T) Method (String, String, T)" Url="html/M_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientsTarget__1_2.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 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(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="f02d3c1a-622f-41d9-8ff9-df63e36f3503" Title="SendToClientTarget Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToClientTarget.htm">
|
||||
<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 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="d5649bd9-a344-4e6b-a1bb-c9ee2e080fde" Title="SendToLocalClient Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToLocalClient.htm">
|
||||
<HelpTOCNode Id="8205cbbe-c0a3-4c5a-9b2f-23249fafca0c" 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="6284da67-5a20-403a-937e-b6404aaa3259" Title="SendToLocalClientTarget Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToLocalClientTarget.htm">
|
||||
<HelpTOCNode Id="2fc1660f-f382-4427-9aa9-219462a9bc70" 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="d57cf1be-d549-488b-9690-3052ea9da814" Title="SendToNonLocalClients Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToNonLocalClients.htm">
|
||||
<HelpTOCNode Id="acfca73e-811e-4009-b5c0-c1526b0a2ab1" 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="2cdf6dbb-1912-40e1-80f3-daa985c0d5dd" Title="SendToNonLocalClientsTarget Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToNonLocalClientsTarget.htm">
|
||||
<HelpTOCNode Id="d695b184-a442-4fd4-8507-bfbaabfc662c" 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="c0ebeea4-d36d-4456-a929-6217eac1ab5a" Title="SendToServer Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToServer.htm">
|
||||
<HelpTOCNode Id="f4438b07-52ca-41d9-aca7-b1937e9d960c" 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="6e0bf34a-57ea-4d13-a48b-bcb8d4a26ae4" Title="SendToServerTarget Method " Url="html/Overload_MLAPI_MonoBehaviours_Core_NetworkedBehaviour_SendToServerTarget.htm">
|
||||
<HelpTOCNode Id="1d44bc9c-07a0-4320-86ad-ebc7170caf4f" 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="001c1eb0-91b4-4cc9-99ff-5c814b47f852" Title="NetworkedBehaviour Fields" Url="html/Fields_T_MLAPI_MonoBehaviours_Core_NetworkedBehaviour.htm">
|
||||
<HelpTOCNode Id="8b3e5c15-da39-4dca-8d53-fc80062d9552" 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="73ede72c-67cd-4e3a-a92b-f024864716d0" Title="NetworkedObject Class" Url="html/T_MLAPI_MonoBehaviours_Core_NetworkedObject.htm">
|
||||
<HelpTOCNode Id="a63ac209-202e-4565-ae0e-5f0edea4a879" 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="0997cab9-ae18-4db6-9a83-1427f3166dbc" Title="NetworkedObject Properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Core_NetworkedObject.htm">
|
||||
<HelpTOCNode Id="bdc19fc5-829a-4ab8-9720-be4db9972b5a" 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" />
|
||||
@ -225,20 +147,21 @@
|
||||
<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="9fb4134f-e0a8-409f-90dd-1d2ba32482c5" Title="NetworkedObject Methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Core_NetworkedObject.htm">
|
||||
<HelpTOCNode Id="e5bfca6f-74a9-4135-ae0e-119a79f35a19" 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="d964f1f0-0a3b-45f1-86fd-b6a3aac155c7" 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 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>
|
||||
</HelpTOCNode>
|
||||
<HelpTOCNode Id="8fe2f9db-3fa9-4c96-aaad-923c33a0b219" Title="NetworkingManager Class" Url="html/T_MLAPI_MonoBehaviours_Core_NetworkingManager.htm">
|
||||
<HelpTOCNode Id="915f79e6-2d78-4e16-9acd-7f41e2d50a1a" 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="3a114f27-0ddd-49d3-9289-8e38cbf5cc70" Title="NetworkingManager Properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Core_NetworkingManager.htm">
|
||||
<HelpTOCNode Id="83bee0fa-4463-475e-8117-e04e2a75d0e6" 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" />
|
||||
@ -248,52 +171,48 @@
|
||||
<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="75b0a333-495d-4325-919d-d1cae33d24a2" Title="NetworkingManager Methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Core_NetworkingManager.htm">
|
||||
<HelpTOCNode Id="f1c9b535-86db-4155-b24a-5a3a340fe83d" 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="f7bf3a6e-6b45-47a2-9806-4a0aa7efb179" 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 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 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="ce37a000-186b-4c0d-8fdb-a78cf450c85b" Title="TrackedObject Class" Url="html/T_MLAPI_MonoBehaviours_Core_TrackedObject.htm">
|
||||
<HelpTOCNode Id="8f47dbe5-66ac-48e5-9233-779522790943" 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 Id="5f99e0ad-788d-4b2e-ab2a-a46ddf9d408f" 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 Properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Core_TrackedObject.htm" />
|
||||
<HelpTOCNode Title="TrackedObject Methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Core_TrackedObject.htm" />
|
||||
</HelpTOCNode>
|
||||
</HelpTOCNode>
|
||||
<HelpTOCNode Id="46992f5e-f570-40f4-ba78-3b2fe5e318ff" Title="MLAPI.MonoBehaviours.Prototyping" Url="html/N_MLAPI_MonoBehaviours_Prototyping.htm">
|
||||
<HelpTOCNode Id="608f7234-28e5-41d1-890c-bed7f270c84f" Title="NetworkedAnimator Class" Url="html/T_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator.htm">
|
||||
<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 Title="NetworkedAnimator Constructor " Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator__ctor.htm" />
|
||||
<HelpTOCNode Id="dd0f3f94-6dbb-4420-8f1b-76cc15a19890" Title="NetworkedAnimator Properties" Url="html/Properties_T_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator.htm">
|
||||
<HelpTOCNode Id="1f672e2f-08c2-413c-88ec-8e1ec296d843" 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="3823ad08-4fdd-40c2-8e31-6e57bbc78955" Title="NetworkedAnimator Methods" Url="html/Methods_T_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator.htm">
|
||||
<HelpTOCNode Id="81589993-6f59-4191-ad0f-84ff316124d5" 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="eb90a014-3cdd-47c4-ab18-e8fac9ee1690" Title="SetTrigger Method " Url="html/Overload_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_SetTrigger.htm">
|
||||
<HelpTOCNode Id="714708b0-71a0-4040-82ac-e2699037beb6" 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="cb332f52-cfac-423d-9bc5-168ce5aa815a" Title="NetworkedAnimator Fields" Url="html/Fields_T_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator.htm">
|
||||
<HelpTOCNode Id="2a2c1e11-a252-4763-8358-fefbba63217f" 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" />
|
||||
@ -304,13 +223,13 @@
|
||||
<HelpTOCNode Title="ProximityRange Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedAnimator_ProximityRange.htm" />
|
||||
</HelpTOCNode>
|
||||
</HelpTOCNode>
|
||||
<HelpTOCNode Id="4565e34b-5397-4e2a-8c43-13514c26f2da" Title="NetworkedNavMeshAgent Class" Url="html/T_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent.htm">
|
||||
<HelpTOCNode Id="64c45f02-a247-4d89-ac41-2ac2c89d814c" 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="4e0c30e8-2253-4cf4-b0a9-3301de5b72a2" Title="NetworkedNavMeshAgent Methods" Url="html/Methods_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 Title="NetworkStart Method " Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent_NetworkStart.htm" />
|
||||
</HelpTOCNode>
|
||||
<HelpTOCNode Id="5ea3a976-2fd7-43a2-9c04-df365272408f" Title="NetworkedNavMeshAgent Fields" Url="html/Fields_T_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent.htm">
|
||||
<HelpTOCNode Id="52c0b6c8-b31a-4512-8e04-a683ab909f7d" 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" />
|
||||
@ -318,13 +237,13 @@
|
||||
<HelpTOCNode Title="WarpOnDestinationChange Field" Url="html/F_MLAPI_MonoBehaviours_Prototyping_NetworkedNavMeshAgent_WarpOnDestinationChange.htm" />
|
||||
</HelpTOCNode>
|
||||
</HelpTOCNode>
|
||||
<HelpTOCNode Id="9e9d266b-237e-40bb-88bd-8c7a874a7ecf" Title="NetworkedTransform Class" Url="html/T_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform.htm">
|
||||
<HelpTOCNode Id="69e42996-135d-4eaa-89ea-b3d5906bb02d" 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="433f25c1-8c0b-41e6-8383-82824025262a" Title="NetworkedTransform Methods" Url="html/Methods_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 Title="NetworkStart Method " Url="html/M_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform_NetworkStart.htm" />
|
||||
</HelpTOCNode>
|
||||
<HelpTOCNode Id="326c641f-8d2f-4342-a125-b6ddc6b5133b" Title="NetworkedTransform Fields" Url="html/Fields_T_MLAPI_MonoBehaviours_Prototyping_NetworkedTransform.htm">
|
||||
<HelpTOCNode Id="a5c6724b-ba1f-4c73-9adb-63ea93fb817e" 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" />
|
||||
@ -337,88 +256,16 @@
|
||||
</HelpTOCNode>
|
||||
</HelpTOCNode>
|
||||
</HelpTOCNode>
|
||||
<HelpTOCNode Id="45906398-d599-44f8-a564-00f14f453f42" Title="MLAPI.NetworkingManagerComponents.Binary" Url="html/N_MLAPI_NetworkingManagerComponents_Binary.htm">
|
||||
<HelpTOCNode Id="d2697f96-631d-4d11-915a-e67e9cac62e9" Title="BinaryHelpers Class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_BinaryHelpers.htm">
|
||||
<HelpTOCNode Id="e37e74cd-d689-4652-bafc-1f7abd795c57" Title="BinaryHelpers Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Binary_BinaryHelpers.htm">
|
||||
<HelpTOCNode Id="55dddd48-9049-4788-873c-4e529464e533" 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="039e6ae9-2f10-4683-ba54-c3d5138ea63c" Title="BinarySerializer Class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer.htm">
|
||||
<HelpTOCNode Id="990f33f2-70db-4fea-b6cf-6b0ffe3148ae" Title="BinarySerializer Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Binary_BinarySerializer.htm">
|
||||
<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 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="2f50c96c-1f99-4875-a1c5-ff7d0ace510a" 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="cb8a380d-4dcc-4a68-b078-feb5c23117c6" Title="BitReader Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Binary_BitReader.htm">
|
||||
<HelpTOCNode Title="ReadBits Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitReader_ReadBits.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="0566c26b-eb90-417c-b554-e8261f93f387" 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="5b1f546c-17e8-417b-895e-393d4f825860" 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="25ae43e5-0e9d-406a-8760-4141e3e23092" 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="WriteBits Method " Url="html/M_MLAPI_NetworkingManagerComponents_Binary_BitWriter_WriteBits.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="15deab02-9c2e-4521-849a-96457b913f9a" Title="MessageChunker Class" Url="html/T_MLAPI_NetworkingManagerComponents_Binary_MessageChunker.htm">
|
||||
<HelpTOCNode Id="05a7ad68-a7e4-46f1-8374-d7fc33f9e741" Title="MessageChunker Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Binary_MessageChunker.htm">
|
||||
<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 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" />
|
||||
@ -428,35 +275,35 @@
|
||||
</HelpTOCNode>
|
||||
</HelpTOCNode>
|
||||
</HelpTOCNode>
|
||||
<HelpTOCNode Id="49a9bcd4-7110-4aaf-8f6c-d722ff810434" Title="MLAPI.NetworkingManagerComponents.Core" Url="html/N_MLAPI_NetworkingManagerComponents_Core.htm">
|
||||
<HelpTOCNode Id="9dc011d0-59cf-455c-90b8-f13342d8d657" Title="LagCompensationManager Class" Url="html/T_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager.htm">
|
||||
<HelpTOCNode Id="d85f118a-1eed-45c0-95a7-d02bfd3b19ba" Title="LagCompensationManager Properties" Url="html/Properties_T_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager.htm">
|
||||
<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 Title="SimulationObjects Property " Url="html/P_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager_SimulationObjects.htm" />
|
||||
</HelpTOCNode>
|
||||
<HelpTOCNode Id="faab6a75-3bea-4718-b6a3-795962bd5764" Title="LagCompensationManager Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Core_LagCompensationManager.htm">
|
||||
<HelpTOCNode Id="045d4910-f505-4653-9ffa-b7e13c559091" 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 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>
|
||||
</HelpTOCNode>
|
||||
</HelpTOCNode>
|
||||
<HelpTOCNode Id="3d56ee61-c383-43fe-b03b-bb53c6965137" Title="NetworkPoolManager Class" Url="html/T_MLAPI_NetworkingManagerComponents_Core_NetworkPoolManager.htm">
|
||||
<HelpTOCNode Id="25dda867-685d-49b1-9913-912381bcb9f2" Title="NetworkPoolManager Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Core_NetworkPoolManager.htm">
|
||||
<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 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="8a99b52c-9fcf-402a-a878-25cde910f2ce" Title="NetworkSceneManager Class" Url="html/T_MLAPI_NetworkingManagerComponents_Core_NetworkSceneManager.htm">
|
||||
<HelpTOCNode Id="69a13892-bd40-409a-97f7-b360afe01a07" Title="NetworkSceneManager Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Core_NetworkSceneManager.htm">
|
||||
<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 Title="SwitchScene Method " Url="html/M_MLAPI_NetworkingManagerComponents_Core_NetworkSceneManager_SwitchScene.htm" />
|
||||
</HelpTOCNode>
|
||||
</HelpTOCNode>
|
||||
</HelpTOCNode>
|
||||
<HelpTOCNode Id="9b2c257a-d866-4660-a03b-8a83fe4eae51" Title="MLAPI.NetworkingManagerComponents.Cryptography" Url="html/N_MLAPI_NetworkingManagerComponents_Cryptography.htm">
|
||||
<HelpTOCNode Id="e985be53-c814-49d3-a546-73147883fe92" Title="CryptographyHelper Class" Url="html/T_MLAPI_NetworkingManagerComponents_Cryptography_CryptographyHelper.htm">
|
||||
<HelpTOCNode Id="77035f4a-9681-4dd4-bf62-2731266f105c" Title="CryptographyHelper Methods" Url="html/Methods_T_MLAPI_NetworkingManagerComponents_Cryptography_CryptographyHelper.htm">
|
||||
<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 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
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
{"false":[7208961,7733249,8060929,8454145,8650753,15007745,15400961,15597569,15728641,16384001,16515073,16580609,17498113,17629185,19070977],"following":[131073,196609,262145,327681,393217,458753,524289,589825,655361,720897,786433,851969,1310721,2490369,5701633,5767169,5963777,6029313,6094849,6422529,6553601,6619137,6684673,6750209,6815745,6881281,7012353,7077889,7143425,7274497,7405569,7536641,7602177,11337729,12124161,13107201,14286849,15532033,17563649,17825793,17956865,18022401,18415617,18743297,18808833,18874369,19202049,19267585,19333121,19398657,19595265,19726337,20054017,20512769,20774913,20971521,21299201,21692417,21757953,22478849,22544385,22675457,22872065,22937601,23003137,23265281,23461889,23527425,23592961,23658497,23789569,23855105,23920641,23986177,24051713,24117249,24182785,24248321,24313857,24444929,24510465,24576001],"frame":[786433,2097153,21692417],"function":[6029313,9109505,20774913],"flooding":[786433,2621441,21692417],"follow":[1],"fields":[131074,196610,262146,327682,393218,458754,524290,589826,655362,720898,786434,851970,1310722,2490370,20512769,20774913,20971521,21692417,22544385,22937601,23265281,23789569,23920641,23986177,24051713,24182785,24248321,24313857],"field":[917506,983042,1048578,1114114,1179650,1245186,1376258,1441794,1507330,1572866,1638402,1703938,1769474,1835010,1900546,1966082,2031618,2097154,2162690,2228226,2293762,2359298,2424834,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,5111810,5177346,5242882,5308418,5373954,5439490,5570562,5636098,5832706,5898242,6160386,6225922,6291458,6356994,6946818],"first":[7077890,8060929,8454145,19791873,20840449,23003138],"finalize":[5701633,5767169,5963777,6094849,6422529,6553601,6619137,6815745,7012353,7143425,7274498,7405569,7536641,11337729,12124161,14286849,15138819,15532033,15663108,17956865,18284547,20512769,20971521,21692417,22544385,22937601,23265281,23461889,23527425,23592961,23658497,23789569,23855105,23920641,24051713,24117249,24182785,24248321,24313857,24510465,24576002],"float":[3080193,3735553,4784129,4915201,5439489,5636097,5832705,5898241,6160385,6291457,6946817,13238273,13631489,17039361,17629185,19005441,22347777,23068673]}
|
||||
{"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]}
|
@ -1 +1 @@
|
||||
{"getcomponent":[11337731,12124163,13107203,14286851,15532035,17956867,23592963,23920643,23986179,24051715,24117251,24182787,24248323,24313859],"getmessageunordered":[7602177,16056323,21299201],"getmessageordered":[7602177,20381699,21299201],"getcomponentsinparent":[11337733,12124165,13107205,14286853,15532037,17956869,23592965,23920645,23986181,24051717,24117253,24182789,24248325,24313861],"getcomponentinchildren":[11337732,12124164,13107204,14286852,15532036,17956868,23592964,23920644,23986180,24051716,24117252,24182788,24248324,24313860],"gethashcode":[5701633,5767169,5963777,6029314,6094849,6422529,6553601,6619137,6815745,7012353,7143425,7274497,7405569,7536641,9109506,11337729,12124161,13107201,14286849,15532033,17956865,20512769,20774914,20971521,21692417,22544385,22937601,23265281,23461889,23527425,23592961,23658497,23789569,23855105,23920641,23986177,24051713,24117249,24182785,24248321,24313857,24510465,24576001],"general":[5505025],"getfinalizesize":[7274497,15990786,24576001],"generic":[9502721,9764865,10551297,11075585,16056322,16252929,17104897,18481153,20381698],"getcomponentinparent":[11337730,12124162,13107202,14286850,15532034,17956866,23592962,23920642,23986178,24051714,24117250,24182786,24248322,24313858],"getinstanceid":[11337729,12124161,13107201,14286849,15532033,17956865,23592961,23920641,23986177,24051713,24117249,24182785,24248321,24313857],"gains":[10289153,11337729,12124161,17956865,23592961,23920641,24182785,24248321,24313857],"getclientid":[6029313,8912898,20774913],"gameobject":[196609,3670019,3801090,11272193,13107201,18022401,18087938,18415617,18743297,18874369,19267585,19398657,19726337,21495809,22937601,23920641,23986179,24051713,24117249,24182785,24248321,24313857],"getparameterautosend":[11337729,11993092,24182785],"getcomponentsinchildren":[11337734,12124166,13107206,14286854,15532038,17956870,23592966,23920646,23986182,24051718,24117254,24182790,24248326,24313862],"guitext":[18022401,18415617,18743297,18874369,19267585,19398657,19726337,23920641,23986177,24051713,24117249,24182785,24248321,24313857],"given":[6488066,6750209,6881281,7077890,7274497,7929857,8323073,9175041,9437185,11337734,11665409,12124166,13107201,13893633,14417921,15663105,16318465,16646146,17891330,17956870,18087937,18284545,18546690,18677761,19005441,19791873,20840449,21757954,22478849,22872065,23003138,23592966,23920646,23986177,24182790,24248326,24313862,24576001],"getconfig":[5963777,8847364,21692417],"guielement":[18022401,18415617,18743297,18874369,19267585,19398657,19726337,23920641,23986177,24051713,24117249,24182785,24248321,24313857],"games":[786433,3342337,21692417],"guitexture":[18022401,18415617,18743297,18874369,19267585,19398657,19726337,23920641,23986177,24051713,24117249,24182785,24248321,24313857],"gettype":[5701633,5767169,5963777,6029313,6094849,6422529,6553601,6619137,6815745,7012353,7143425,7274497,7405569,7536641,11337729,12124161,13107201,14286849,15532033,17956865,20512769,20774913,20971521,21692417,22544385,22937601,23265281,23461889,23527425,23592961,23658497,23789569,23855105,23920641,23986177,24051713,24117249,24182785,24248321,24313857,24510465,24576001],"getnetworkedobject":[8323076,11337729,12124161,17956865,23592961,23920641,24182785,24248321,24313857],"getchunkedmessage":[7602177,19136514,21299201],"gets":[589826,3604481,5242881,5963777,6029313,7077889,7274497,8323073,8847361,8912897,9371649,9764865,10092545,10158081,10289153,10551297,10682369,11337737,12124170,13893633,14417921,15990785,17891330,17956873,18022408,18415624,18743301,18874370,19267593,19398664,19464193,19529729,19726344,19857409,19922945,19988481,20119556,20185089,20250625,20578305,20643841,20709377,20774913,20840449,20905985,21102593,21233665,21430273,21561345,21626881,21692417,22085633,22151169,22609921,22740993,23003137,23068673,23134209,23199745,23330817,23592969,23920658,23986184,24051719,24117250,24182802,24248337,24313873,24576001],"getcomponents":[11337732,12124164,13107204,14286852,15532036,17956868,23592964,23920644,23986180,24051716,24117252,24182788,24248324,24313860]}
|
||||
{"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]}
|
@ -1 +1 @@
|
||||
{"hingejoint":[18022401,18415617,18743297,18874369,19267585,19398657,19726337,23920641,23986177,24051713,24117249,24182785,24248321,24313857],"header":[19136513],"history":[786433,3080193,21692417],"handleobjectspawning":[786433,2555906,21692417],"hosts":[786433,3276801,21364737,21692418],"handlerid":[8716289],"hierarchy":[20512769,20971521,21299201,21692417,21757953,22478849,22544385,22872065,22937601,23003137,23265281,23461889,23527425,23658497,23789569,23855105,23920641,23986177,24051713,24117249,24182785,24248321,24313857,24379393,24444929,24510465,24576001],"hostid":[393218,1572867,7798786,20774914],"hookmethodname":[655361,1048578,23789569],"hideflags":[18022401,18415617,18743297,18874369,19267585,19398657,19726337,23920641,23986177,24051713,24117249,24182785,24248321,24313857],"hellman":[786433,3014657,21692417],"handshake":[786433,1900545,21692417],"handler":[7929857,8716289,11337730,12124162,17956866,23592962,23920642,24182786,24248322,24313858],"hasmissingparts":[7602177,17104898,21299201],"hasduplicates":[7602177,16252930,21299201],"handle":[786433,2555905,21692417],"hashing":[9109505],"hte":[393217,1441793,20774913],"hash":[5963779,6029313,8519685,8847361,9109507,11141123,20774913,21692419],"handlers":[9043969,9240577,9371649,9764865,9961473,10092545,10158081,10223617,10354689,10551297,10878977,11337743,12124175,12255233,12386305,12845057,12910593,13500417,13893633,14417921,17891330,17956879,18939906,20119558,20316162,21823490,23592975,23920655,24182799,24248335,24313871],"helper":[21299201,22020098,22413313,23003137,24444929],"host":[1310722,3866625,3932161,7208961,7798786,10944513,11730945,14286850,18022401,18743297,19267585,19398657,19726337,20905985,21233665,21364737,23265283,23920641,24051715,24182785,24248321,24313857]}
|
||||
{"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]}
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
{"keys":[589825,5111809,24051713],"key":[131073,786437,2752514,3014657,3211266,3407873,7077890,19791876,20840452,21692421,22544385,23003138],"known":[13041667,13631491,13697027,14352387,14548995,14942211,15007747,15073283,15335427,15400963,15597571,15728643,15925251,16384003,16515075,16580611,16973827,17498115,17629187,19070979]}
|
||||
{"key":[262145,327685,851969,2228226,2424834,3014657,5570562,10092548,10813444,14221314,15335425,15466501]}
|
@ -1 +1 @@
|
||||
{"large":[7602177,19136514,21299201],"local":[8323073,10289153,11337730,12124162,17956866,18022401,18415617,18743297,19267585,19398657,19464193,19726337,21954561,22085633,23592962,23920643,23986177,24051713,24182787,24248323,24313859],"logic":[786433,2359297,21692417],"loose":[10682369,11337729,12124161,17956865,23592961,23920641,24182785,24248321,24313857],"library":[786433,2555905,21495809,21692417,24051713],"list":[786434,1769474,2424835,2686978,3276802,3342339,3538946,7602183,9502723,9764867,10551299,11075587,11337737,12124169,13107205,14286853,15532037,16056326,16187393,16252933,16646145,17104901,17432577,17891329,17956873,18219011,18284545,18350081,18481156,18546689,18939905,19136515,19660801,20119555,20316161,20381702,21037057,21299207,21692418,21823489,22216705,23396354,23592969,23920649,23986181,24051717,24117253,24182793,24248329,24313865],"longer":[18612225],"long":[14024705,14352385,14680065,15007745,15663105,15990785],"listen":[1310722,3473409,3866625,23265282],"locate":[18612225],"looking":[18612225],"link":[1],"lerp":[851969,4784129,24248321],"lag":[786433,3080193,21495809,21692417,21757953,22282241,24117249],"light":[18022401,18415617,18743297,18874369,19267585,19398657,19726337,23920641,23986177,24051713,24117249,24182785,24248321,24313857],"load":[5505025],"lagcompensationmanager":[6488066,16318466,18546690,19005442,20054019,21757956,22282241,23396354]}
|
||||
{"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]}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
{"ownerclientid":[18022401,18415617,19267585,19398657,19726337,20185090,22151170,23920641,23986177,24182785,24248321,24313857],"obj":[8650754],"ongainedownership":[10289154,11337729,12124161,17956865,23592961,23920641,24182785,24248321,24313857],"outside":[589825,5111809,24051713],"optional":[8847361,11730946,13041665,13631489,13697025,14352385,14548993,14942209,15007745,15073281,15335425,15400961,15597569,15728641,15925249,16056322,16384001,16515073,16580609,16842753,16973825,17498113,17629185,19070977,20381698],"ownedobjects":[131073,3538946,22544385],"onserverstarted":[589825,4653058,24051713],"objects":[6750209,16842753,17235969,20054017,21757953,22478849,23396353],"onlostownership":[10682370,11337729,12124161,17956865,23592961,23920641,24182785,24248321,24313857],"ownership":[10289153,10682369,11010049,11337730,12124162,13107201,17956866,23592962,23920642,23986177,24182786,24248322,24313858],"onclientdisconnectcallback":[589825,4456450,24051713],"operators":[20774913,22675458],"overrides":[6029314,11337729,17956865,20774914,23592961,24182785,24248321,24313857],"owns":[10354689,10878977,11337730,12124162,17956866,18022403,18939906,19267587,19398659,19529729,19726339,19922945,20185089,23592962,23920645,24182789,24248325,24313861],"override":[8650753,9109505,12255233,12386305,12845057,21495809,23920641],"object":[786433,2555905,5701636,5767174,5963782,6029316,6094854,6422532,6553604,6619142,6750211,6815750,7012358,7143428,7274500,7405572,7536646,8323073,8650757,9109505,9568261,9699329,9830405,9961473,10027013,10223617,10289153,10354689,10682369,10813441,10878977,11010049,11337751,11468801,11665410,12124183,13107215,14286862,15532046,16842753,17235969,17956887,18022405,18087939,18415627,18743298,18874370,18939906,19267589,19398661,19464193,19660802,19726341,19857410,20316162,20512776,20578305,20643842,20774916,20971527,21102593,21299201,21364738,21495809,21561346,21626881,21692425,21757953,22085633,22478852,22544391,22740993,22872065,22937607,23003137,23265287,23461893,23527429,23592983,23658501,23789573,23855109,23920670,23986204,24051730,24117267,24182814,24248350,24313886,24379393,24444929,24510471,24576005],"operator":[8060930,8454146],"order":[7602179,16056321,18481154,20381697,21299203],"original":[6684673,7602178,13369345,16056321,20381697,21299202,24444929],"obsolete":[11337729,12124161,13107201,14286849,15532033,17956865,18022417,18415633,18743313,18874385,19267601,19398673,19726353,23592961,23920658,23986194,24051730,24117266,24182802,24248338,24313874],"owned":[131073,3538945,18022401,18415617,19267585,19398657,19464193,19726337,22085633,22544385,23920641,23986177,24182785,24248321,24313857],"owner":[655361,917505,9699329,9961473,10223617,10813442,11337732,11468801,11665409,12124164,13107202,17956868,18415617,19660802,20316162,22151169,23592964,23789569,23920644,23986179,24182788,24248324,24313860],"overload":[7798785,8126465,9043969,9175041,9240577,9306113,9371649,9437185,9502721,9633793,9699329,9764865,9895937,9961473,10092545,10223617,10354689,10420225,10485761,10551297,10878977,11075585,11141121,11468801,11534337,12058625,12451841,12713985,12910593,13303809,13500417,13565953,13893633,14417921,15138817,15663105,16187393,16318465,16646145,17432577,17891329,18219009,18284545,18350081,18546689,18939905,19005441,19660801,20119553,20316161,21037057,21823489,22216705],"onclientconnectedcallback":[589825,4063234,24051713],"occur":[786433,2097153,21692417],"occurred":[5505025]}
|
||||
{"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]}
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
{"qostype":[1179650],"queue":[786433,2883585,21692417],"quaternion":[4521986,11730948,18087939],"qos":[262145,1179649,20512769]}
|
||||
{"qostype":[1310722],"queue":[327681,2162689,15466497],"quaternion":[13041667]}
|
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
@ -1 +1 @@
|
||||
{"uint64":[12451846,14745601,15073281,16121859,16515076,17432577,23724033,24379393],"useguilayout":[18022401,18415617,18743297,18874369,19267585,19398657,19726337,23920641,23986177,24051713,24117249,24182785,24248321,24313857],"url":[18612225],"unique":[18415617,21626881,23986177],"uint":[3145729,4063233,4456449,4521986,8126465,8323073,8716289,8912897,9175041,9371649,9502721,9764865,10485761,10551297,10813441,11665409,13565954,13893633,14090241,14548993,15728641,16252929,16318465,16842753,17104897,17301505,19922945,20185089,21626881,21954561,22151169,23134209],"ulong":[12451842,14745601,15073281,16121857,16515073],"unityengine":[11730948,18087938],"ump":[11337732,12124164,13107204,14286852,15532036,17956868,23592964,23920644,23986180,24051716,24117252,24182788,24248324,24313860],"uint32":[3145729,4063233,4456449,4521986,6488065,8126466,8323075,8716289,8912897,9175042,9371650,9502722,9764866,10485762,10551298,10813441,11337735,11665409,12124167,13565958,13893634,14090241,14548993,15728644,16187393,16252929,16318466,16646145,16842753,17104897,17301507,17432577,17891329,17956871,18219010,18546689,19922945,20119555,20185089,20774913,21626881,21757953,21954561,22151169,23134209,23592967,23724033,23920647,24182791,24248327,24313863,24379393],"updated":[655361,1048577,23789569],"unity":[589825,5111809,24051713],"user":[9043970,9175042,9240578,9306114,9371650,9437186,9502722,9633794,9699330,9764866,9895938,9961474,10092546,10223618,10354690,10420226,10485762,10551298,10878978,11075586,11468802,12058626,12713986,12910594,13303810,13500418,13893634,14417922],"using":[10747905,14286849,24051713],"udp":[1310721,3473409,23265281],"uses":[786434,2359297,3276801,21692418],"used":[131073,589825,786435,1769473,2162689,3342337,3407873,5111809,8716289,14811137,19267585,21364737,21495810,21692420,22544385,23330817,23986177,24051713,24117249,24182785,24576001],"uint16":[1245185,4325377,7798786,15204353,16187393,16908291,16973825,17498116,20774913,22740993],"ushort":[1245185,4325377,7798785,15204353,16908289,16973825,17498113,22740993]}
|
||||
{"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]}
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
{"writefloatarray":[7274497,17629189,24576001],"writeshort":[7274497,15794180,24576001],"writeintarray":[7274497,19070981,24576001],"writeuintarray":[7274497,15728645,24576001],"writedouble":[7274497,15859716,24576001],"writesbyte":[7274497,15269892,24576001],"writeuint":[7274497,17301508,24576001],"writelongarray":[7274497,15007749,24576001],"warp":[851969,6225921,24248321],"writeint":[7274497,18153476,24576001],"writebyte":[7274497,14155780,24576001],"web":[18612225],"writeulong":[7274497,16121860,24576001],"writealignbits":[7274497,16449539,24576001],"writebits":[7274497,16777221,24576001],"wait":[786433,1900545,21692417],"writedoublearray":[7274497,16580613,24576001],"websockets":[1310722,3473411,10747905,14286849,23265282,24051713],"writestring":[7274497,16711684,24576001],"writesbytearray":[7274497,15597573,24576001],"writefloat":[7274497,17039364,24576001],"writelong":[7274497,14680068,24576001],"writeulongarray":[7274497,16515077,24576001],"writeushortarray":[7274497,17498117,24576001],"writeshortarray":[7274497,16384005,24576001],"writebool":[7274497,17170436,24576001],"writeushort":[7274497,16908292,24576001],"write":[21495809,23920641],"written":[15138817,15663105],"writes":[7274497,15663105,18284545,24576001],"writebytearray":[7274497,15400965,24576001],"warpondestinationchange":[851969,6225922,24248321],"wheter":[196609,262145,786438,1376257,1638401,1703937,1835009,2031617,2490369,2555905,2818049,3014657,4194305,6029313,7208961,18743298,19988481,20512769,20774913,20971521,21430273,21692422,22937601,24051714]}
|
||||
{"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]}
|
@ -1 +1 @@
|
||||
{"xml":[786434,2752513,3211265,21692418]}
|
||||
{"xml":[327682,2228225,2424833,15466498]}
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
{"binary":[6684675,6815745,7274497,7602177,9043969,9175041,9306113,9371649,9437185,9502721,9633793,9699329,9895937,9961473,10223617,10354689,10420225,10485761,10551297,11075585,11337736,11468801,12058625,12124168,12451845,12648452,12713985,12779522,12910593,13041669,13238276,13369350,13434884,13500417,13565957,13631493,13697029,13762564,13828100,13893633,13959171,14024708,14090244,14155780,14221317,14352389,14483460,14548997,14614532,14680068,14745604,14811138,14876676,14942213,15007749,15073285,15138818,15204356,15269892,15335429,15400965,15466500,15597573,15663107,15728645,15794180,15859716,15925253,15990786,16056323,16121860,16252930,16384005,16449539,16515077,16580613,16646145,16711684,16777221,16908292,16973829,17039364,17104898,17170436,17301508,17367043,17432577,17498117,17629189,17760259,17956872,18153476,18219010,18284545,18350081,18481154,19070981,19136514,19660801,20316161,20381699,21037057,21299203,21823489,22020098,23592968,23724033,23920648,24182792,24248328,24313864,24379396,24444934,24510468,24576005],"box":[18612225],"broadcastmessage":[11337732,12124164,13107204,14286852,15532036,17956868,23592964,23920644,23986180,24051716,24117252,24182788,24248324,24313860],"behaviour":[18022402,18415618,18743298,18874370,19267586,19398658,19726338,23920643,23986179,24051715,24117251,24182787,24248323,24313859],"buffer":[786433,2228225,7077890,7274497,7602178,9043969,9175041,9240577,9371649,9502721,9633793,9699329,9764865,9895937,9961473,10092545,10354689,10485761,10551297,10878977,11337748,12058625,12124180,12910593,13303809,13893633,14417921,15663108,16056321,16646145,17891330,17956884,18219012,18284545,18350081,18939906,19660801,19791874,20119558,20316161,20381697,20840450,21037057,21299202,21692417,21823489,23003138,23592980,23920660,24182804,24248340,24313876,24576001],"binaryserializer":[6684675,12779522,13369346,13762562,22020097,24444932],"binaryignore":[5701635,7471108,18808835,21168129,23461894],"based":[6488065,16318465,18546689,21757953],"bitwriter":[7274499,14155780,14680068,14811139,15007749,15138818,15269892,15400965,15597573,15663107,15728645,15794180,15859716,15990786,16121860,16384005,16449539,16515077,16580613,16711684,16777221,16908292,17039364,17170436,17301508,17498117,17629189,17760259,18153476,18284546,19070981,22020097,24576007],"binaryhelpers":[12451845,13565957,17432578,22020097,23724034,24379396],"bool":[589825,917505,1376257,1638401,1703937,1835009,2031617,2359297,2555905,2818049,3014657,3473409,3604481,3997697,4194305,4521985,4849665,5046273,5111810,5242881,5308417,5373953,5570561,6225921,7208961,7733249,7798786,8060929,8454145,8519681,8650753,8847361,11993089,12976129,14483457,15007745,15400961,15597569,15728641,16252929,16384001,16515073,16580609,17104897,17170433,17498113,17629185,18481153,19070977,19464193,19857409,19988481,20250625,20578305,20643841,20709377,20905985,21102593,21233665,21430273,21561345,22085633,22609921,24051713],"base":[21495809,23920641],"bitreader":[6815747,12648452,13041669,13238276,13434884,13631493,13697029,13828100,13959173,14024708,14090244,14221317,14352389,14483460,14548997,14614532,14745604,14876676,14942213,15073285,15204356,15335429,15466500,15925253,16973829,17367043,22020097,24510471],"bytes":[7077890,7274497,15663105,15990786,19136513,19791873,20840449,23003138,24576001],"byte":[1441794,1572866,2162690,3407874,4521986,7274497,7602177,7798787,8519684,8716290,8847362,9043971,9175043,9371651,9502723,9633795,9699331,9895939,9961475,10354691,10485763,10551299,11337742,12058627,12124174,12910595,13369346,13762562,13893635,13959171,14155780,14221314,14876674,15138818,15335426,15400965,15663108,16056325,16187393,16252930,16646145,16777221,17104898,17891329,17956878,18219011,18284545,18350081,18481154,18939905,19136518,19660801,19791879,20119555,20316161,20381701,20774913,20840455,21037057,21299201,21823489,23592974,23920654,24182798,24248334,24313870,24576001],"bits":[14221315,16777219],"background":[589825,3604481,24051713],"boolean":[917505,1376257,1638401,1703937,1835009,2031617,2359297,2555905,2818049,3014657,3473409,3604481,3997697,4194305,4521985,4849665,5046273,5111809,5242881,5308417,5373953,5570561,6225921,7208961,7733249,7798788,8060929,8454145,8519681,8650753,8847363,11337736,11993089,12124168,12976131,13107208,14286856,14483457,15007748,15400964,15532040,15597572,15728644,16187394,16252929,16384004,16515076,16580612,17104897,17170435,17498116,17629188,17956872,18481153,19070980,19464193,19857409,19988481,20250625,20578305,20643841,20709377,20774914,20905985,21102593,21233665,21430273,21561345,22085633,22609921,23592968,23920648,23986184,24051720,24117256,24182792,24248328,24313864]}
|
||||
{"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]}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
21
docs/html/F_MLAPI_Attributes_SyncedVar_hook.htm
Normal file
21
docs/html/F_MLAPI_Attributes_SyncedVar_hook.htm
Normal 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.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) + "&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>
|
@ -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.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) + "&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>
|
@ -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.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) + "&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>
|
@ -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>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) + "&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>
|
@ -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>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) + "&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>
|
@ -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>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) + "&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>
|
@ -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>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) + "&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>
|
@ -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>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) + "&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>
|
@ -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>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) + "&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>
|
@ -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>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) + "&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>
|
@ -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>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) + "&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
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user