本文整理匯總了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);
}
示例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);
}
示例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;
}
示例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);
}
示例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
}
}
示例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);
}