當前位置: 首頁>>代碼示例>>C#>>正文


C# InMessage.ReadOutfit方法代碼示例

本文整理匯總了C#中SharpTibiaProxy.Network.InMessage.ReadOutfit方法的典型用法代碼示例。如果您正苦於以下問題:C# InMessage.ReadOutfit方法的具體用法?C# InMessage.ReadOutfit怎麽用?C# InMessage.ReadOutfit使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在SharpTibiaProxy.Network.InMessage的用法示例。


在下文中一共展示了InMessage.ReadOutfit方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: ParseInitialize

        private void ParseInitialize(InMessage message)
        {
            if (minorVersion >= 10)
                message.ReadByte(); //?

            int count = message.ReadUShort();
            for (int i = 0; i < count; i++)
            {
                var creature = new Creature(message.ReadUInt());
                creature.Type = (CreatureType)message.ReadByte();
                creature.Name = message.ReadString();

                //Trace.WriteLine(String.Format("Creature[{0}]: {1}", i, creature.Name));

                creature.Health = message.ReadByte();
                var direction = (Direction)message.ReadByte();
                creature.LookDirection = direction;
                creature.TurnDirection = direction;

                //Outfit
                creature.Outfit = message.ReadOutfit();
                creature.LightLevel = message.ReadByte();
                creature.LightColor = message.ReadByte();
                creature.Speed = message.ReadUShort();
                creature.Skull = message.ReadByte();
                creature.Shield = message.ReadByte();
                creature.Emblem = message.ReadByte();
                creature.IsImpassable = message.ReadByte() == 0x01;

                //10.20+ includes an extra 4 bytes per creature
                //These bytes could alter the read order, but since I don't know what they are for yet, I'll read them out of the way.
                message.ReadUInt();

                //speech category?
                if (client.Version.Number >= ClientVersion.Version1036.Number)
                    message.ReadByte();

                client.BattleList.AddCreature(creature);
            }

            ParseTibiaPackets(message);
        }
開發者ID:jrmsjorgesilva,項目名稱:sharpmaptracker,代碼行數:42,代碼來源:TibiaCastReader.cs

示例2: ParseInitialize

        private void ParseInitialize(InMessage message)
        {
            int count = message.ReadUShort();
            for (int i = 0; i < count; i++)
            {
                var creature = new Creature(message.ReadUInt());
                creature.Type = (CreatureType)message.ReadByte();
                creature.Name = message.ReadString();

                //Trace.WriteLine(String.Format("Creature[{0}]: {1}", i, creature.Name));

                creature.Health = message.ReadByte();
                var direction = (Direction)message.ReadByte();
                creature.LookDirection = direction;
                creature.TurnDirection = direction;

                //Outfit
                creature.Outfit = message.ReadOutfit();
                creature.LightLevel = message.ReadByte();
                creature.LightColor = message.ReadByte();
                creature.Speed = message.ReadUShort();
                creature.Skull = message.ReadByte();
                creature.Shield = message.ReadByte();
                creature.Emblem = message.ReadByte();
                creature.IsImpassable = message.ReadByte() == 0x01;

                client.BattleList.AddCreature(creature);
            }

            ParseTibiaPackets(message);
        }
開發者ID:sridhar19091986,項目名稱:sharpmaptracker,代碼行數:31,代碼來源:TibiaCastReader.cs

示例3: ParseServerCreatureOutfit

 private void ParseServerCreatureOutfit(InMessage message)
 {
     var creatureID = message.ReadUInt();
     Creature creature = client.BattleList.GetCreature(creatureID);
     var outfit = message.ReadOutfit();
     if (creature != null)
         creature.Outfit = outfit;
 }
開發者ID:sridhar19091986,項目名稱:sharpmaptracker,代碼行數:8,代碼來源:ProtocolWorld.cs

示例4: GetThing

        private Thing GetThing(InMessage message)
        {
            //get thing type
            var thingId = message.ReadUShort();

            if (thingId == 0x0061 || thingId == 0x0062)
            {
                //creatures
                Creature creature = null;
                if (thingId == 0x0062)
                {
                    creature = client.BattleList.GetCreature(message.ReadUInt());

                    if (creature == null)
                        throw new Exception("[GetThing] (0x0062) Can't find the creature in the battle list.");

                    creature.Health = message.ReadByte();
                }
                else if (thingId == 0x0061)
                { //creature is not known
                    client.BattleList.RemoveCreature(message.ReadUInt());

                    creature = new Creature(message.ReadUInt());
                    client.BattleList.AddCreature(creature);

                    creature.Type = (CreatureType)message.ReadByte();
                    creature.Name = message.ReadString();
                    creature.Health = message.ReadByte();
                }

                var direction = (Direction)message.ReadByte();
                creature.LookDirection = direction;
                creature.TurnDirection = direction;

                creature.Outfit = message.ReadOutfit();
                creature.LightLevel = message.ReadByte();
                creature.LightColor = message.ReadByte();
                creature.Speed = message.ReadUShort();
                creature.Skull = message.ReadByte();
                creature.Shield = message.ReadByte();

                if (thingId == 0x0061) // emblem is sent only in packet type 0x61
                    creature.Emblem = message.ReadByte();

                creature.IsImpassable = message.ReadBool();

                return creature;
            }
            else if (thingId == 0x0063)
            {
                Creature creature = client.BattleList.GetCreature(message.ReadUInt());
                if (creature == null)
                    throw new Exception("[GetThing] (0x0063)  Can't find the creature in the battle list.");

                creature.TurnDirection = (Direction)message.ReadByte();
                creature.IsImpassable = message.ReadBool();

                return creature;
            }
            else
                return GetItem(message, thingId);
        }
開發者ID:sridhar19091986,項目名稱:sharpmaptracker,代碼行數:62,代碼來源:ProtocolWorld.cs

示例5: ParseServerOutfitWindow

        private void ParseServerOutfitWindow(InMessage message)
        {
            message.ReadOutfit();
            var nOutfits = message.ReadByte();
            for (uint i = 0; i < nOutfits; ++i)
            {
                var outfitID = message.ReadUShort();
                var name = message.ReadString();
                var addons = message.ReadByte();
            }

            int mountCount = message.ReadByte();
            for (int i = 0; i < mountCount; ++i)
            {
                int mountId = message.ReadUShort(); // mount type
                string mountName = message.ReadString(); // mount name
            }
        }
開發者ID:sridhar19091986,項目名稱:sharpmaptracker,代碼行數:18,代碼來源:ProtocolWorld.cs

示例6: GetThing

        private Thing GetThing(InMessage message)
        {
            //get thing type
            var thingId = message.ReadUShort();

            if (thingId == 0x0061 || thingId == 0x0062)
            {
                //creatures
                Creature creature = null;
                if (thingId == 0x0062)
                {
                    creature = client.BattleList.GetCreature(message.ReadUInt());

                    if (creature == null)
                        throw new Exception("[GetThing] (0x0062) Can't find the creature in the battle list.");

                    creature.Health = message.ReadByte();
                }
                else if (thingId == 0x0061)
                { //creature is not known
                    client.BattleList.RemoveCreature(message.ReadUInt());

                    creature = new Creature(message.ReadUInt());
                    client.BattleList.AddCreature(creature);

                    creature.Type = (CreatureType)message.ReadByte();
                    creature.Name = message.ReadString();
                    creature.Health = message.ReadByte();
                }

                var direction = (Direction)message.ReadByte();
                creature.LookDirection = direction;
                creature.TurnDirection = direction;

                creature.Outfit = message.ReadOutfit();
                creature.LightLevel = message.ReadByte();
                creature.LightColor = message.ReadByte();
                creature.Speed = message.ReadUShort();
                creature.Skull = message.ReadByte();
                creature.Shield = message.ReadByte();

                if (thingId == 0x0061) // emblem/guildflag is sent only in packet type 0x61
                {
                    if (client.Version.Number <= ClientVersion.Version986.Number)
                    {
                        creature.Emblem = message.ReadByte();
                    }
                    if (client.Version.Number >= ClientVersion.Version1010.Number)
                    {
                        var GuildFlag = message.ReadByte();
                    }
                }

                if (client.Version.Number >= ClientVersion.Version1010.Number)
                {
                    creature.Type = (CreatureType)message.ReadByte();
                    if (client.Version.Number >= ClientVersion.Version1036.Number)
                        message.ReadByte(); //Speech Category
                    var Mark = message.ReadByte();
                    var NumberOfPVPHelpers = message.ReadUShort();
                }

                creature.IsImpassable = message.ReadBool();

                return creature;
            }
            else if (thingId == 0x0063)
            {
                Creature creature = client.BattleList.GetCreature(message.ReadUInt());
                if (creature == null)
                    throw new Exception("[GetThing] (0x0063)  Can't find the creature in the battle list.");

                creature.TurnDirection = (Direction)message.ReadByte();
                creature.IsImpassable = message.ReadBool();

                return creature;
            }
            else
                return GetItem(message, thingId);
        }
開發者ID:KyLuaa,項目名稱:SharpMapTracker,代碼行數:80,代碼來源:ProtocolWorld.cs


注:本文中的SharpTibiaProxy.Network.InMessage.ReadOutfit方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。