void OnTriggerEnter(Collider cell) { if (cell.gameObject.layer == LayerMask.NameToLayer("Cells")) { //Nos guardamos el componente HexCell, bien de la propia celda o de su padre (porque depende de la celda) HexCell cellCollided = cell.gameObject.GetComponent <HexCell>(); if (cellCollided == null) { cellCollided = cell.gameObject.GetComponentInParent <HexCell>(); } //Antes de actualizar vaciamos la celda anterior y la oscurecemos de nuevo, esto último solamente si no era de tipo ciudad if (currentCell != null) { currentCell.unitInside = null; if (!lastCellIsCity) { currentCell.ToneDown(); } } //Ahora ya actualizamos a la nueva celda currentCell = cellCollided; currentCell.unitInside = this; //Para el color depende si la celda es una ciudad, porque esas se pueden controlar y entonces hay que resaltar del color de la facción if (cellCollided.Type != HexCell.CellType.CITYENERGY && cellCollided.Type != HexCell.CellType.CITYMATS && cellCollided.Type != HexCell.CellType.CITYMOON) { //Hacemos highlight de la celda currentCell.Highlight(); lastCellIsCity = false; } else { cellCollided.TurnToColor(CityColor); cellCollided.faction = myFaction; faction.AddCity(cell.gameObject.GetComponentInParent <CityCell>()); lastCellIsCity = true; } } }