Updates Light Packets & World Loading (#316)

- [X] Changes light packets
- [X] Updates world loading

Bumps release version
This commit is contained in:
Kamron Batman 2020-11-17 00:46:06 -08:00 committed by GitHub
parent 313eda6a3e
commit d2cfeb06ab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 112 additions and 115 deletions

View file

@ -2,7 +2,7 @@
* ModernUO *
* Copyright 2019-2020 - ModernUO Development Team *
* Email: hi@modernuo.com *
* File: LightPackets.cs *
* File: OutgoingLightPackets.cs *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
@ -13,38 +13,38 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
*************************************************************************/
using System.Buffers;
namespace Server.Network
{
public sealed class GlobalLightLevel : Packet
public static class OutgoingLightPackets
{
private static readonly GlobalLightLevel[] m_Cache = new GlobalLightLevel[0x100];
public GlobalLightLevel(int level) : base(0x4F, 2)
public static void SendPersonalLightLevel(this NetState ns, Serial serial, int level)
{
Stream.Write((sbyte)level);
}
public static GlobalLightLevel Instantiate(int level)
{
var lvl = (byte)level;
var p = m_Cache[lvl];
if (p == null)
if (ns == null || !ns.GetSendBuffer(out var buffer))
{
m_Cache[lvl] = p = new GlobalLightLevel(level);
p.SetStatic();
return;
}
return p;
}
}
var writer = new CircularBufferWriter(buffer);
writer.Write((byte)0x4E); // Packet ID
writer.Write(serial);
writer.Write((byte)level);
public sealed class PersonalLightLevel : Packet
{
public PersonalLightLevel(Serial mobile, int level = 0) : base(0x4E, 6)
ns.Send(ref buffer, 6);
}
public static void SendGlobalLightLevel(this NetState ns, int level = 0)
{
Stream.Write(mobile);
Stream.Write((sbyte)level);
if (ns == null || !ns.GetSendBuffer(out var buffer))
{
return;
}
buffer[0] = 0x4F; // Packet ID
buffer[1] = (byte)level;
ns.Send(ref buffer, 2);
}
}
}