private ClientTile ReadTileDescription(NetworkMessage nmsg, MapPosition pos) { ClientTile Tile = new ClientTile(pos); int nStuff = 0; while (nStuff < 10) { if (nmsg.PeekU16() >= 0xFF00) { return(Tile); } else { Tile.Add(ReadThing(nmsg)); } ++nStuff; } return(Tile); }
private void OnCreatureMove(Packet props) { MapPosition OldPosition = (MapPosition)props["OldPosition"]; int StackIndex = (int)props["OldStackIndex"]; MapPosition ToPosition = (MapPosition)props["Position"]; ClientTile FromTile = Map[OldPosition]; ClientTile ToTile = Map[ToPosition]; if (FromTile == null || ToTile == null) { Log.Warning("OnCreatureMove - Tile is missing."); return; } ClientCreature Creature = (ClientCreature)FromTile.GetByIndex(StackIndex); FromTile.Remove(Creature); ToTile.Add(Creature, true); Creature.Move(OldPosition, ToPosition); }
private ClientTile ReadTileDescription(NetworkMessage nmsg, MapPosition pos) { ClientTile Tile = new ClientTile(pos); int nStuff = 0; while (nStuff < 10) { if (nmsg.PeekU16() >= 0xFF00) { return Tile; } else { Tile.Add(ReadThing(nmsg)); } ++nStuff; } return Tile; }