Example #1
0
    // Use this for initialization
    void Start()
    {
        MapHandler mh = FindObjectOfType <MapHandler> ();

        mh.nextRoundEvent += TurnPassed;
        defaultRot         = Door.transform.eulerAngles;
        openRot            = new Vector3(defaultRot.x, defaultRot.y + rotation, defaultRot.z);
    }
 public void initChunk()
 {
     // Cache the map handler script
     m_mapHandlerScript = GameObject.FindGameObjectWithTag("MapHandler").GetComponent <MapHandler> ();
     // get the chunk dimensions
     m_chunkDimension = m_mapHandlerScript.GetComponent <Widget>().GetAttribute <int> ("ChunkDimensions");
     // Initialize the array heights
     m_chunkHeights = new float[m_chunkDimension, m_chunkDimension];
 }
Example #3
0
 public void Start()
 {
     UI         = GameObject.Find("Interface").GetComponent <UserInterface>();
     manHandler = GameObject.Find("3DDisplay").GetComponent <MapHandler>();
     Init();
     UpdateInfo();
     manHandler.Init(playerChars, monsters);
     ChangeState(ActionState.ACTION);
 }
Example #4
0
 public void OnDestroy()
 {
     mh = FindObjectOfType <MapHandler> ();
     if (mh)
     {
         mh.nextRoundEvent -= CoolDown;
     }
     Destroy(effect);
 }
Example #5
0
 public static void Postfix(AmongUsClient __instance)
 {
     LILogger.LogInfo("Loading Ship Prefabs...");
     foreach (AssetReference assetRef in __instance.ShipPrefabs)
     {
         assetRef.LoadAsset <GameObject>();
     }
     MapHandler.Load();
 }
Example #6
0
        public static void drawChunks(World world, GizmoType type)
        {
            return; // Temporary to fix issues...

            WorldProperties         properties = world.properties;
            List <ChunkWorldObject> chunks     = world.activeChunks;

            if (chunks != null && world != null)
            {
                // Draw the chunks
                for (int i = 0; i < chunks.Count; i++)
                {
                    ChunkWorldObject obj   = chunks[i];
                    Chunk            chunk = obj.chunk;

                    if (chunk != null)
                    {
                        int size = Chunk.tileDimension;

                        if (chunk.dirty)
                        {
                            Gizmos.color = Color.red;
                        }
                        else
                        {
                            Gizmos.color = Color.green;
                        }

                        //       Gizmos.DrawWireCube(obj.transform.position + new Vector3(size / 2, size / 2, 0) - new Vector3(0.5f, 0.5f, 0.0f), new Vector3(size, size, 0));

                        Vector2I pos = chunk.position;
                    }
                }

                MapHandler    handler = world.mapHandler;
                List <Sector> sectors = handler.activeSectors;

                // Draw the sectors
                for (int i = 0; i < sectors.Count; i++)
                {
                    Sector sector = sectors[i];

                    if (sector != null)
                    {
                        Vector2I pos = sector.position;

                        int size = Sector.chunkDimension * Chunk.tileDimension;

                        Vector3 wPos = Vector3.zero;

                        Gizmos.color = Color.white;

                        Gizmos.DrawWireCube(new Vector3((pos.x * size) + (size / 2.0f), (pos.y * size) + (size / 2.0f), 0) - new Vector3(0.5f, 0.5f, 0.0f), new Vector3(size, size, 0));
                    }
                }
            }
        }
Example #7
0
    /// <summary>
    /// Generates the map.
    /// </summary>
    public void GenerateMap()
    {
        int[,] mapMatrix = new int[mapSize.x, mapSize.y];

        // If there exists a map, destroy it.
        if (transform.FindChild(holderName))
        {
            DestroyImmediate(transform.FindChild(holderName).gameObject);
        }

        // Collect all the generated objects for the just for cleanliness. Also helps with editor script
        Transform mapHolder = new GameObject(holderName).transform;

        mapHolder.parent = transform;

        // Create the tilemap.
        for (int x = 0; x < mapSize.x; x++)
        {
            for (int y = 0; y < mapSize.y; y++)
            {
                Vector3   tilePosition = CoordinateToPosition(x, y);
                Transform newTile      = Instantiate(tilePrefab, tilePosition, Quaternion.Euler(Vector3.right * 90)) as Transform;
                newTile.localScale = Vector3.one * (1 - outline);

                newTile.parent = mapHolder;
            }
        }

        // Create entrance and exit portals
        //TODO: Rotation should not be hard coded here.
        //TODO: The portals should also be created here.
        CreatePortal(positionEntrance, Rotation.Down, mapHolder);
        CreatePortal(positionExit, Rotation.Up, mapHolder);

        //CreateFrame (mapHolder);

        // Create the frame
        for (int x = 0; x < mapSize.x; x++)
        {
            for (int y = 0; y < mapSize.y; y++)
            {
                if ((x < 1 || x >= mapSize.x - 1) || (y < 1 || y >= mapSize.y - 1))
                {
                    if (x != (int)positionEntrance.x && y != (int)positionEntrance.y || x != (int)positionExit.x && y != (int)positionExit.y)
                    {
                        Vector3   pos        = CoordinateToPosition(x, y);
                        Transform framePiece = Instantiate(wallPrefab, pos + Vector3.up * 0.5f, Quaternion.identity) as Transform;
                        framePiece.parent = mapHolder;
                        mapMatrix [x, y]  = 1;
                    }
                }
            }
        }

        mapHandler = new MapHandler(mapSize, positionEntrance, positionExit, mapMatrix);
    }
Example #8
0
        public MapViewModel()
        {
            MapHandler = new MapHandler(this);

            SetLocationCommand = new RelayCommand(MapHandler.CurrentLocation);

            MapMessage    = false;
            ShowLocation  = false;
            _showLocation = false;
        }
        public void onClick(object sender, EventArgs e)
        {
            DialogResult result = browseDialog.ShowDialog();

            if (result == DialogResult.OK)
            {
                string dir = browseDialog.FileName;
                MapHandler.Load(dir);
            }
        }
Example #10
0
    void Awake()
    {
        _instance = this;
        GameObject net = GameObject.Find("net");

        map                  = net.GetComponent <MapHandler>();
        map.Talk            += TalkSEQS;
        map.TalkBro         += TalkBro;
        transform.localScale = Vector3.zero;
    }
 public void ChangeURL(string url, bool whiteBg, int browerSize)
 {
     MapHandler.HideAndBrowserShow();
     ChromiumBrowser.HorizontalAlignment = HorizontalAlignment.Left;
     ChromiumBrowser.Visibility          = Visibility.Visible;
     whiteBackground.Width = browerSize;
     ChromiumBrowser.Width = browerSize;
     ChromiumBrowser.Load(url);
     whiteBackground.Visibility = (whiteBg == true) ? Visibility.Visible : Visibility.Hidden;
 }
Example #12
0
 // Use this for initialization
 void Start()
 {
     audioSource     = GetComponent <AudioSource>();
     mapHandler      = GameObject.Find("MapHandler").GetComponent <MapHandler>();
     cannon          = GetComponentInChildren <CannonScript>(true);
     martiniList     = new bool[3];
     deathCount      = 0;
     playerRigidbody = GetComponent <Rigidbody>();
     anim            = GetComponent <Animator>();
 }
Example #13
0
        public MainWindow()
        {
            InitializeComponent();

            NetworkModel networkModel = new NetworkModel();

            networkModel = MapHandler.LoadModelToMap(networkModel, MyModel);

            TransformationHandler transformation = new TransformationHandler(this, scrollViewer, mainViewport);
        }
Example #14
0
    // Start is called before the first frame update
    void Awake()
    {
        if (_instance != null)
        {
            Debug.Log("Multiple map handlers in scene.");
            Debug.Break();
        }
        _instance = this;

        GenerateMap();
    }
Example #15
0
        /// <summary>
        /// Registers the plugin events.
        /// </summary>
        private void RegisterEvents()
        {
            serverHandler  = new ServerHandler();
            playerHandler  = new PlayerHandler();
            warheadHandler = new WarheadHandler();
            mapHandler     = new MapHandler();
            itemHandler    = new ItemHandler();
            scp914Handler  = new Scp914Handler();
            scp096Handler  = new Scp096Handler();

            Exiled.Events.Handlers.Server.WaitingForPlayers += serverHandler.OnWaitingForPlayers;
            Exiled.Events.Handlers.Server.RoundStarted      += serverHandler.OnRoundStarted;

            Exiled.Events.Handlers.Player.Destroying    += playerHandler.OnDestroying;
            Exiled.Events.Handlers.Player.Spawning      += playerHandler.OnSpawning;
            Exiled.Events.Handlers.Player.Escaping      += playerHandler.OnEscaping;
            Exiled.Events.Handlers.Player.Hurting       += playerHandler.OnHurting;
            Exiled.Events.Handlers.Player.Dying         += playerHandler.OnDying;
            Exiled.Events.Handlers.Player.Died          += playerHandler.OnDied;
            Exiled.Events.Handlers.Player.ChangingRole  += playerHandler.OnChangingRole;
            Exiled.Events.Handlers.Player.ChangingItem  += playerHandler.OnChangingItem;
            Exiled.Events.Handlers.Player.UsingItem     += playerHandler.OnUsingItem;
            Exiled.Events.Handlers.Player.PickingUpItem += playerHandler.OnPickingUpItem;
            Exiled.Events.Handlers.Player.DroppingItem  += playerHandler.OnDroppingItem;
            Exiled.Events.Handlers.Player.Verified      += playerHandler.OnVerified;
            Exiled.Events.Handlers.Player.FailingEscapePocketDimension += playerHandler.OnFailingEscapePocketDimension;
            Exiled.Events.Handlers.Player.EscapingPocketDimension      += playerHandler.OnEscapingPocketDimension;
            Exiled.Events.Handlers.Player.UnlockingGenerator           += playerHandler.OnUnlockingGenerator;
            Exiled.Events.Handlers.Player.PreAuthenticating            += playerHandler.OnPreAuthenticating;
            Exiled.Events.Handlers.Player.Shooting        += playerHandler.OnShooting;
            Exiled.Events.Handlers.Player.ReloadingWeapon += playerHandler.OnReloading;
            Exiled.Events.Handlers.Player.ReceivingEffect += playerHandler.OnReceivingEffect;

            Exiled.Events.Handlers.Warhead.Stopping += warheadHandler.OnStopping;
            Exiled.Events.Handlers.Warhead.Starting += warheadHandler.OnStarting;

            Exiled.Events.Handlers.Scp106.Teleporting    += playerHandler.OnTeleporting;
            Exiled.Events.Handlers.Scp106.Containing     += playerHandler.OnContaining;
            Exiled.Events.Handlers.Scp106.CreatingPortal += playerHandler.OnCreatingPortal;

            Exiled.Events.Handlers.Scp914.Activating          += playerHandler.OnActivating;
            Exiled.Events.Handlers.Scp914.ChangingKnobSetting += playerHandler.OnChangingKnobSetting;
            Exiled.Events.Handlers.Scp914.UpgradingPlayer     += playerHandler.OnUpgradingPlayer;

            Exiled.Events.Handlers.Map.ExplodingGrenade   += mapHandler.OnExplodingGrenade;
            Exiled.Events.Handlers.Map.GeneratorActivated += mapHandler.OnGeneratorActivated;

            Exiled.Events.Handlers.Item.ChangingDurability  += itemHandler.OnChangingDurability;
            Exiled.Events.Handlers.Item.ChangingAttachments += itemHandler.OnChangingAttachments;

            Exiled.Events.Handlers.Scp914.UpgradingItem += scp914Handler.OnUpgradingItem;

            Exiled.Events.Handlers.Scp096.AddingTarget += scp096Handler.OnAddingTarget;
        }
Example #16
0
    public int[,] GetLayout(int width, int height)
    {
        surfacePerlin   = new Perlin((long)Random.Range(1414, 1243132473284), 24);
        surfacePerlin2  = new Perlin((long)Random.Range(1414, 1243132473284), 12);
        surfacePerlin3  = new Perlin((long)Random.Range(1414, 1243132473284), 6);
        surfacePerlin4  = new Perlin((long)Random.Range(1414, 1243132473284), 4);
        cavePerlin      = new Perlin((long)Random.Range(1414, 12431324773284), 48);
        int[,] tileGrid = new int[width, height];

        for (int i = 0; i < width; i++)
        {
            for (int k = 0; k < Mathf.RoundToInt(height / 2); k++)
            {
                double y        = surfacePerlin.getNoiseLevelAtPosition(i, k) + surfacePerlin2.getNoiseLevelAtPosition(i, k) / 2 + surfacePerlin3.getNoiseLevelAtPosition(i, k) / 4 + surfacePerlin4.getNoiseLevelAtPosition(i, k) / 8;
                int    position = Mathf.RoundToInt(k + (float)(y * 20));
                position = Mathf.Max(position, 0);
                tileGrid[i, position] = 1;
                while (position != 0)
                {
                    position--;
                    tileGrid[i, position] = 1;
                }
            }
        }

        tileGrid = _caveWalker.AddCaves(width, height, tileGrid, Random.Range(42, 56423));
        MapHandler mapHandler = new MapHandler(width + 20, Mathf.RoundToInt((height / 1.95f) + (height / 4)) - 10, 60);

        mapHandler.MakeCaverns();
        for (int i = 10; i < width - 10; i++)
        {
            int y = 0;
            for (int k = Mathf.RoundToInt((height / 1.95f) + Random.Range(-5, 5)); k > 10; k--)
            {
                if (mapHandler.Map[i, y] == 0)
                {
                    tileGrid[i, k] = mapHandler.Map[i, y];
                }
                y++;
            }
        }
        //CaveGen
        //for(int i = 10; i < width-10; i++)
        //{
        //    for(int k = Mathf.RoundToInt(height/4); k > height/4-3; k--)
        //    {
        //        double y = cavePerlin.getNoiseLevelAtPosition(i, k);
        //        int position = Mathf.RoundToInt(k + (float)y * 50);
        //        tileGrid[i, position] = 0;
        //    }
        //}

        return(tileGrid);
    }
Example #17
0
 private void StartingMapName_SelectedIndexChanged(object sender, EventArgs e)
 {
     for (int i = 0; i < MapHandler.Count(); i++)
     {
         if (MapHandler[i].getMapName() == StartingMapName.Text)
         {
             startingMapID = i;
             break;
         }
     }
 }
Example #18
0
 // Use this for initialization
 void Awake()
 {
     audioSource     = GetComponent <AudioSource>();
     mapHandler      = GameObject.Find("MapHandler").GetComponent <MapHandler>();
     playerDisplay   = mapHandler.playerStats;
     cannon          = GetComponentInChildren <CannonScript>(true);
     martiniList     = new bool[3];
     playerRigidbody = GetComponent <Rigidbody>();
     anim            = GetComponent <Animator>();
     rayCastOffsetX  = GetComponent <BoxCollider>().bounds.size.x / 3;
 }
Example #19
0
    // Start is called before the first frame update
    void Start()
    {
        //find the player
        player = GameObject.FindGameObjectWithTag("PlayerTag");

        _damageThreshold = 2.0f;
        uiHandler        = GameObject.FindGameObjectWithTag("CanvasTag").GetComponent <UIHandler>();
        mapHandler       = GameObject.FindGameObjectWithTag("ScriptHandler").GetComponent <MapHandler>();
        numObjectsPassed = 0;
        _livesLeft       = 5;
    }
Example #20
0
        //@ToDo: move these events to the MapHandler, providing an assignment interface for the caller.
        public void OnMapReady(GoogleMap googleMap)
        {
            MainMap = googleMap;
            MainMap.MyLocationEnabled = true;
            MainMap.UiSettings.MyLocationButtonEnabled = false;
            MainMap.CameraIdle  += MainMap_CameraIdle;
            MainMap.MarkerClick += Map_MarkerClick;
            string MapKey = Resources.GetString(Resource.String.maps_key);

            MapsHandler = new MapHandler(MapKey, MainMap);
            CenterOnCurrentLocation(false);
        }
Example #21
0
        public MainWindow()
        {
            InitializeComponent();

            NetworkModel networkModel = new NetworkModel();

            networkModel = MapHandler.LoadModelToMap(networkModel, MyModel);

            transformation = new Transformation(viewport, skaliranje, this, translate, rotateX, rotateY);

            hitTest = new HitTesting(viewport, model3DGroup, this);
        }
Example #22
0
    // Use this for initialization
    void Start()
    {
        mh = FindObjectOfType <MapHandler> ();
        mh.nextRoundEvent += CoolDown;
        GameObject panel = transform.Find("Enemy_Interface/Enemy_Interface/DX").gameObject;

        if (panel.transform.childCount > 0)
        {
            panel = transform.Find("Enemy_Interface/Enemy_Interface/SX").gameObject;
        }
        effect = Instantiate(Resources.Load("Flash", typeof(GameObject)), panel.transform) as GameObject;
    }
Example #23
0
 private TouchStatus checkTouchStatus(MapNode fingerPos)
 {
     if (character.IsMoving())
     {
         MapNode circlePos = MapHandler.GetMapNode(character.GetPathEndCirclePos());
         if (fingerPos == circlePos)
         {
             return(TouchStatus.dragging);
         }
     }
     return(TouchStatus.drawing);
 }
Example #24
0
        // general events that should run after any change to the world
        protected virtual void ProcessTurnEvents()
        {
            if (MapHandler != null)
            {
                MapHandler.Refresh();
            }

            if (Player != null && Player.DeathCheck())
            {
                Player.TriggerDeath();
            }
        }
Example #25
0
        public MainWindow()
        {
            InitializeComponent();
            InputHandler inputHandler = InputHandler.Instance;
            MapHandler   mapHandler   = MapHandler.Instance;

            this.ViewModel.CellsCollection = modelUtilities.MapGenerator(mapHandler.MapState, mapHandler.MapXSize, mapHandler.MapYSize);

            //bind the generated map
            map.DataContext = this.ViewModel;

            inputHandler.MapStateChanged += OnMapStateChanged;
        }
Example #26
0
    // Use this for initialization
    void Start()
    {
        // New attribute list (widget)
        m_allLinkedAttributes = gameObject.AddComponent <Widget>();

        // Add all used attributes
        m_allLinkedAttributes.AddAttribute <int> ("CaveDivRes", 10);         // 0 Rect Brush, 1 Gradient Brush, 2 Circle Brush, 3 Image Brush
        m_allLinkedAttributes.AddAttribute <int> ("CaveRoundRes", 12);       // Gradient Brush falloff

        m_caveObjects = new List <GameObject> ();

        m_mapHandler = GameObject.FindGameObjectWithTag("MapHandler").GetComponent <MapHandler> ();
    }
Example #27
0
    void Start()
    {
        foreach (string node in connectedTo)
        {
            MapHandler mapHandler = GetComponentInParent <MapHandler>();
            mapHandler.AddEdge(id, node);
        }

        if (this.gameObject.name.Equals("Node_1"))
        {
            Reveal();
        }
    }
Example #28
0
 public Scene(
     IGraphics graphics,
     MessageHub messageHub,
     MapHandler mapHandler,
     EntityHandler unitHandler,
     CameraHandler cameraHandler)
 {
     _graphics      = graphics;
     _messageHub    = messageHub;
     _mapHandler    = mapHandler;
     _unitHandler   = unitHandler;
     _cameraHandler = cameraHandler;
 }
Example #29
0
 private void Editor_Load(object sender, EventArgs e)
 {
     Game.Frame.Visible = false;
     MapHandler.LoadMap("Test");
     Game.ScreenX             = 0;
     Game.ScreenY             = 0;
     Game.EditorMode          = true;
     Location                 = Globals.Main.Location;
     cbxPalette.SelectedIndex = 0;
     Game.bbg                 = CreateGraphics();
     Select();
     Focus();
 }
 //logic for map deploy button
 private void DeployMapButtonLogic()
 {
     //check that map exists
     if (map)
     {
         //create a gameobject and attach map to it
         GameObject newMap = new GameObject(newMapNameText);
         //attach the map to it
         map = newMap.AddComponent <MapHandler>();
         //set tag
         newMap.tag = mapTag;
     }
 }
        private XmlConfigurator(XmlReader reader, SerializationContext context, string sectionName)
        {
            this.reader = reader;
            this.context = context;
            this.sectionName = sectionName;

            handlers["IsCompact"] = delegate() { context.IsCompact = reader.ReadElementContentAsBoolean(); };
            handlers["OutputTypeComment"] = delegate() { context.OutputTypeComment = reader.ReadElementContentAsBoolean(); };
            handlers["OutputTypeInformation"] = delegate() { context.OutputTypeInformation = reader.ReadElementContentAsBoolean(); };
            handlers["ReferenceWritingType"] = new MapHandler(HandleReferenceWritingType);
            handlers["TypeBindings"] = new MapHandler(HandleTypeBindings);
            handlers["TypeConverters"] = new MapHandler(HandleTypeConverters);
            handlers["CollectionHandlers"] = new MapHandler(HandleCollectionHandlers);
            handlers["IgnoreProperties"] = new MapHandler(HandleIgnoreProperties);
        }
Example #32
0
    public void setTarget(Transform target)
    {
        this.target = target;

        var bundle = AssetBundle.LoadFromFile(string.Format("{0}/{1}", System.IO.Directory.GetCurrentDirectory(), HUDConstants.PATH_MAP_BUNDLE));
        if (bundle == null)
        {
            Debug.Log("Settings data not found!");
            return;
        }
        var settingsData = bundle.mainAsset as TextAsset;
        var mapSettings = new MapSettings(settingsData.text);

        this.mapHandler = new MapHandler(this, bundle, mapSettings, LayerMask.NameToLayer(HUDConstants.LAYER_MAP));
        this.mapHandler.Start(target.position);
    }
Example #33
0
    public void startMe(int _pkmn, GameObject myself, Vector3 curs_pos, 
                GameObject player)
    {
        whichAction = "HALT_INIT";
        subactions = new Dictionary<string, float>();
        envir_info = new Dictionary<string, float>();
        envir_objects = new Dictionary<string, GameObject>();
        init_pos = player.transform.position;
        self_ref = myself;
        image_ref = transform.Find("Image").gameObject;
        player_ref = player;
        map_ref = GameObject.FindGameObjectsWithTag("World_Map")[0];
        maphandler_script = map_ref.GetComponent<MapHandler>();
        maphandle = maphandler_script.Map;
        player_action_script = player.GetComponent<ActionPlayer>();
        player_coll =  (CapsuleCollider)
                    player.GetComponentInChildren<CapsuleCollider>();
        coll = (CapsuleCollider) GetComponent<Collider>();
        pkmn = _pkmn;
        image_rnd = image_ref.GetComponent<Renderer>();
        default_image_scale = new Vector3(1.0f, 1.3f, 1.0f);

        image_rnd.enabled = false;

        if (magn(init_pos-curs_pos, false, 2) >
                        player_action_script.max_throw_dist) {
            Debug.Log(init_pos.ToString()+" -> "+curs_pos.ToString()+
                            ": Pokemon throwing distance too far.");
            whichAction = "KILL";
            return;
        }
        dirvecs.Add(new Vector3(0.0f,0.0f,maphandler_script.scale));
        dirvecs.Add(new Vector3(maphandler_script.scale,0.0f,0.0f));
        dirvecs.Add(new Vector3(0.0f,0.0f,-maphandler_script.scale));
        dirvecs.Add(new Vector3(-maphandler_script.scale,0.0f,0.0f));

        image_rnd.material.SetColor("_TintColor", Color.grey);
        if (maphandle.reserveTile(curs_pos, self_ref)) {
            initMe();
            throwMe(player, curs_pos);
        } else {
            whichAction = "KILL";
        }
    }
Example #34
0
	public override void Init (){
		base.Init ();

		if (Instance == null) {
			Instance = this;		
		}

		m_otherIndicators = new Dictionary<string,GUITexture > ();
		m_fogOfWar = new Texture2D (Screen.width, Screen.height);

		for (int i = 0; i<Screen.width; i++) {
			for (int j = 0; j<Screen.height; j++) {
				m_fogOfWar.SetPixel(i,j,m_fogOfWarColor);
			}
		}

		Vector2 playerPos = new Vector2 (playerIndicator.transform.position.x*Screen.width, playerIndicator.transform.position.y*Screen.height);
		RemoveFog (playerPos);

		m_fogOfWar.Apply (false);

		shadow.texture = (Texture)m_fogOfWar;
	}
Example #35
0
 public Expression Map(BondDataType? expectedKeyType, BondDataType? expectedValueType, MapHandler handler)
 {
     throw new System.NotImplementedException();
 }
Example #36
0
 public void Unload()
 {
     this.mapHandler.Unload();
     this.mapHandler = null;
 }
        public Expression Map(BondDataType? expectedKeyType, BondDataType? expectedValueType, MapHandler handler)
        {
            Debug.Assert(schemaType.IsBondMap());

            var itemType = schemaType.GetKeyValueType();
            return EnumerableContainer((item, next, count) => handler(
                new ObjectParser(this, Expression.Property(item, "Key"), itemType.Key),
                new ObjectParser(this, Expression.Property(item, "Value"), itemType.Value),
                Expression.Constant(itemType.Key.GetBondDataType()),
                Expression.Constant(itemType.Value.GetBondDataType()),
                next,
                Expression.Empty(),
                count));
        }