Implement time update packet on the client

This commit is contained in:
Drew DeVault 2016-04-20 18:55:16 -04:00
parent 4dd67d30fa
commit 528eb2c5f4
3 changed files with 13 additions and 5 deletions

View File

@ -17,6 +17,7 @@ namespace TrueCraft.Client.Handlers
client.RegisterPacketHandler(new SetPlayerPositionPacket().ID, HandlePositionAndLook); client.RegisterPacketHandler(new SetPlayerPositionPacket().ID, HandlePositionAndLook);
client.RegisterPacketHandler(new LoginResponsePacket().ID, HandleLoginResponse); client.RegisterPacketHandler(new LoginResponsePacket().ID, HandleLoginResponse);
client.RegisterPacketHandler(new UpdateHealthPacket().ID, HandleUpdateHealth); client.RegisterPacketHandler(new UpdateHealthPacket().ID, HandleUpdateHealth);
client.RegisterPacketHandler(new TimeUpdatePacket().ID, HandleTimeUpdate);
client.RegisterPacketHandler(new ChunkPreamblePacket().ID, ChunkHandlers.HandleChunkPreamble); client.RegisterPacketHandler(new ChunkPreamblePacket().ID, ChunkHandlers.HandleChunkPreamble);
client.RegisterPacketHandler(new ChunkDataPacket().ID, ChunkHandlers.HandleChunkData); client.RegisterPacketHandler(new ChunkDataPacket().ID, ChunkHandlers.HandleChunkData);
@ -67,5 +68,12 @@ namespace TrueCraft.Client.Handlers
var packet = (UpdateHealthPacket)_packet; var packet = (UpdateHealthPacket)_packet;
client.Health = packet.Health; client.Health = packet.Health;
} }
public static void HandleTimeUpdate(IPacket _packet, MultiplayerClient client)
{
var packet = (TimeUpdatePacket)_packet;
var time = packet.Time / 20.0;
client.World.World.BaseTime = DateTime.UtcNow - TimeSpan.FromSeconds(time);
}
} }
} }

View File

@ -34,14 +34,14 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="nunit.framework">
<HintPath>..\packages\NUnit.3.2.0\lib\net45\nunit.framework.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Moq"> <Reference Include="Moq">
<HintPath>..\packages\Moq.4.2.1510.2205\lib\net40\Moq.dll</HintPath> <HintPath>..\packages\Moq.4.2.1510.2205\lib\net40\Moq.dll</HintPath>
<Private>False</Private> <Private>False</Private>
</Reference> </Reference>
<Reference Include="nunit.framework">
<HintPath>..\packages\NUnit.3.2.1\lib\net45\nunit.framework.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup> <ItemGroup>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="Moq" version="4.2.1510.2205" targetFramework="net45" /> <package id="Moq" version="4.2.1510.2205" targetFramework="net45" />
<package id="NUnit" version="3.2.0" targetFramework="net45" /> <package id="NUnit" version="3.2.1" targetFramework="net45" />
</packages> </packages>