Beispiel #1
0
 private void HandleGameObjects(HPacket packet, bool isOutgoing)
 {
     packet.Position = 0;
     if (!isOutgoing)
     {
         if (packet.Id == In.Users)
         {
             HEntity[] entities = HEntity.Parse(packet);
             foreach (HEntity entity in entities)
             {
                 _entities[entity.Index] = entity;
             }
             _container.OnEntitiesLoaded(entities.Length);
         }
         else if (packet.Id == In.Items)
         {
             HWallItem[] wallItems = HWallItem.Parse(packet);
             foreach (HWallItem wallItem in wallItems)
             {
                 _wallItems[wallItem.Id] = wallItem;
             }
             _container.OnWallItemsLoaded(wallItems.Length);
         }
         else if (packet.Id == In.Objects)
         {
             HFloorItem[] floorItems = HFloorItem.Parse(packet);
             foreach (HFloorItem floorItem in floorItems)
             {
                 _floorItems[floorItem.Id] = floorItem;
             }
             _container.OnFloorItemsLoaded(floorItems.Length);
         }
         else if (packet.Id == In.FloorHeightMap)
         {
             _entities.Clear();
             _wallItems.Clear();
             _floorItems.Clear();
         }
     }
     packet.Position = 0;
 }