Stabilized and optimized library
This commit is contained in:
parent
5426f4a421
commit
34031beee0
@ -266,12 +266,12 @@ namespace MLAPI
|
|||||||
using (BinaryWriter writer = new BinaryWriter(stream))
|
using (BinaryWriter writer = new BinaryWriter(stream))
|
||||||
{
|
{
|
||||||
//Write all indexes
|
//Write all indexes
|
||||||
writer.Write(dirtyFields.Length);
|
writer.Write((byte)dirtyFields.Length);
|
||||||
|
writer.Write(networkId); //NetId
|
||||||
|
writer.Write(networkedObject.GetOrderIndex(this)); //Behaviour OrderIndex
|
||||||
for (byte i = 0; i < dirtyFields.Length; i++)
|
for (byte i = 0; i < dirtyFields.Length; i++)
|
||||||
{
|
{
|
||||||
writer.Write(networkId);
|
writer.Write(i); //FieldIndex
|
||||||
writer.Write(networkedObject.GetOrderIndex(this));
|
|
||||||
writer.Write(i); //Index
|
|
||||||
switch (syncedFieldTypes[i])
|
switch (syncedFieldTypes[i])
|
||||||
{
|
{
|
||||||
case FieldType.Bool:
|
case FieldType.Bool:
|
||||||
@ -332,8 +332,8 @@ namespace MLAPI
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
NetworkingManager.singleton.Send(clientId, "MLAPI_SYNC_VAR_UPDATE", "MLAPI_RELIABLE_FRAGMENTED_SEQUENCED", stream.ToArray());
|
|
||||||
}
|
}
|
||||||
|
NetworkingManager.singleton.Send(clientId, "MLAPI_SYNC_VAR_UPDATE", "MLAPI_RELIABLE_FRAGMENTED_SEQUENCED", stream.ToArray());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -353,14 +353,14 @@ namespace MLAPI
|
|||||||
{
|
{
|
||||||
//Write all indexes
|
//Write all indexes
|
||||||
writer.Write(dirtyCount);
|
writer.Write(dirtyCount);
|
||||||
|
writer.Write(networkId); //NetId
|
||||||
|
writer.Write(networkedObject.GetOrderIndex(this)); //Behaviour OrderIndex
|
||||||
for (byte i = 0; i < dirtyFields.Length; i++)
|
for (byte i = 0; i < dirtyFields.Length; i++)
|
||||||
{
|
{
|
||||||
//Writes all the indexes of the dirty syncvars.
|
//Writes all the indexes of the dirty syncvars.
|
||||||
if (dirtyFields[i] == true)
|
if (dirtyFields[i] == true)
|
||||||
{
|
{
|
||||||
writer.Write(networkId);
|
writer.Write(i); //FieldIndex
|
||||||
writer.Write(networkedObject.GetOrderIndex(this));
|
|
||||||
writer.Write(i); //Index
|
|
||||||
switch (syncedFieldTypes[i])
|
switch (syncedFieldTypes[i])
|
||||||
{
|
{
|
||||||
case FieldType.Bool:
|
case FieldType.Bool:
|
||||||
@ -425,8 +425,8 @@ namespace MLAPI
|
|||||||
dirtyFields[i] = false;
|
dirtyFields[i] = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
NetworkingManager.singleton.Send("MLAPI_SYNC_VAR_UPDATE", "MLAPI_RELIABLE_FRAGMENTED_SEQUENCED", stream.ToArray(), ownerClientId);
|
|
||||||
}
|
}
|
||||||
|
NetworkingManager.singleton.Send("MLAPI_SYNC_VAR_UPDATE", "MLAPI_RELIABLE_FRAGMENTED_SEQUENCED", stream.ToArray());
|
||||||
}
|
}
|
||||||
lastSyncTime = Time.time;
|
lastSyncTime = Time.time;
|
||||||
}
|
}
|
||||||
|
@ -86,8 +86,7 @@ namespace MLAPI
|
|||||||
if(!childNetworkedBehaviours[i].networkedStartInvoked)
|
if(!childNetworkedBehaviours[i].networkedStartInvoked)
|
||||||
{
|
{
|
||||||
childNetworkedBehaviours[i].NetworkStart();
|
childNetworkedBehaviours[i].NetworkStart();
|
||||||
if (NetworkingManager.singleton.isServer)
|
childNetworkedBehaviours[i].SyncVarInit();
|
||||||
childNetworkedBehaviours[i].SyncVarInit();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -451,6 +451,16 @@ namespace MLAPI
|
|||||||
//Custom message, invoke all message handlers
|
//Custom message, invoke all message handlers
|
||||||
if(targeted)
|
if(targeted)
|
||||||
{
|
{
|
||||||
|
if(!MessageManager.targetedMessages.ContainsKey(messageType))
|
||||||
|
{
|
||||||
|
Debug.LogWarning("MLAPI: No handlers for the given messagetype");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if(!MessageManager.targetedMessages[messageType].ContainsKey(targetNetworkId))
|
||||||
|
{
|
||||||
|
Debug.LogWarning("MLAPI: No handlers for the given networkId");
|
||||||
|
return;
|
||||||
|
}
|
||||||
List<int> handlerIds = MessageManager.targetedMessages[messageType][targetNetworkId];
|
List<int> handlerIds = MessageManager.targetedMessages[messageType][targetNetworkId];
|
||||||
for (int i = 0; i < handlerIds.Count; i++)
|
for (int i = 0; i < handlerIds.Count; i++)
|
||||||
{
|
{
|
||||||
@ -688,7 +698,7 @@ namespace MLAPI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 9: //Syncvar
|
||||||
if (isClient)
|
if (isClient)
|
||||||
{
|
{
|
||||||
using (MemoryStream messageReadStream = new MemoryStream(incommingData))
|
using (MemoryStream messageReadStream = new MemoryStream(incommingData))
|
||||||
@ -696,12 +706,12 @@ namespace MLAPI
|
|||||||
using (BinaryReader messageReader = new BinaryReader(messageReadStream))
|
using (BinaryReader messageReader = new BinaryReader(messageReadStream))
|
||||||
{
|
{
|
||||||
byte dirtyCount = messageReader.ReadByte();
|
byte dirtyCount = messageReader.ReadByte();
|
||||||
if(dirtyCount > 0)
|
uint netId = messageReader.ReadUInt32();
|
||||||
|
ushort orderIndex = messageReader.ReadUInt16();
|
||||||
|
if (dirtyCount > 0)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < dirtyCount; i++)
|
for (int i = 0; i < dirtyCount; i++)
|
||||||
{
|
{
|
||||||
uint netId = messageReader.ReadUInt32(); //NetId the syncvar is from
|
|
||||||
ushort orderIndex = messageReader.ReadUInt16();
|
|
||||||
byte fieldIndex = messageReader.ReadByte();
|
byte fieldIndex = messageReader.ReadByte();
|
||||||
if(!SpawnManager.spawnedObjects.ContainsKey(netId))
|
if(!SpawnManager.spawnedObjects.ContainsKey(netId))
|
||||||
{
|
{
|
||||||
|
@ -81,7 +81,7 @@ namespace MLAPI.MonoBehaviours.Prototyping
|
|||||||
writer.Write(transform.rotation.eulerAngles.z);
|
writer.Write(transform.rotation.eulerAngles.z);
|
||||||
}
|
}
|
||||||
if (isServer)
|
if (isServer)
|
||||||
SendToNonLocalClientsTarget("MLAPI_OnRecieveTransformFromClient", "MLAPI_POSITION_UPDATE", writeStream.GetBuffer());
|
SendToClientsTarget("MLAPI_OnRecieveTransformFromServer", "MLAPI_POSITION_UPDATE", writeStream.GetBuffer());
|
||||||
else
|
else
|
||||||
SendToServerTarget("MLAPI_OnRecieveTransformFromClient", "MLAPI_POSITION_UPDATE", writeStream.GetBuffer());
|
SendToServerTarget("MLAPI_OnRecieveTransformFromClient", "MLAPI_POSITION_UPDATE", writeStream.GetBuffer());
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user