当前位置: 首页>>代码示例>>C#>>正文


C# Client.CheckAndUpdateChunks方法代码示例

本文整理汇总了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);
        }
开发者ID:AVATAR-Phoenix,项目名称:c-raft,代码行数:9,代码来源:Client.Recv.cs

示例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);
        }
开发者ID:dekema2,项目名称:c-raft,代码行数:20,代码来源:Client.Recv.cs

示例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);
            }
        }
开发者ID:dekema2,项目名称:c-raft,代码行数:28,代码来源:Client.Recv.cs

示例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);
        }
开发者ID:Smjert,项目名称:c-raft,代码行数:10,代码来源:Client.Recv.cs


注:本文中的Chraft.Net.Client.CheckAndUpdateChunks方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。