Exemplo n.º 1
0
        public void OperatorEquals()
        {
            // != null
            SyncVarNetworkIdentity field = new SyncVarNetworkIdentity(serverIdentity);

            // 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
            SyncVarNetworkIdentity fieldSame = new SyncVarNetworkIdentity(serverIdentity);

            Assert.That(field == fieldSame, Is.True);
            Assert.That(field != fieldSame, Is.False);

            // different SyncVar<T>, different .Value
            SyncVarNetworkIdentity fieldNull = new SyncVarNetworkIdentity(null);

            Assert.That(field == fieldNull, Is.False);
            Assert.That(field != fieldNull, Is.True);

            // same NetworkIdentity
            Assert.That(field == serverIdentity, Is.True);
            Assert.That(field != serverIdentity, Is.False);

            // different NetworkIdentity
            NetworkIdentity other = new GameObject().AddComponent <NetworkIdentity>();

            Assert.That(field == other, Is.False);
            Assert.That(field != other, Is.True);
        }
Exemplo n.º 2
0
        public void ImplicitFrom_SetsValue()
        {
            // field = T implicit conversion should set .Value
            SyncVarNetworkIdentity field = serverIdentity;

            Assert.That(field.Value, Is.EqualTo(serverIdentity));
        }
Exemplo n.º 3
0
        public void ImplicitTo()
        {
            SyncVarNetworkIdentity field = new SyncVarNetworkIdentity(serverIdentity);
            // T = field implicit conversion should get .Value
            NetworkIdentity value = field;

            Assert.That(value, Is.EqualTo(serverIdentity));
        }
Exemplo n.º 4
0
        public void EqualsTest()
        {
            SyncVarNetworkIdentity fieldA = new SyncVarNetworkIdentity(serverIdentity);
            SyncVarNetworkIdentity fieldB = new SyncVarNetworkIdentity(serverIdentity);
            SyncVarNetworkIdentity fieldC = new SyncVarNetworkIdentity(null);

            Assert.That(fieldA.Equals(fieldB), Is.True);
            Assert.That(fieldA.Equals(fieldC), Is.False);
        }
Exemplo n.º 5
0
        public void Value_NetworkIdentity()
        {
            SyncVarNetworkIdentity field = new SyncVarNetworkIdentity(null);

            // avoid 'not initialized' exception
            field.OnDirty = () => {};

            field.Value = serverIdentity;
            Assert.That(field.Value, Is.EqualTo(serverIdentity));
        }
Exemplo n.º 6
0
        public void SerializeDeltaWritesNetId()
        {
            SyncVarNetworkIdentity field  = new SyncVarNetworkIdentity(serverIdentity);
            NetworkWriter          writer = new NetworkWriter();

            field.OnSerializeDelta(writer);

            NetworkReader reader = new NetworkReader(writer.ToArraySegment());

            Assert.That(reader.ReadUInt(), Is.EqualTo(serverIdentity.netId));
        }
Exemplo n.º 7
0
        public void PersistenceThroughDisappearance()
        {
            // field with identity
            SyncVarNetworkIdentity field = new SyncVarNetworkIdentity(serverIdentity);

            // 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(serverIdentity));
        }
Exemplo n.º 8
0
        public void DeserializeDeltaReadsNetId()
        {
            NetworkWriter writer = new NetworkWriter();

            writer.WriteUInt(serverIdentity.netId);
            NetworkReader reader = new NetworkReader(writer.ToArraySegment());

            SyncVarNetworkIdentity field = new SyncVarNetworkIdentity(null);

            // avoid 'not initialized' exception
            field.OnDirty = () => {};

            field.OnDeserializeDelta(reader);
            Assert.That(field.Value, Is.EqualTo(serverIdentity));
        }
Exemplo n.º 9
0
        public void Hook()
        {
            int called = 0;

            void OnChanged(NetworkIdentity oldValue, NetworkIdentity newValue)
            {
                ++called;
                Assert.That(oldValue, Is.Null);
                Assert.That(newValue, Is.EqualTo(identity));
            }

            SyncVarNetworkIdentity field = new SyncVarNetworkIdentity(null, OnChanged);

            // avoid 'not initialized' exception
            field.OnDirty = () => {};

            field.Value = identity;
            Assert.That(called, Is.EqualTo(1));
        }
Exemplo n.º 10
0
        public void Constructor_NetworkIdentity()
        {
            SyncVarNetworkIdentity field = new SyncVarNetworkIdentity(serverIdentity);

            Assert.That(field.Value, Is.EqualTo(serverIdentity));
        }