mirror of
https://github.com/Anuken/Mindustry.git
synced 2026-01-10 11:12:48 -08:00
Mobile input fixes
This commit is contained in:
parent
80a4e67ddf
commit
204332a76a
4 changed files with 38 additions and 11 deletions
|
|
@ -37,6 +37,7 @@ public class AssetsAnnotationProcessor extends AbstractProcessor{
|
|||
path = Paths.get(Utils.filer.createResource(StandardLocation.CLASS_OUTPUT, "no", "no")
|
||||
.toUri().toURL().toString().substring(System.getProperty("os.name").contains("Windows") ? 6 : "file:".length()))
|
||||
.getParent().getParent().getParent().getParent().getParent().getParent().toString();
|
||||
path = path.replace("%20", " ");
|
||||
|
||||
processSounds("Sounds", path + "/assets/sounds", "io.anuke.arc.audio.Sound");
|
||||
processSounds("Musics", path + "/assets/music", "io.anuke.arc.audio.Music");
|
||||
|
|
|
|||
|
|
@ -211,7 +211,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
|||
if(request.breaking){
|
||||
drawBreaking(request.x, request.y);
|
||||
}else{
|
||||
drawSelected(request.x, request.y, request.block, Pal.remove);
|
||||
drawSelected(request.x, request.y, request.tile().block(), Pal.remove);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -288,6 +288,14 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
for(BuildRequest req : selectRequests){
|
||||
if(req.breaking) continue;
|
||||
if(req.bounds(Tmp.r2).overlaps(Tmp.r1)){
|
||||
drawBreaking(req);
|
||||
}
|
||||
}*/
|
||||
|
||||
for(BrokenBlock req : state.teams.get(player.getTeam()).brokenBlocks){
|
||||
Block block = content.block(req.block);
|
||||
if(block.bounds(req.x, req.y, Tmp.r2).overlaps(Tmp.r1)){
|
||||
|
|
@ -342,16 +350,21 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
|||
int wx = x1 + x * Mathf.sign(x2 - x1);
|
||||
int wy = y1 + y * Mathf.sign(y2 - y1);
|
||||
|
||||
Tile tile = world.ltile(wx, wy);
|
||||
|
||||
if(tile == null) continue;
|
||||
|
||||
if(!flush){
|
||||
tryBreakBlock(wx, wy);
|
||||
}else{
|
||||
selectRequests.add(new BuildRequest(wx, wy));
|
||||
}else if(validBreak(tile.x, tile.y) && !selectRequests.contains(r -> r.tile() != null && r.tile().link() == tile)){
|
||||
selectRequests.add(new BuildRequest(tile.x, tile.y));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//remove build requests
|
||||
Tmp.r1.set(result.x * tilesize, result.y * tilesize, (result.x2 - result.x) * tilesize, (result.y2 - result.y) * tilesize);
|
||||
|
||||
Iterator<BuildRequest> it = player.buildQueue().iterator();
|
||||
while(it.hasNext()){
|
||||
BuildRequest req = it.next();
|
||||
|
|
@ -360,6 +373,15 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
it = selectRequests.iterator();
|
||||
while(it.hasNext()){
|
||||
BuildRequest req = it.next();
|
||||
if(!req.breaking && req.bounds(Tmp.r2).overlaps(Tmp.r1)){
|
||||
it.remove();
|
||||
}
|
||||
}*/
|
||||
|
||||
//remove blocks to rebuild
|
||||
Iterator<BrokenBlock> broken = state.teams.get(player.getTeam()).brokenBlocks.iterator();
|
||||
while(broken.hasNext()){
|
||||
|
|
|
|||
|
|
@ -270,7 +270,8 @@ public class MobileInput extends InputHandler implements GestureListener{
|
|||
if(request.block.rotate) drawArrow(request.block, tile.x, tile.y, request.rotation);
|
||||
}
|
||||
|
||||
Draw.mixcol(Tmp.c1, 1f);
|
||||
//Draw.mixcol(Tmp.c1, 1f);
|
||||
Draw.reset();
|
||||
drawRequest(request);
|
||||
|
||||
//draw last placed request
|
||||
|
|
@ -327,8 +328,10 @@ public class MobileInput extends InputHandler implements GestureListener{
|
|||
|
||||
@Override
|
||||
protected void drawRequest(BuildRequest request){
|
||||
drawRequest(request.x, request.y, request.block, request.rotation);
|
||||
if(!request.breaking){
|
||||
if(request.breaking){
|
||||
drawSelected(request.x, request.y, request.block, Pal.remove);
|
||||
}else{
|
||||
drawRequest(request.x, request.y, request.block, request.rotation);
|
||||
drawSelected(request.x, request.y, request.block, Pal.accent);
|
||||
}
|
||||
}
|
||||
|
|
@ -456,12 +459,16 @@ public class MobileInput extends InputHandler implements GestureListener{
|
|||
|
||||
@Override
|
||||
public void update(){
|
||||
if(state.is(State.menu) || player.isDead()){
|
||||
if(state.is(State.menu) ){
|
||||
selectRequests.clear();
|
||||
removals.clear();
|
||||
mode = none;
|
||||
}
|
||||
|
||||
if(player.isDead()){
|
||||
mode = none;
|
||||
}
|
||||
|
||||
//zoom things
|
||||
if(Math.abs(Core.input.axisTap(Binding.zoom)) > 0 && (Core.input.keyDown(Binding.zoom_hold))){
|
||||
renderer.scaleCamera(Core.input.axisTap(Binding.zoom));
|
||||
|
|
@ -487,8 +494,6 @@ public class MobileInput extends InputHandler implements GestureListener{
|
|||
if(mode == none){
|
||||
selecting = false;
|
||||
lineMode = false;
|
||||
removals.addAll(selectRequests);
|
||||
selectRequests.clear();
|
||||
}
|
||||
|
||||
if(lineMode && mode == placing && block == null){
|
||||
|
|
|
|||
|
|
@ -47,8 +47,7 @@ public class Mods implements Loadable{
|
|||
}
|
||||
|
||||
/** @return the loaded mod found by class, or null if not found. */
|
||||
public @Nullable
|
||||
LoadedMod getMod(Class<? extends Mod> type){
|
||||
public @Nullable LoadedMod getMod(Class<? extends Mod> type){
|
||||
return loaded.find(l -> l.mod.getClass() == type);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue