1
0
Fork 0

[server] Handle viewport updates sent by clients

This commit is contained in:
Starbeamrainbowlabs 2017-07-29 20:42:42 +01:00
parent ac0d947e31
commit a7fd57d1e6
3 changed files with 34 additions and 1 deletions

View File

@ -0,0 +1,21 @@
using System;
using SBRL.Utilities;
namespace Nibriboard.Client.Messages
{
/// <summary>
/// Represents an update from the client on the new size of their viewport.
/// </summary>
public class ViewportUpdateMessage : Message
{
/// <summary>
/// The new dimensions of the client's viewport.
/// </summary>
public Rectangle NewViewport { get; set; }
public ViewportUpdateMessage()
{
}
}
}

View File

@ -57,7 +57,8 @@ namespace Nibriboard.Client
["ChunkUpdateRequest"] = typeof(ChunkUpdateRequestMessage),
["LineStart"] = typeof(LineStartMessage),
["LinePart"] = typeof(LinePartMessage),
["LineComplete"] = typeof(LineCompleteMessage)
["LineComplete"] = typeof(LineCompleteMessage),
["ViewportUpdate"] = typeof(ViewportUpdateMessage)
};
/// <summary>
@ -386,6 +387,16 @@ namespace Nibriboard.Client
return Task.CompletedTask;
}
/// <summary>
/// Handles viewport updates from the remote client.
/// </summary>
/// <param name="message">The viewport update message to handle.</param>
protected Task handleViewportUpdateMessage(ViewportUpdateMessage message) {
CurrentViewPort = message.NewViewport;
return Task.CompletedTask;
}
/// <summary>
/// Handles line start events from the client.
/// These messages are currently only required to let other clients know about

View File

@ -110,6 +110,7 @@
<Compile Include="Utilities\CalcPaths.cs" />
<Compile Include="RippleSpace\PlaneInfo.cs" />
<Compile Include="Utilities\BinaryIO.cs" />
<Compile Include="Client\Messages\ViewportUpdateMessage.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="ClientFiles\index.html" />