Dinge, die ich ausprobiert habe: < /p>
1 - Entfernen des Var der Tilelocation (ich dachte, vielleicht war es irgendwie zurückgewiesen, weil es ein lokales Variable war. Hastil () Methode < /p>
3 - Entfernen Sie die! MAP.Containskey -Methode (hatte das Problem immer noch) < /p>
4 - Ich habe versucht, eine Reihe anderer Dinge anzupassen und anzupassen, aber keinen Erfolg hatte, entweder < /p>
Ich kann jeden Gewicht von Tile und Overteytile -Overytile -Overtile -Overtile -IT -Overtile -Overtile -IT -Overtile -IT -Overtile -IT -Tile haben. d.h., ein Zeichen zu bewegen oder eine Fliese für einen Aoe -Zauber abzielen. < /p>
Fehlt mir etwas? Ist das eine seltsame Eigenart von Hastile (), die ich herumarbeiten muss? Danke! < /P>
Hier ist der entsprechende Code: < /p>
Code: Select all
void Start()
{
tileMaps = AssembleTilemapLayers();
tileMaps.Reverse();
map = new Dictionary();
for (int i = 0; i < tileMaps.Count; i++)
{
var tileMap = tileMaps[i];
var bounds = tileMap.cellBounds;
var z = (int)tileMap.transform.position.z;
// looping through all map tiles
for (int y = bounds.min.y; y < bounds.max.y; y++)
{
for (int x = bounds.min.x; x < bounds.max.x; x++)
{
tileLocation = new Vector3Int(x, y, z);
if (tileMap.HasTile(tileLocation) && !map.ContainsKey(tileLocation))
{
var overlayTile = Instantiate(overlayTilePrefab, overlayContainer.transform);
var cellWorldPosition = tileMap.GetCellCenterWorld(tileLocation);
overlayTile.transform.position = new Vector3(cellWorldPosition.x, cellWorldPosition.y, cellWorldPosition.z + 1);
overlayTile.GetComponent().sortingOrder = tileMap.GetComponent().sortingOrder;
overlayTile.gridLocation = tileLocation;
map.Add(tileLocation, overlayTile);
}
}
}
}
}