public static void Clone(EntityMap dstEntityMap, EntityMap srcEntityMap, IEntityMapFilter filter)
        {
            CloneAction action = new CloneAction(dstEntityMap, filter);

            foreach (var entity in srcEntityMap.Values)
            {
                action.Clone(entity);
            }
        }
        public static void Clone(ISnapshot dst, ISnapshot src, IEntityMapFilter filter)
        {
            CloneAction action = new CloneAction(dst.EntityMap, filter);

            src.ForeachGameEntity(action.Clone);
        }
 public CloneAction(EntityMap dstEntityMap, IEntityMapFilter filter)
 {
     this.dstEntityMap = dstEntityMap;
     this.filter       = filter;
 }