Mobile input fixes
This commit is contained in:
@@ -37,6 +37,7 @@ public class AssetsAnnotationProcessor extends AbstractProcessor{
|
|||||||
path = Paths.get(Utils.filer.createResource(StandardLocation.CLASS_OUTPUT, "no", "no")
|
path = Paths.get(Utils.filer.createResource(StandardLocation.CLASS_OUTPUT, "no", "no")
|
||||||
.toUri().toURL().toString().substring(System.getProperty("os.name").contains("Windows") ? 6 : "file:".length()))
|
.toUri().toURL().toString().substring(System.getProperty("os.name").contains("Windows") ? 6 : "file:".length()))
|
||||||
.getParent().getParent().getParent().getParent().getParent().getParent().toString();
|
.getParent().getParent().getParent().getParent().getParent().getParent().toString();
|
||||||
|
path = path.replace("%20", " ");
|
||||||
|
|
||||||
processSounds("Sounds", path + "/assets/sounds", "io.anuke.arc.audio.Sound");
|
processSounds("Sounds", path + "/assets/sounds", "io.anuke.arc.audio.Sound");
|
||||||
processSounds("Musics", path + "/assets/music", "io.anuke.arc.audio.Music");
|
processSounds("Musics", path + "/assets/music", "io.anuke.arc.audio.Music");
|
||||||
|
|||||||
@@ -211,7 +211,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
|||||||
if(request.breaking){
|
if(request.breaking){
|
||||||
drawBreaking(request.x, request.y);
|
drawBreaking(request.x, request.y);
|
||||||
}else{
|
}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){
|
for(BrokenBlock req : state.teams.get(player.getTeam()).brokenBlocks){
|
||||||
Block block = content.block(req.block);
|
Block block = content.block(req.block);
|
||||||
if(block.bounds(req.x, req.y, Tmp.r2).overlaps(Tmp.r1)){
|
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 wx = x1 + x * Mathf.sign(x2 - x1);
|
||||||
int wy = y1 + y * Mathf.sign(y2 - y1);
|
int wy = y1 + y * Mathf.sign(y2 - y1);
|
||||||
|
|
||||||
|
Tile tile = world.ltile(wx, wy);
|
||||||
|
|
||||||
|
if(tile == null) continue;
|
||||||
|
|
||||||
if(!flush){
|
if(!flush){
|
||||||
tryBreakBlock(wx, wy);
|
tryBreakBlock(wx, wy);
|
||||||
}else{
|
}else if(validBreak(tile.x, tile.y) && !selectRequests.contains(r -> r.tile() != null && r.tile().link() == tile)){
|
||||||
selectRequests.add(new BuildRequest(wx, wy));
|
selectRequests.add(new BuildRequest(tile.x, tile.y));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//remove build requests
|
//remove build requests
|
||||||
Tmp.r1.set(result.x * tilesize, result.y * tilesize, (result.x2 - result.x) * tilesize, (result.y2 - result.y) * tilesize);
|
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();
|
Iterator<BuildRequest> it = player.buildQueue().iterator();
|
||||||
while(it.hasNext()){
|
while(it.hasNext()){
|
||||||
BuildRequest req = it.next();
|
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
|
//remove blocks to rebuild
|
||||||
Iterator<BrokenBlock> broken = state.teams.get(player.getTeam()).brokenBlocks.iterator();
|
Iterator<BrokenBlock> broken = state.teams.get(player.getTeam()).brokenBlocks.iterator();
|
||||||
while(broken.hasNext()){
|
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);
|
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);
|
drawRequest(request);
|
||||||
|
|
||||||
//draw last placed request
|
//draw last placed request
|
||||||
@@ -327,8 +328,10 @@ public class MobileInput extends InputHandler implements GestureListener{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void drawRequest(BuildRequest request){
|
protected void drawRequest(BuildRequest request){
|
||||||
|
if(request.breaking){
|
||||||
|
drawSelected(request.x, request.y, request.block, Pal.remove);
|
||||||
|
}else{
|
||||||
drawRequest(request.x, request.y, request.block, request.rotation);
|
drawRequest(request.x, request.y, request.block, request.rotation);
|
||||||
if(!request.breaking){
|
|
||||||
drawSelected(request.x, request.y, request.block, Pal.accent);
|
drawSelected(request.x, request.y, request.block, Pal.accent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -456,12 +459,16 @@ public class MobileInput extends InputHandler implements GestureListener{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(){
|
public void update(){
|
||||||
if(state.is(State.menu) || player.isDead()){
|
if(state.is(State.menu) ){
|
||||||
selectRequests.clear();
|
selectRequests.clear();
|
||||||
removals.clear();
|
removals.clear();
|
||||||
mode = none;
|
mode = none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(player.isDead()){
|
||||||
|
mode = none;
|
||||||
|
}
|
||||||
|
|
||||||
//zoom things
|
//zoom things
|
||||||
if(Math.abs(Core.input.axisTap(Binding.zoom)) > 0 && (Core.input.keyDown(Binding.zoom_hold))){
|
if(Math.abs(Core.input.axisTap(Binding.zoom)) > 0 && (Core.input.keyDown(Binding.zoom_hold))){
|
||||||
renderer.scaleCamera(Core.input.axisTap(Binding.zoom));
|
renderer.scaleCamera(Core.input.axisTap(Binding.zoom));
|
||||||
@@ -487,8 +494,6 @@ public class MobileInput extends InputHandler implements GestureListener{
|
|||||||
if(mode == none){
|
if(mode == none){
|
||||||
selecting = false;
|
selecting = false;
|
||||||
lineMode = false;
|
lineMode = false;
|
||||||
removals.addAll(selectRequests);
|
|
||||||
selectRequests.clear();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(lineMode && mode == placing && block == null){
|
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. */
|
/** @return the loaded mod found by class, or null if not found. */
|
||||||
public @Nullable
|
public @Nullable LoadedMod getMod(Class<? extends Mod> type){
|
||||||
LoadedMod getMod(Class<? extends Mod> type){
|
|
||||||
return loaded.find(l -> l.mod.getClass() == type);
|
return loaded.find(l -> l.mod.getClass() == type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user