本文整理汇总了C#中Chraft.Net.Client.CheckAndUpdateChunks方法的典型用法代码示例。如果您正苦于以下问题:C# Client.CheckAndUpdateChunks方法的具体用法?C# Client.CheckAndUpdateChunks怎么用?C# Client.CheckAndUpdateChunks使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Chraft.Net.Client
的用法示例。
在下文中一共展示了Client.CheckAndUpdateChunks方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HandlePacketPlayerPositionRotation
public static void HandlePacketPlayerPositionRotation(Client client, PlayerPositionRotationPacket packet)
{
//client.Logger.Log(Chraft.Logger.LogLevel.Info, "Player position: {0} {1} {2}", packet.X, packet.Y, packet.Z);
client.Owner.MoveTo(packet.X, packet.Y - Player.EyeGroundOffset, packet.Z, packet.Yaw, packet.Pitch);
client.OnGround = packet.OnGround;
client.Stance = packet.Stance;
client.CheckAndUpdateChunks(packet.X, packet.Z);
}
示例2: HandlePacketPlayerPosition
public static void HandlePacketPlayerPosition(Client client, PlayerPositionPacket packet)
{
if(client.WaitForInitialPosAck)
return;
//client.Logger.Log(Chraft.Logger.LogLevel.Info, "Player position: {0} {1} {2}", packet.X, packet.Y, packet.Z);
client.Owner.Ready = true;
double threshold = 0.001;
double diffX = Math.Abs(client.Owner.Position.X - packet.X);
double diffY = Math.Abs(client.Owner.Position.Y - packet.Y);
double diffZ = Math.Abs(client.Owner.Position.Z - packet.Z);
if (diffX < threshold && diffY < threshold && diffZ < threshold)
return;
client.Owner.MoveTo(new AbsWorldCoords(packet.X, packet.Y, packet.Z));
client.OnGround = packet.OnGround;
client.Stance = packet.Stance;
client.CheckAndUpdateChunks(packet.X, packet.Z);
}
示例3: HandlePacketPlayerPositionRotation
public static void HandlePacketPlayerPositionRotation(Client client, PlayerPositionRotationPacket packet)
{
double feetY = packet.Y - client.Owner.EyeHeight;
if(client.WaitForInitialPosAck)
{
AbsWorldCoords coords = new AbsWorldCoords(packet.X, feetY, packet.Z);
if(coords == client.Owner.LoginPosition)
{
client.WaitForInitialPosAck = false;
client.SendSecondLoginSequence();
}
}
else
{
double threshold = 0.001;
double diffX = Math.Abs(client.Owner.Position.X - packet.X);
double diffY = Math.Abs(client.Owner.Position.Y - feetY);
double diffZ = Math.Abs(client.Owner.Position.Z - packet.Z);
if (diffX < threshold && diffY < threshold && diffZ < threshold)
return;
client.Owner.MoveTo(new AbsWorldCoords(packet.X, feetY, packet.Z), packet.Yaw, packet.Pitch);
client.OnGround = packet.OnGround;
client.Stance = packet.Stance;
client.CheckAndUpdateChunks(packet.X, packet.Z);
}
}
示例4: HandlePacketPlayerPosition
public static void HandlePacketPlayerPosition(Client client, PlayerPositionPacket packet)
{
//client.Logger.Log(Chraft.Logger.LogLevel.Info, "Player position: {0} {1} {2}", packet.X, packet.Y, packet.Z);
client.Owner.Ready = true;
client.Owner.MoveTo(new AbsWorldCoords(packet.X, packet.Y, packet.Z));
client.OnGround = packet.OnGround;
client.Stance = packet.Stance;
client.CheckAndUpdateChunks(packet.X, packet.Z);
}