mirror of
https://github.com/MirrorNetworking/Mirror.git
synced 2024-11-18 02:50:32 +00:00
Tests: SyncVarCacheNetidForBehaviour: don't use generic magic
This commit is contained in:
parent
b2105be8f1
commit
bbeb544d23
@ -350,12 +350,35 @@ public void SyncVarCacheNetidForIdentity(bool initialState)
|
||||
[TestCase(false)]
|
||||
public void SyncVarCacheNetidForBehaviour(bool initialState)
|
||||
{
|
||||
SyncVarCacheNetidForGeneric<SyncVarNetworkBehaviour, SyncVarNetworkBehaviour>(
|
||||
(obj) => obj.value,
|
||||
(obj, value) => obj.value = value,
|
||||
(identity) => identity.gameObject.AddComponent<SyncVarNetworkBehaviour>(),
|
||||
initialState
|
||||
);
|
||||
CreateNetworked(out GameObject _, out NetworkIdentity _, out SyncVarNetworkBehaviour serverObject);
|
||||
CreateNetworked(out GameObject _, out NetworkIdentity _, out SyncVarNetworkBehaviour clientObject);
|
||||
|
||||
NetworkIdentity identity = CreateNetworkIdentity(2047);
|
||||
SyncVarNetworkBehaviour serverValue = identity.gameObject.AddComponent<SyncVarNetworkBehaviour>();
|
||||
|
||||
Assert.That(serverValue, Is.Not.Null, "getCreatedValue should not return null");
|
||||
|
||||
serverObject.value = serverValue;
|
||||
clientObject.value = null;
|
||||
|
||||
// write server data
|
||||
bool written = ServerWrite(serverObject, initialState, out ArraySegment<byte> data, out int writeLength);
|
||||
Assert.IsTrue(written, "did not write");
|
||||
|
||||
// remove identity from collection
|
||||
NetworkIdentity.spawned.Remove(identity.netId);
|
||||
|
||||
// read client data, this should be cached in field
|
||||
ClientRead(clientObject, initialState, data, writeLength);
|
||||
|
||||
// check field shows as null
|
||||
Assert.That(clientObject.value, Is.EqualTo(null), "field should return null");
|
||||
|
||||
// add identity back to collection
|
||||
NetworkIdentity.spawned.Add(identity.netId, identity);
|
||||
|
||||
// check field finds value
|
||||
Assert.That(clientObject.value, Is.EqualTo(serverValue), "fields should return serverValue");
|
||||
}
|
||||
|
||||
void SyncVarCacheNetidForGeneric<TBehaviour, TValue>(
|
||||
|
Loading…
Reference in New Issue
Block a user