コード例 #1
0
ファイル: ScreenEffect.cs プロジェクト: greeduomacro/RuneUO
		public VNScreenEffect(ScreenEffectType type)
			: base(0x70, 28)
		{
			m_Stream.Write((byte)0x04);
			m_Stream.Fill(8);
			m_Stream.Write((short)type);
			m_Stream.Fill(16);
		}
コード例 #2
0
ファイル: EffectPackets.cs プロジェクト: silky/ModernUO
 public ScreenEffect(ScreenEffectType type)
     : base(0x70, 28)
 {
     Stream.Write((byte)0x04);
     Stream.Fill(8);
     Stream.Write((short)type);
     Stream.Fill(16);
 }
コード例 #3
0
        public void TestScreenEffect(ScreenEffectType screenType)
        {
            var expected = new ScreenEffect(screenType).Compile();

            using var ns = PacketTestUtilities.CreateTestNetState();
            ns.SendScreenEffect(screenType);

            var result = ns.SendPipe.Reader.TryRead();

            AssertThat.Equal(result.Buffer[0].AsSpan(0), expected);
        }
コード例 #4
0
    public static void SendScreenEffect(this NetState ns, ScreenEffectType type)
    {
        if (ns.CannotSendPackets())
        {
            return;
        }

        var writer = new SpanWriter(stackalloc byte[28]);

        writer.Write((byte)0x70); // Packet ID
        writer.Write((byte)0x4);
        writer.Clear(8);
        writer.Write((ushort)type);
        writer.Clear(16);

        ns.Send(writer.Span);
    }
コード例 #5
0
        public static void SendScreenEffect(this NetState ns, ScreenEffectType type)
        {
            if (ns == null || !ns.GetSendBuffer(out var buffer))
            {
                return;
            }

            var writer = new CircularBufferWriter(buffer);

            writer.Write((byte)0x70); // Packet ID
            writer.Write((byte)0x4);
            writer.Clear(8);
            writer.Write((ushort)type);
            writer.Clear(16);

            ns.Send(ref buffer, writer.Position);
        }