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


C# InMessage.ReadLocation方法代码示例

本文整理汇总了C#中SharpTibiaProxy.Network.InMessage.ReadLocation方法的典型用法代码示例。如果您正苦于以下问题:C# InMessage.ReadLocation方法的具体用法?C# InMessage.ReadLocation怎么用?C# InMessage.ReadLocation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SharpTibiaProxy.Network.InMessage的用法示例。


在下文中一共展示了InMessage.ReadLocation方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ParseServerMapDescription

        private void ParseServerMapDescription(InMessage message)
        {
            var location = message.ReadLocation();
            client.PlayerLocation = location;

            var tiles = new List<Tile>();
            ParseServerMapDescription(message, tiles, location.X - 8, location.Y - 6, location.Z, 18, 14);
            client.Map.OnMapUpdated(tiles);
        }
开发者ID:sridhar19091986,项目名称:sharpmaptracker,代码行数:9,代码来源:ProtocolWorld.cs

示例2: ParseTibiaPacket

        private void ParseTibiaPacket(InMessage message)
        {
            var cmd = message.ReadByte();

            switch (cmd)
            {
                case 0x6C:
                case 0x6D:
                    var location = message.ReadLocation();
                    var stack = message.ReadByte();
                    if (location.IsCreature && !client.BattleList.ContainsCreature(location.GetCretureId(stack)))
                        return;
                    break;
            }

            message.ReadPosition = 0;
            client.ProtocolWorld.ParseServerMessage(message);
        }
开发者ID:jrmsjorgesilva,项目名称:sharpmaptracker,代码行数:18,代码来源:TibiaCastReader.cs

示例3: ParseServerDistanceShot

 private void ParseServerDistanceShot(InMessage message)
 {
     Location fromLocation = message.ReadLocation();
     Location toLocation = message.ReadLocation();
     var effect = message.ReadByte();
 }
开发者ID:sridhar19091986,项目名称:sharpmaptracker,代码行数:6,代码来源:ProtocolWorld.cs

示例4: ParseServerMagicEffect

 private void ParseServerMagicEffect(InMessage message)
 {
     Location location = message.ReadLocation();
     var effect = message.ReadByte();
 }
开发者ID:sridhar19091986,项目名称:sharpmaptracker,代码行数:5,代码来源:ProtocolWorld.cs

示例5: ParseServerCreatureMove

        private void ParseServerCreatureMove(InMessage message)
        {
            Location oldLocation = message.ReadLocation();
            var oldStack = message.ReadByte();

            Location newLocation = message.ReadLocation();

            if (oldLocation.IsCreature)
            {
                var creatureId = oldLocation.GetCretureId(oldStack);
                Creature creature = client.BattleList.GetCreature(creatureId);

                if (creature == null)
                    throw new Exception("[ParseServerCreatureMove] Creature not found on battle list.");

                var tile = client.Map.GetTile(newLocation);
                if (tile == null)
                    throw new Exception("[ParseServerCreatureMove] New tile not found.");

                tile.AddThing(creature);
                client.Map.SetTile(tile);
            }
            else
            {
                Tile tile = client.Map.GetTile(oldLocation);
                if (tile == null)
                    throw new Exception("[ParseServerCreatureMove] Old tile not found.");

                Thing thing = tile.GetThing(oldStack);
                Creature creature = thing as Creature;
                if (creature == null)
                    return; //The client will send update tile.

                tile.RemoveThing(oldStack);
                client.Map.SetTile(tile);

                tile = client.Map.GetTile(newLocation);
                if (tile == null)
                    throw new Exception("[ParseServerCreatureMove] New tile not found.");

                tile.AddThing(creature);
                client.Map.SetTile(tile);

                //update creature direction
                if (oldLocation.X > newLocation.X)
                {
                    creature.LookDirection = Direction.DIRECTION_WEST;
                    creature.TurnDirection = Direction.DIRECTION_WEST;
                }
                else if (oldLocation.X < newLocation.X)
                {
                    creature.LookDirection = Direction.DIRECTION_EAST;
                    creature.TurnDirection = Direction.DIRECTION_EAST;
                }
                else if (oldLocation.Y > newLocation.Y)
                {
                    creature.LookDirection = Direction.DIRECTION_NORTH;
                    creature.TurnDirection = Direction.DIRECTION_NORTH;
                }
                else if (oldLocation.Y < newLocation.Y)
                {
                    creature.LookDirection = Direction.DIRECTION_SOUTH;
                    creature.TurnDirection = Direction.DIRECTION_SOUTH;
                }
            }
        }
开发者ID:sridhar19091986,项目名称:sharpmaptracker,代码行数:66,代码来源:ProtocolWorld.cs

示例6: ParseServerCreatureSpeak

        private void ParseServerCreatureSpeak(InMessage message)
        {
            var statementId = message.ReadUInt();
            var name = message.ReadString();
            var level = message.ReadUShort();
            var type = (MessageClasses)message.ReadByte();
            Location location = null;

            switch (type)
            {
                case MessageClasses.SPEAK_SAY:
                case MessageClasses.SPEAK_WHISPER:
                case MessageClasses.SPEAK_YELL:
                case MessageClasses.SPEAK_MONSTER_SAY:
                case MessageClasses.SPEAK_MONSTER_YELL:
                case MessageClasses.SPEAK_SPELL:
                case MessageClasses.NPC_FROM:
                    location = message.ReadLocation();
                    break;
                case MessageClasses.CHANNEL:
                case MessageClasses.CHANNEL_HIGHLIGHT:
                case MessageClasses.GAMEMASTER_CHANNEL:
                    var channelId = message.ReadUShort();
                    break;
                default:
                    break;
            }

            var text = message.ReadString();

            client.Chat.OnCreatureSpeak(statementId, name, level, type, location, text);
        }
开发者ID:sridhar19091986,项目名称:sharpmaptracker,代码行数:32,代码来源:ProtocolWorld.cs

示例7: ParseServerAddMapMarker

 private void ParseServerAddMapMarker(InMessage message)
 {
     Location location = message.ReadLocation();
     var icon = message.ReadByte();
     var desc = message.ReadString();
 }
开发者ID:sridhar19091986,项目名称:sharpmaptracker,代码行数:6,代码来源:ProtocolWorld.cs

示例8: ParseServerAnimatedText

 private void ParseServerAnimatedText(InMessage message)
 {
     Location location = message.ReadLocation();
     var color = message.ReadByte();
     var text = message.ReadString();
 }
开发者ID:sridhar19091986,项目名称:sharpmaptracker,代码行数:6,代码来源:ProtocolWorld.cs

示例9: ParseServerUpdateTile

        private void ParseServerUpdateTile(InMessage message)
        {
            Location location = message.ReadLocation();
            var thingId = message.PeekUShort();

            if (thingId == 0xFF01)
            {
                message.ReadUShort();
                Tile tile = client.Map.GetTile(location);
                if (tile == null)
                    throw new Exception("[ParseServerUpdateTile] Tile not found.");

                tile.Clear();
            }
            else
            {
                ParseServerTileDescription(message, location);
                message.ReadUShort();
            }
        }
开发者ID:sridhar19091986,项目名称:sharpmaptracker,代码行数:20,代码来源:ProtocolWorld.cs

示例10: ParseServerTileTransformThing

        private void ParseServerTileTransformThing(InMessage message)
        {
            Location location = message.ReadLocation();
            var stack = message.ReadByte();
            var thing = GetThing(message);

            if (!location.IsCreature)
            {
                //get tile
                Tile tile = client.Map.GetTile(location);
                if (tile == null)
                    throw new Exception("[ParseServerTileTransformThing] Tile not found.");

                var oldThing = tile.GetThing(stack);
                if (oldThing == null)
                    return; // the client will send update tile.

                tile.ReplaceThing(stack, thing);
                client.Map.SetTile(tile);
            }
        }
开发者ID:sridhar19091986,项目名称:sharpmaptracker,代码行数:21,代码来源:ProtocolWorld.cs

示例11: ParseServerTileRemoveThing

        private void ParseServerTileRemoveThing(InMessage message)
        {
            Location location = message.ReadLocation();
            var stack = message.ReadByte();

            if (location.IsCreature) //TODO: Veirificar o porque disso.
                return;

            Tile tile = client.Map.GetTile(location);
            if (tile == null)
                throw new Exception("[ParseServerTileRemoveThing] Tile not found.");

            var thing = tile.GetThing(stack);
            if (thing == null) // The client will send update tile.
                return;

            tile.RemoveThing(stack);
        }
开发者ID:sridhar19091986,项目名称:sharpmaptracker,代码行数:18,代码来源:ProtocolWorld.cs

示例12: ParseServerTileAddThing

        private void ParseServerTileAddThing(InMessage message)
        {
            Location location = message.ReadLocation();
            var stack = message.ReadByte();

            Thing thing = GetThing(message);
            Tile tile = client.Map.GetTile(location);

            if (tile == null)
                throw new Exception("[ParseServerTileAddThing] Tile not found.");

            tile.AddThing(stack, thing);
            client.Map.SetTile(tile);
        }
开发者ID:sridhar19091986,项目名称:sharpmaptracker,代码行数:14,代码来源:ProtocolWorld.cs

示例13: ParseServerTextMessage

        private void ParseServerTextMessage(InMessage message)
        {
            var mClass = (MessageClasses)message.ReadByte();

            switch (mClass)
            {
                case MessageClasses.DAMAGE_DEALT:
                case MessageClasses.DAMAGE_RECEIVED:
                case MessageClasses.DAMAGE_OTHERS:
                    {
                        Location location = message.ReadLocation();

                        var detailsValue = message.ReadUInt();
                        var detailsColor = message.ReadByte();
                        var detailsSubValue = message.ReadUInt();
                        var deatilsSubColor = message.ReadByte();

                        break;
                    }

                case MessageClasses.EXPERIENCE:
                case MessageClasses.EXPERIENCE_OTHERS:
                case MessageClasses.HEALED:
                case MessageClasses.HEALED_OTHERS:
                    {
                        Location location = message.ReadLocation();
                        var detailsValue = message.ReadUInt();
                        var detailsColor = message.ReadByte();
                        break;
                    }

                default:
                    break;
            }

            var text = message.ReadString();
        }
开发者ID:sridhar19091986,项目名称:sharpmaptracker,代码行数:37,代码来源:ProtocolWorld.cs


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