Sound things
This commit is contained in:
@@ -63,7 +63,6 @@ public class AssetsAnnotationProcessor extends AbstractProcessor{
|
|||||||
MethodSpec.Builder load = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
|
MethodSpec.Builder load = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
|
||||||
MethodSpec.Builder dispose = MethodSpec.methodBuilder("dispose").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
|
MethodSpec.Builder dispose = MethodSpec.methodBuilder("dispose").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
|
||||||
|
|
||||||
|
|
||||||
HashSet<String> names = new HashSet<>();
|
HashSet<String> names = new HashSet<>();
|
||||||
Files.list(Paths.get(path)).forEach(p -> {
|
Files.list(Paths.get(path)).forEach(p -> {
|
||||||
String fname = p.getFileName().toString();
|
String fname = p.getFileName().toString();
|
||||||
@@ -87,6 +86,10 @@ public class AssetsAnnotationProcessor extends AbstractProcessor{
|
|||||||
//cons.consume(type, fname, name);
|
//cons.consume(type, fname, name);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if(classname.equals("Sounds")){
|
||||||
|
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), "none", Modifier.STATIC, Modifier.PUBLIC).initializer("new io.anuke.arc.audio.mock.Mock" + rtype.substring(rtype.lastIndexOf(".") + 1)+ "()").build());
|
||||||
|
}
|
||||||
|
|
||||||
type.addMethod(load.build());
|
type.addMethod(load.build());
|
||||||
type.addMethod(dispose.build());
|
type.addMethod(dispose.build());
|
||||||
JavaFile.builder(packageName, type.build()).build().writeTo(Utils.filer);
|
JavaFile.builder(packageName, type.build()).build().writeTo(Utils.filer);
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -317,6 +317,10 @@ public class UI implements ApplicationListener{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void showConfirm(String title, String text, Runnable confirmed){
|
public void showConfirm(String title, String text, Runnable confirmed){
|
||||||
|
showConfirm(title, text, null, confirmed);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void showConfirm(String title, String text, BooleanProvider hide, Runnable confirmed){
|
||||||
FloatingDialog dialog = new FloatingDialog(title);
|
FloatingDialog dialog = new FloatingDialog(title);
|
||||||
dialog.cont.add(text).width(500f).wrap().pad(4f).get().setAlignment(Align.center, Align.center);
|
dialog.cont.add(text).width(500f).wrap().pad(4f).get().setAlignment(Align.center, Align.center);
|
||||||
dialog.buttons.defaults().size(200f, 54f).pad(2f);
|
dialog.buttons.defaults().size(200f, 54f).pad(2f);
|
||||||
@@ -326,6 +330,13 @@ public class UI implements ApplicationListener{
|
|||||||
dialog.hide();
|
dialog.hide();
|
||||||
confirmed.run();
|
confirmed.run();
|
||||||
});
|
});
|
||||||
|
if(hide != null){
|
||||||
|
dialog.update(() -> {
|
||||||
|
if(hide.get()){
|
||||||
|
dialog.hide();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
dialog.keyDown(KeyCode.ESCAPE, dialog::hide);
|
dialog.keyDown(KeyCode.ESCAPE, dialog::hide);
|
||||||
dialog.keyDown(KeyCode.BACK, dialog::hide);
|
dialog.keyDown(KeyCode.BACK, dialog::hide);
|
||||||
dialog.show();
|
dialog.show();
|
||||||
|
|||||||
@@ -59,13 +59,6 @@ public class DeployDialog extends FloatingDialog{
|
|||||||
titleTable.remove();
|
titleTable.remove();
|
||||||
margin(0f).marginBottom(8);
|
margin(0f).marginBottom(8);
|
||||||
|
|
||||||
if(!Core.settings.getBool("zone-info", false)){
|
|
||||||
Core.app.post(() -> ui.showInfoText("TEMPORARY GUIDE ON HOW TO PLAY ZONES", "- deploy to zones by selecting them here\n- most zones require items to deploy\n- once you survive a set amount of waves, you can launch all the resources in your core\n- use these items to research in the tech tree or uncover new zones"));
|
|
||||||
|
|
||||||
Core.settings.put("zone-info", true);
|
|
||||||
Core.settings.save();
|
|
||||||
}
|
|
||||||
|
|
||||||
Stack stack = new Stack();
|
Stack stack = new Stack();
|
||||||
|
|
||||||
stack.add(new Image(new Texture("sprites/backgrounds/stars.png"){{
|
stack.add(new Image(new Texture("sprites/backgrounds/stars.png"){{
|
||||||
|
|||||||
@@ -637,14 +637,18 @@ public class HudFragment extends Fragment{
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean canSkipWave(){
|
||||||
|
return state.rules.waves && ((Net.server() || player.isAdmin) || !Net.active()) && state.enemies() == 0 && !world.spawner.isSpawning();
|
||||||
|
}
|
||||||
|
|
||||||
private void addPlayButton(Table table){
|
private void addPlayButton(Table table){
|
||||||
table.right().addImageButton("icon-play", "right", 30f, () -> {
|
table.right().addImageButton("icon-play", "right", 30f, () -> {
|
||||||
if(Net.client() && player.isAdmin){
|
if(Net.client() && player.isAdmin){
|
||||||
Call.onAdminRequest(player, AdminAction.wave);
|
Call.onAdminRequest(player, AdminAction.wave);
|
||||||
}else{
|
}else{
|
||||||
state.wavetime = 0f;
|
ui.showConfirm("$confirm", "$launch.skip.confirm", () -> !canSkipWave(), () -> state.wavetime = 0f);
|
||||||
}
|
}
|
||||||
}).growY().fillX().right().width(40f)
|
}).growY().fillX().right().width(40f)
|
||||||
.visible(() -> state.rules.waves && ((Net.server() || player.isAdmin) || !Net.active()) && state.enemies() == 0 && !world.spawner.isSpawning() && !inLaunchWave());
|
.visible(this::canSkipWave);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package io.anuke.mindustry.world.blocks.defense.turrets;
|
package io.anuke.mindustry.world.blocks.defense.turrets;
|
||||||
|
|
||||||
import io.anuke.arc.Core;
|
import io.anuke.arc.Core;
|
||||||
|
import io.anuke.arc.audio.*;
|
||||||
import io.anuke.arc.collection.Array;
|
import io.anuke.arc.collection.Array;
|
||||||
import io.anuke.arc.collection.EnumSet;
|
import io.anuke.arc.collection.EnumSet;
|
||||||
import io.anuke.arc.function.BiConsumer;
|
import io.anuke.arc.function.BiConsumer;
|
||||||
@@ -18,6 +19,7 @@ import io.anuke.mindustry.entities.bullet.Bullet;
|
|||||||
import io.anuke.mindustry.entities.bullet.BulletType;
|
import io.anuke.mindustry.entities.bullet.BulletType;
|
||||||
import io.anuke.mindustry.entities.traits.TargetTrait;
|
import io.anuke.mindustry.entities.traits.TargetTrait;
|
||||||
import io.anuke.mindustry.entities.type.TileEntity;
|
import io.anuke.mindustry.entities.type.TileEntity;
|
||||||
|
import io.anuke.mindustry.gen.*;
|
||||||
import io.anuke.mindustry.graphics.*;
|
import io.anuke.mindustry.graphics.*;
|
||||||
import io.anuke.mindustry.world.Block;
|
import io.anuke.mindustry.world.Block;
|
||||||
import io.anuke.mindustry.world.Tile;
|
import io.anuke.mindustry.world.Tile;
|
||||||
@@ -34,6 +36,7 @@ public abstract class Turret extends Block{
|
|||||||
protected Effect shootEffect = Fx.none;
|
protected Effect shootEffect = Fx.none;
|
||||||
protected Effect smokeEffect = Fx.none;
|
protected Effect smokeEffect = Fx.none;
|
||||||
protected Effect ammoUseEffect = Fx.none;
|
protected Effect ammoUseEffect = Fx.none;
|
||||||
|
protected Sound shootSound = Sounds.shoot;
|
||||||
|
|
||||||
protected int ammoPerShot = 1;
|
protected int ammoPerShot = 1;
|
||||||
protected float ammoEjectBack = 1f;
|
protected float ammoEjectBack = 1f;
|
||||||
@@ -276,6 +279,7 @@ public abstract class Turret extends Block{
|
|||||||
|
|
||||||
Effects.effect(shootEffect, tile.drawx() + tr.x, tile.drawy() + tr.y, entity.rotation);
|
Effects.effect(shootEffect, tile.drawx() + tr.x, tile.drawy() + tr.y, entity.rotation);
|
||||||
Effects.effect(smokeEffect, tile.drawx() + tr.x, tile.drawy() + tr.y, entity.rotation);
|
Effects.effect(smokeEffect, tile.drawx() + tr.x, tile.drawy() + tr.y, entity.rotation);
|
||||||
|
shootSound.at(tile);
|
||||||
|
|
||||||
if(shootShake > 0){
|
if(shootShake > 0){
|
||||||
Effects.shake(shootShake, shootShake, tile.entity);
|
Effects.shake(shootShake, shootShake, tile.entity);
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ task ikdist{
|
|||||||
def filename = "$appName-${getTarget()}-${version}"
|
def filename = "$appName-${getTarget()}-${version}"
|
||||||
def folder = "build/libs/$filename"
|
def folder = "build/libs/$filename"
|
||||||
def baseArgs = System.properties['os.name'].toLowerCase().contains('windows') ? [] : ["mono"]
|
def baseArgs = System.properties['os.name'].toLowerCase().contains('windows') ? [] : ["mono"]
|
||||||
def args = baseArgs + ["$IKVM_DIR/ikvmc.exe", "-target:winexe", "-static", "-out:build/libs/${filename}.exe", "build/libs/${filename}.jar"]
|
def args = baseArgs + ["$IKVM_DIR/ikvmc.exe", "-target:winexe", "-out:build/libs/${filename}.exe", "build/libs/${filename}.jar"]
|
||||||
if(file("../core/assets/sprites/icon.ico").exists()){
|
if(file("../core/assets/sprites/icon.ico").exists()){
|
||||||
args += ["-win32icon:../core/assets/sprites/icon.ico"]
|
args += ["-win32icon:../core/assets/sprites/icon.ico"]
|
||||||
}else if(file("../core/assets/icons/icon.ico").exists()){
|
}else if(file("../core/assets/icons/icon.ico").exists()){
|
||||||
|
|||||||
Reference in New Issue
Block a user