fixed-hotkey implementation (#2170)
This commit is contained in:
@@ -115,7 +115,7 @@ public class PlacementFragment extends Fragment{
|
|||||||
for(int i = 0; i < blockSelect.length; i++){
|
for(int i = 0; i < blockSelect.length; i++){
|
||||||
if(Core.input.keyTap(blockSelect[i])){
|
if(Core.input.keyTap(blockSelect[i])){
|
||||||
if(i > 9) { //select block directionally
|
if(i > 9) { //select block directionally
|
||||||
Seq<Block> blocks = getByCategory(currentCategory);
|
Seq<Block> blocks = getUnlockedByCategory(currentCategory);
|
||||||
Block currentBlock = getSelectedBlock(currentCategory);
|
Block currentBlock = getSelectedBlock(currentCategory);
|
||||||
for(int j = 0; j < blocks.size; j++){
|
for(int j = 0; j < blocks.size; j++){
|
||||||
if(blocks.get(j) == currentBlock){
|
if(blocks.get(j) == currentBlock){
|
||||||
@@ -140,7 +140,7 @@ public class PlacementFragment extends Fragment{
|
|||||||
}
|
}
|
||||||
}else if(blockSelectEnd || Time.timeSinceMillis(blockSelectSeqMillis) > Core.settings.getInt("blockselecttimeout")){ //1st number of combo, select category
|
}else if(blockSelectEnd || Time.timeSinceMillis(blockSelectSeqMillis) > Core.settings.getInt("blockselecttimeout")){ //1st number of combo, select category
|
||||||
//select only visible categories
|
//select only visible categories
|
||||||
if(!getByCategory(Category.all[i]).isEmpty()){
|
if(!getUnlockedByCategory(Category.all[i]).isEmpty()){
|
||||||
currentCategory = Category.all[i];
|
currentCategory = Category.all[i];
|
||||||
if(input.block != null){
|
if(input.block != null){
|
||||||
input.block = getSelectedBlock(currentCategory);
|
input.block = getSelectedBlock(currentCategory);
|
||||||
@@ -158,6 +158,7 @@ public class PlacementFragment extends Fragment{
|
|||||||
blockSelectEnd = true;
|
blockSelectEnd = true;
|
||||||
}
|
}
|
||||||
Seq<Block> blocks = getByCategory(currentCategory);
|
Seq<Block> blocks = getByCategory(currentCategory);
|
||||||
|
if(!unlocked(blocks.get(i))) return true;
|
||||||
input.block = (i < blocks.size) ? blocks.get(i) : null;
|
input.block = (i < blocks.size) ? blocks.get(i) : null;
|
||||||
selectedBlocks.put(currentCategory, input.block);
|
selectedBlocks.put(currentCategory, input.block);
|
||||||
blockSelectSeqMillis = Time.millis();
|
blockSelectSeqMillis = Time.millis();
|
||||||
@@ -203,7 +204,8 @@ public class PlacementFragment extends Fragment{
|
|||||||
ButtonGroup<ImageButton> group = new ButtonGroup<>();
|
ButtonGroup<ImageButton> group = new ButtonGroup<>();
|
||||||
group.setMinCheckCount(0);
|
group.setMinCheckCount(0);
|
||||||
|
|
||||||
for(Block block : getByCategory(currentCategory)){
|
for(Block block : getUnlockedByCategory(currentCategory)){
|
||||||
|
if(!unlocked(block)) continue;
|
||||||
if(index++ % rowWidth == 0){
|
if(index++ % rowWidth == 0){
|
||||||
blockTable.row();
|
blockTable.row();
|
||||||
}
|
}
|
||||||
@@ -384,7 +386,7 @@ public class PlacementFragment extends Fragment{
|
|||||||
|
|
||||||
//update category empty values
|
//update category empty values
|
||||||
for(Category cat : Category.all){
|
for(Category cat : Category.all){
|
||||||
Seq<Block> blocks = getByCategory(cat);
|
Seq<Block> blocks = getUnlockedByCategory(cat);
|
||||||
categoryEmpty[cat.ordinal()] = blocks.isEmpty();
|
categoryEmpty[cat.ordinal()] = blocks.isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -423,6 +425,16 @@ public class PlacementFragment extends Fragment{
|
|||||||
}
|
}
|
||||||
|
|
||||||
Seq<Block> getByCategory(Category cat){
|
Seq<Block> getByCategory(Category cat){
|
||||||
|
returnArray.clear();
|
||||||
|
for(Block block : content.blocks()){
|
||||||
|
if(block.category == cat && block.isVisible()){
|
||||||
|
returnArray.add(block);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return returnArray;
|
||||||
|
}
|
||||||
|
|
||||||
|
Seq<Block> getUnlockedByCategory(Category cat){
|
||||||
returnArray.clear();
|
returnArray.clear();
|
||||||
for(Block block : content.blocks()){
|
for(Block block : content.blocks()){
|
||||||
if(block.category == cat && block.isVisible() && unlocked(block)){
|
if(block.category == cat && block.isVisible() && unlocked(block)){
|
||||||
|
|||||||
Reference in New Issue
Block a user