public void ImplicitFrom_SetsValue() { // field = T implicit conversion should set .Value SyncVarNetworkBehaviour <EmptyBehaviour> field = serverComponent; Assert.That(field.Value, Is.EqualTo(serverComponent)); }
public void OperatorEquals() { // != null SyncVarNetworkBehaviour <EmptyBehaviour> field = new SyncVarNetworkBehaviour <EmptyBehaviour>(serverComponent); // NOTE: this throws a compilation error, which is good! // we don't want users to do 'player.target == null'. // better to not compile than to fail silently. // Assert.That(field != null, Is.True); // different SyncVar<T>, same .Value SyncVarNetworkBehaviour <EmptyBehaviour> fieldSame = new SyncVarNetworkBehaviour <EmptyBehaviour>(serverComponent); Assert.That(field == fieldSame, Is.True); Assert.That(field != fieldSame, Is.False); // different SyncVar<T>, different .Value SyncVarNetworkBehaviour <EmptyBehaviour> fieldNull = new SyncVarNetworkBehaviour <EmptyBehaviour>(null); Assert.That(field == fieldNull, Is.False); Assert.That(field != fieldNull, Is.True); // same NetworkBehaviour<EmptyBehaviour> Assert.That(field == serverComponent, Is.True); Assert.That(field != serverComponent, Is.False); // different NetworkBehaviour<EmptyBehaviour> CreateNetworked(out GameObject otherGo, out NetworkIdentity otherIdentity, out EmptyBehaviour otherComp); Assert.That(field == otherComp, Is.False); Assert.That(field != otherComp, Is.True); }
public void Unpack() { SyncVarNetworkBehaviour <EmptyBehaviour> .Unpack(0xAABBCCDD00000012, out uint netId, out byte componentIndex); Assert.That(netId, Is.EqualTo(0xAABBCCDD)); Assert.That(componentIndex, Is.EqualTo(0x12)); }
public void ImplicitTo() { SyncVarNetworkBehaviour <EmptyBehaviour> field = new SyncVarNetworkBehaviour <EmptyBehaviour>(serverComponent); // T = field implicit conversion should get .Value EmptyBehaviour value = field; Assert.That(value, Is.EqualTo(serverComponent)); }
public void EqualsTest() { SyncVarNetworkBehaviour <EmptyBehaviour> fieldA = new SyncVarNetworkBehaviour <EmptyBehaviour>(serverComponent); SyncVarNetworkBehaviour <EmptyBehaviour> fieldB = new SyncVarNetworkBehaviour <EmptyBehaviour>(serverComponent); SyncVarNetworkBehaviour <EmptyBehaviour> fieldC = new SyncVarNetworkBehaviour <EmptyBehaviour>(null); Assert.That(fieldA.Equals(fieldB), Is.True); Assert.That(fieldA.Equals(fieldC), Is.False); }
public void Value_NetworkBehaviour() { SyncVarNetworkBehaviour <EmptyBehaviour> field = new SyncVarNetworkBehaviour <EmptyBehaviour>(null); // avoid 'not initialized' exception field.OnDirty = () => {}; field.Value = serverComponent; Assert.That(field.Value, Is.EqualTo(serverComponent)); }
public void SerializeDeltaWritesNetIdAndComponentIndex() { SyncVarNetworkBehaviour <EmptyBehaviour> field = new SyncVarNetworkBehaviour <EmptyBehaviour>(serverComponent); NetworkWriter writer = new NetworkWriter(); field.OnSerializeDelta(writer); NetworkReader reader = new NetworkReader(writer.ToArraySegment()); Assert.That(reader.ReadUInt(), Is.EqualTo(serverComponent.netId)); Assert.That(reader.ReadByte(), Is.EqualTo(serverComponent.ComponentIndex)); }
public void PersistenceThroughDisappearance() { // field with NetworkBehaviour SyncVarNetworkBehaviour <EmptyBehaviour> field = new SyncVarNetworkBehaviour <EmptyBehaviour>(serverComponent); // remove from spawned, shouldn't be found anymore NetworkServer.spawned.Remove(serverIdentity.netId); Assert.That(field.Value, Is.EqualTo(null)); // add to spawned again, should be found again NetworkServer.spawned[serverIdentity.netId] = serverIdentity; Assert.That(field.Value, Is.EqualTo(serverComponent)); }
public void DeserializeDeltaReadsNetIdAndComponentIndex() { NetworkWriter writer = new NetworkWriter(); writer.WriteUInt(serverComponent.netId); writer.WriteByte((byte)serverComponent.ComponentIndex); NetworkReader reader = new NetworkReader(writer.ToArraySegment()); SyncVarNetworkBehaviour <EmptyBehaviour> field = new SyncVarNetworkBehaviour <EmptyBehaviour>(null); // avoid 'not initialized' exception field.OnDirty = () => {}; field.OnDeserializeDelta(reader); Assert.That(field.Value, Is.EqualTo(serverComponent)); }
public void Hook() { int called = 0; void OnChanged(NetworkBehaviour oldValue, NetworkBehaviour newValue) { ++called; Assert.That(oldValue, Is.Null); Assert.That(newValue, Is.EqualTo(component)); } SyncVarNetworkBehaviour <NetworkBehaviour> field = new SyncVarNetworkBehaviour <NetworkBehaviour>(null, OnChanged); // avoid 'not initialized' exception field.OnDirty = () => {}; field.Value = component; Assert.That(called, Is.EqualTo(1)); }
public void Constructor_NetworkBehaviour() { SyncVarNetworkBehaviour <EmptyBehaviour> field = new SyncVarNetworkBehaviour <EmptyBehaviour>(serverComponent); Assert.That(field.Value, Is.EqualTo(serverComponent)); }
public void Pack() { ulong packed = SyncVarNetworkBehaviour <EmptyBehaviour> .Pack(0xAABBCCDD, 0x12); Assert.That(packed, Is.EqualTo(0xAABBCCDD00000012)); }