public void InitSceneGrid(string sceneName) { instance.grid = FindObjectOfType <Grid>().gameObject.GetComponent <GridLayout>(); instance.groundTilemap = instance.grid.transform.Find("Tilemap_Ground").GetComponent <Tilemap>(); instance.wallTilemap = instance.grid.transform.Find("Tilemap_Wall").GetComponent <Tilemap>(); instance.objectTilemap = instance.grid.transform.Find("Tilemap_Object").GetComponent <Tilemap>(); if (StaticGridManager.CheckScene(sceneName)) { instance.groundTiles = StaticGridManager.GetSceneDict(sceneName)[0]; instance.wallTiles = StaticGridManager.GetSceneDict(sceneName)[1]; instance.objectTiles = StaticGridManager.GetSceneDict(sceneName)[2]; UpdateWorldTiles(); } else { instance.groundTiles = new Dictionary <Vector3, WorldTile>(); instance.wallTiles = new Dictionary <Vector3, WorldTile>(); instance.objectTiles = new Dictionary <Vector3, WorldTile>(); GetWorldTiles(); Dictionary <Vector3, WorldTile>[] tileGrids = { instance.groundTiles, instance.wallTiles, instance.objectTiles }; StaticGridManager.AddScene(sceneName, tileGrids); } }