Beispiel #1
0
        public void TestArrayAssignArrayItem()
        {
            var sock2 = new NetServer.Socket();

            sock2.pid = 2;


            var p2 = new NetServer.Player();

            p2.netId = 11;
            p2.InitName("");
            p2.InitSocket(sock2);
            p2.InitPosition(new NetServer.Position(0, 0, 0, 0, 0, 0));
            p2.InitInventory(new NetServer.Inventory(new NetServer.Item[] { new NetServer.Item(0, 0, 1), new NetServer.Item(0, 0, 1) }, 111));

            NetServer.Main.players.Add(sock2.pid, p2);

            p2.Write(sock2, sock2.tickStream);
            var netreader = new NetClient.NetReader();

            sock2.tickStream.BaseStream.Position = 0;
            netreader.ReadTick(new BinaryReader(sock2.tickStream.BaseStream));
            AssertPlayerEqual(p2, netreader.Get <NetClient.Player>(p2.netId), false, false);


            p2.GetInventory().GetItems()[0] = new NetServer.Item(1, 1, 1);

            sock2.tickStream.BaseStream.Position = 0;
            netreader.ReadTick(new BinaryReader(sock2.tickStream.BaseStream));
            AssertPlayerEqual(p2, netreader.Get <NetClient.Player>(p2.netId), false, false);
        }
Beispiel #2
0
        public void AssertPlayerEqual(NetServer.Player expected, NetClient.Player actual, bool ignoreInventory = true, bool expectNullInventory = false)
        {
            Assert.AreEqual(expected.GetName(), actual.GetName());
            if (expected.GetPosition() == null)
            {
                Assert.IsNull(actual.GetPosition());
            }
            else
            {
                Assert.IsNotNull(actual.GetPosition());
                Assert.AreEqual(expected.GetPosition().GetX(), actual.GetPosition().GetX());
                Assert.AreEqual(expected.GetPosition().GetY(), actual.GetPosition().GetY());
                Assert.AreEqual(expected.GetPosition().GetZ(), actual.GetPosition().GetZ());
            }

            Assert.AreEqual(expected.GetHealth(), actual.GetHealth());
            Assert.AreEqual(expected.GetMaxHealth(), actual.GetMaxHealth());
            Assert.AreEqual(expected.GetMana(), actual.GetMana());
            Assert.AreEqual(expected.GetMaxMana(), actual.GetMaxMana());
            Assert.AreEqual(expected.GetName(), actual.GetName());
            Assert.AreEqual(expected.GetName(), actual.GetName());

            if (!ignoreInventory)
            {
                if (expectNullInventory)
                {
                    Assert.IsNull(actual.GetInventory());
                }
                else
                {
                    if (expected.GetInventory() == null)
                    {
                        Assert.IsNull(actual.GetInventory());
                    }
                    else
                    {
                        Assert.IsNotNull(actual.GetInventory());
                        Assert.AreEqual(expected.GetInventory().GetCoins(), actual.GetInventory().GetCoins());
                    }
                }
            }
        }