This commit is contained in:
Anuken
2019-10-24 09:03:49 -04:00
parent eaaf3a9e60
commit cbfcb5de2c
3 changed files with 20 additions and 10 deletions

View File

@@ -47,6 +47,7 @@ public class GlobalData{
try(OutputStream fos = file.write(false, 2048); ZipOutputStream zos = new ZipOutputStream(fos)){
for(FileHandle add : files){
if(add.isDirectory()) continue;
zos.putNextEntry(new ZipEntry(add.path().substring(base.length())));
Streams.copyStream(add.read(), zos);
zos.closeEntry();

View File

@@ -28,10 +28,8 @@ public class MusicControl{
private boolean silenced;
public MusicControl(){
Events.on(ClientLoadEvent.class, e -> {
ambientMusic = Array.with(Musics.game1, Musics.game3, Musics.game4, Musics.game6);
darkMusic = Array.with(Musics.game2, Musics.game5, Musics.game7);
});
Events.on(ClientLoadEvent.class, e -> reload());
Events.on(ContentReloadEvent.class, e -> reload());
//only run music 10 seconds after a wave spawns
Events.on(WaveEvent.class, e -> Time.run(60f * 10f, () -> {
@@ -41,6 +39,13 @@ public class MusicControl{
}));
}
private void reload(){
current = null;
fade = 0f;
ambientMusic = Array.with(Musics.game1, Musics.game3, Musics.game4, Musics.game6);
darkMusic = Array.with(Musics.game2, Musics.game5, Musics.game7);
}
/** Update and play the right music track.*/
public void update(){
if(state.is(State.menu)){

View File

@@ -12,12 +12,12 @@ import io.anuke.mindustry.entities.*;
import io.anuke.mindustry.entities.effect.*;
import io.anuke.mindustry.entities.traits.BuilderTrait.*;
import io.anuke.mindustry.entities.type.*;
import io.anuke.mindustry.game.*;
import io.anuke.mindustry.game.EventType.*;
import io.anuke.mindustry.game.*;
import io.anuke.mindustry.gen.*;
import io.anuke.mindustry.graphics.*;
import io.anuke.mindustry.type.*;
import io.anuke.mindustry.ui.Cicon;
import io.anuke.mindustry.ui.*;
import io.anuke.mindustry.world.*;
import io.anuke.mindustry.world.modules.*;
@@ -64,15 +64,19 @@ public class BuildBlock extends Block{
if(tile.entity != null){
tile.entity.health = block.health * healthf;
}
Effects.effect(Fx.placeBlock, tile.drawx(), tile.drawy(), block.size);
tile.block().placed(tile);
//last builder was this local client player, call placed()
if(!headless && builderID == player.id){
if(!skipConfig){
tile.block().playerPlaced(tile);
}
}
Effects.effect(Fx.placeBlock, tile.drawx(), tile.drawy(), block.size);
}
public static void constructed(Tile tile, Block block, int builderID, byte rotation, Team team, boolean skipConfig){
Call.onConstructFinish(tile, block, builderID, rotation, team, skipConfig);
tile.block().placed(tile);
Events.fire(new BlockBuildEndEvent(tile, playerGroup.getByID(builderID), team, false));
Sounds.place.at(tile, Mathf.random(0.7f, 1.4f));
}
@@ -209,7 +213,7 @@ public class BuildBlock extends Block{
}
if(progress >= 1f || state.rules.infiniteResources){
Call.onConstructFinish(tile, cblock, builderID, tile.rotation(), builder.getTeam(), configured);
constructed(tile, cblock, builderID, tile.rotation(), builder.getTeam(), configured);
return true;
}
return false;