示例#1
0
        public void TestMobileStamN()
        {
            var m = new Mobile(0x1);

            m.DefaultMobileInit();

            var data = new MobileStamN(m).Compile();

            Span <byte> expectedData = stackalloc byte[9];
            var         pos          = 0;

            expectedData.Write(ref pos, (byte)0xA3); // Packet ID
            expectedData.Write(ref pos, m.Serial);
            expectedData.WriteAttribute(ref pos, m.Stam, m.StamMax, true);

            AssertThat.Equal(data, expectedData);
        }
示例#2
0
        public void OnStamChanged(Mobile m)
        {
            Packet p = null;

            for (int i = 0; i < m_Members.Count; ++i)
            {
                Mobile c = ((PartyMemberInfo)m_Members[i]).Mobile;

                if (c != m && m.Map == c.Map && Utility.InUpdateRange(c, m) && c.CanSee(m))
                {
                    if (p == null)
                    {
                        p = new MobileStamN(m);
                    }

                    c.Send(p);
                }
            }
        }