public static void TileSelectionGUI(ref TileDrawingOpData opDat, TilesSetData tileSetData) { //GUILayout.Label("Texture: ", GUILayout.Width(100)); //if (ActivityButton2(_PaintTexLeft == -1, _PaintTexRight == -1, "None", GUILayout.Width(100))) //{ // if (Event.current.button == 1) // _PaintTexRight = -1; // else _PaintTexLeft = -1; //} ushort tIdx = 0; for (; tIdx < tileSetData.Count; ++tIdx) { var current = tileSetData.TileConfig?.Result[tIdx]; if (current == null) { continue; } if (tIdx % 5 == 0) { EditorGUILayout.BeginHorizontal(); } var toolName = current.TileName; //Texture2D previewTex = null; //var floorVar = current.FloorVariations; var lIdx = tileSetData.GetTileIdx(opDat.PaintTileTypeLeft); var rIdx = tileSetData.GetTileIdx(opDat.PaintTileTypeRight); if (CustomGUI.ActivityButton2(lIdx == tIdx, rIdx == tIdx, toolName, current.PreviewTex, GUILayout.Width(100))) { //var prevLeft = _PaintTexLeft; //var prevRight = _PaintTexRight; if (Event.current.button == 1) { opDat.PaintTileTypeRight = tileSetData.GetCombinedTile(opDat.PaintTileTypeRight, tIdx); } else { opDat.PaintTileTypeLeft = tileSetData.GetCombinedTile(opDat.PaintTileTypeLeft, tIdx); } //if (_PaintTexLeft == _PaintTexRight && _PaintTileTypeLeft!= -1) //{ // if (Event.current.button == 1) // _PaintTexLeft = prevRight; // else _PaintTexRight = prevLeft; //} } if (tIdx % 5 == 4) { EditorGUILayout.EndHorizontal(); } } if (tIdx % 5 != 0) { EditorGUILayout.EndHorizontal(); } }