fixed: ownership changing

This commit is contained in:
2022-10-02 16:00:34 +04:00
parent 85081e1da7
commit 5771ec738b
2 changed files with 24 additions and 13 deletions
+2
View File
@@ -28,6 +28,8 @@ public class Entity
Authority = eventAuthority;
}
public void UpdateOwner(ushort ownerId) => OwnerId = ownerId;
public void ReplicateProperties(RagonSerializer serializer)
{
serializer.WriteUShort(EntityId);
+9
View File
@@ -116,9 +116,17 @@ namespace Ragon.Core
_owner = nextOwnerId;
var nextOwner = _players[nextOwnerId];
var entitiesToUpdate = player.Entities.Where(e => e.StaticId > 0).ToArray();
_serializer.Clear();
_serializer.WriteOperation(RagonOperation.OWNERSHIP_CHANGED);
_serializer.WriteString(nextOwner.Id);
_serializer.WriteUShort((ushort) entitiesToUpdate.Length);
foreach (var entity in entitiesToUpdate)
{
_serializer.WriteUShort(entity.EntityId);
entity.UpdateOwner((ushort) nextOwnerId);
}
var sendData = _serializer.ToArray();
Broadcast(_readyPlayers, sendData);
@@ -431,6 +439,7 @@ namespace Ragon.Core
var sendData = _serializer.ToArray();
Broadcast(_readyPlayers, sendData, DeliveryType.Reliable);
}
break;
}
}