This commit is contained in:
Anuken
2019-09-11 12:37:58 -04:00
parent 565b79d1b2
commit d9c7665aca
7 changed files with 48 additions and 54 deletions

View File

@@ -1,28 +1,21 @@
package io.anuke.mindustry.core; package io.anuke.mindustry.core;
import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.*;
import io.anuke.annotations.Annotations.Remote; import io.anuke.arc.*;
import io.anuke.arc.ApplicationListener; import io.anuke.arc.collection.ObjectSet.*;
import io.anuke.arc.Events;
import io.anuke.arc.collection.ObjectSet.ObjectSetIterator;
import io.anuke.arc.util.*; import io.anuke.arc.util.*;
import io.anuke.mindustry.content.*; import io.anuke.mindustry.content.*;
import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.core.GameState.*;
import io.anuke.mindustry.entities.*; import io.anuke.mindustry.entities.*;
import io.anuke.mindustry.entities.type.Player; import io.anuke.mindustry.entities.type.*;
import io.anuke.mindustry.entities.type.TileEntity;
import io.anuke.mindustry.game.EventType.*; import io.anuke.mindustry.game.EventType.*;
import io.anuke.mindustry.game.*; import io.anuke.mindustry.game.*;
import io.anuke.mindustry.game.Teams.TeamData; import io.anuke.mindustry.game.Teams.*;
import io.anuke.mindustry.gen.BrokenBlock; import io.anuke.mindustry.gen.*;
import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.type.*;
import io.anuke.mindustry.net.Net; import io.anuke.mindustry.world.*;
import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.blocks.*;
import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.world.blocks.BuildBlock.*;
import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.blocks.BuildBlock;
import io.anuke.mindustry.world.blocks.BuildBlock.BuildEntity;
import static io.anuke.mindustry.Vars.*; import static io.anuke.mindustry.Vars.*;
@@ -164,6 +157,7 @@ public class Logic implements ApplicationListener{
} }
state.launched = true; state.launched = true;
state.gameOver = true; state.gameOver = true;
Events.fire(new LaunchEvent());
//manually fire game over event now //manually fire game over event now
Events.fire(new GameOverEvent(defaultTeam)); Events.fire(new GameOverEvent(defaultTeam));
}); });

View File

@@ -1,37 +1,33 @@
package io.anuke.mindustry.core; package io.anuke.mindustry.core;
import io.anuke.annotations.Annotations.*; import io.anuke.annotations.Annotations.*;
import io.anuke.arc.ApplicationListener; import io.anuke.arc.*;
import io.anuke.arc.Core; import io.anuke.arc.collection.*;
import io.anuke.arc.collection.IntSet; import io.anuke.arc.graphics.*;
import io.anuke.arc.graphics.Color; import io.anuke.arc.math.*;
import io.anuke.arc.math.RandomXS128;
import io.anuke.arc.util.*;
import io.anuke.arc.util.CommandHandler.*; import io.anuke.arc.util.CommandHandler.*;
import io.anuke.arc.util.io.ReusableByteInStream; import io.anuke.arc.util.*;
import io.anuke.arc.util.serialization.Base64Coder; import io.anuke.arc.util.io.*;
import io.anuke.mindustry.Vars; import io.anuke.arc.util.serialization.*;
import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.*;
import io.anuke.mindustry.entities.EntityGroup; import io.anuke.mindustry.core.GameState.*;
import io.anuke.mindustry.entities.traits.BuilderTrait.BuildRequest; import io.anuke.mindustry.entities.*;
import io.anuke.mindustry.entities.traits.SyncTrait; import io.anuke.mindustry.entities.traits.BuilderTrait.*;
import io.anuke.mindustry.entities.type.Player; import io.anuke.mindustry.entities.traits.*;
import io.anuke.mindustry.entities.type.Unit; import io.anuke.mindustry.entities.type.*;
import io.anuke.mindustry.game.TypeID; import io.anuke.mindustry.game.EventType.*;
import io.anuke.mindustry.game.Version; import io.anuke.mindustry.game.*;
import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.gen.*;
import io.anuke.mindustry.gen.RemoteReadClient; import io.anuke.mindustry.net.Administration.*;
import io.anuke.mindustry.net.Administration.TraceInfo; import io.anuke.mindustry.net.Net.*;
import io.anuke.mindustry.net.*; import io.anuke.mindustry.net.*;
import io.anuke.mindustry.net.Net.SendMode;
import io.anuke.mindustry.net.Packets.*; import io.anuke.mindustry.net.Packets.*;
import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.*;
import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.*;
import io.anuke.mindustry.world.modules.ItemModule; import io.anuke.mindustry.world.modules.*;
import java.io.DataInputStream; import java.io.*;
import java.io.IOException; import java.util.zip.*;
import java.util.zip.InflaterInputStream;
import static io.anuke.mindustry.Vars.*; import static io.anuke.mindustry.Vars.*;
@@ -191,6 +187,8 @@ public class NetClient implements ApplicationListener{
player.sendMessage(text); player.sendMessage(text);
} }
} }
Events.fire(new PlayerChatEvent(player, message));
} }
public static String colorizeName(int id, String name){ public static String colorizeName(int id, String name){

View File

@@ -15,6 +15,7 @@ import io.anuke.mindustry.content.*;
import io.anuke.mindustry.core.*; import io.anuke.mindustry.core.*;
import io.anuke.mindustry.entities.*; import io.anuke.mindustry.entities.*;
import io.anuke.mindustry.entities.traits.*; import io.anuke.mindustry.entities.traits.*;
import io.anuke.mindustry.game.EventType.*;
import io.anuke.mindustry.game.*; import io.anuke.mindustry.game.*;
import io.anuke.mindustry.gen.*; import io.anuke.mindustry.gen.*;
import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.graphics.*;

View File

@@ -19,25 +19,16 @@ public class EventType{
fireExtinguish fireExtinguish
} }
//TODO
public static class WinEvent{} public static class WinEvent{}
//TODO
public static class LoseEvent{} public static class LoseEvent{}
//TODO
public static class LaunchEvent{} public static class LaunchEvent{}
//TODO
public static class PlayerDeathEvent{}
//TODO
public static class MapMakeEvent{} public static class MapMakeEvent{}
//TODO
public static class MapPublishEvent{} public static class MapPublishEvent{}
//TODO
public static class PlayerChatEvent{ public static class PlayerChatEvent{
public final Player player; public final Player player;
public final String message; public final String message;

View File

@@ -2,6 +2,7 @@ package io.anuke.mindustry.ui.dialogs;
import io.anuke.arc.*; import io.anuke.arc.*;
import io.anuke.mindustry.core.GameState.*; import io.anuke.mindustry.core.GameState.*;
import io.anuke.mindustry.game.EventType.*;
import io.anuke.mindustry.game.Stats.*; import io.anuke.mindustry.game.Stats.*;
import io.anuke.mindustry.game.*; import io.anuke.mindustry.game.*;
import io.anuke.mindustry.type.*; import io.anuke.mindustry.type.*;
@@ -21,6 +22,11 @@ public class GameOverDialog extends FloatingDialog{
public void show(Team winner){ public void show(Team winner){
this.winner = winner; this.winner = winner;
show(); show();
if(winner == player.getTeam()){
Events.fire(new WinEvent());
}else{
Events.fire(new LoseEvent());
}
} }
void rebuild(){ void rebuild(){

View File

@@ -9,6 +9,7 @@ import io.anuke.arc.scene.ui.*;
import io.anuke.arc.scene.ui.layout.*; import io.anuke.arc.scene.ui.layout.*;
import io.anuke.arc.util.*; import io.anuke.arc.util.*;
import io.anuke.mindustry.*; import io.anuke.mindustry.*;
import io.anuke.mindustry.game.EventType.*;
import io.anuke.mindustry.gen.*; import io.anuke.mindustry.gen.*;
import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.graphics.*;
import io.anuke.mindustry.io.*; import io.anuke.mindustry.io.*;
@@ -56,6 +57,7 @@ public class MapsDialog extends FloatingDialog{
hide(); hide();
ui.editor.show(); ui.editor.show();
ui.editor.editor.getTags().put("name", text); ui.editor.editor.getTags().put("name", text);
Events.fire(new MapMakeEvent());
}); });
}); });
}).size(210f, 64f); }).size(210f, 64f);

View File

@@ -6,6 +6,7 @@ import com.codedisaster.steamworks.SteamUGC.*;
import io.anuke.arc.*; import io.anuke.arc.*;
import io.anuke.arc.files.*; import io.anuke.arc.files.*;
import io.anuke.arc.util.*; import io.anuke.arc.util.*;
import io.anuke.mindustry.game.EventType.*;
import io.anuke.mindustry.game.*; import io.anuke.mindustry.game.*;
import io.anuke.mindustry.maps.*; import io.anuke.mindustry.maps.*;
@@ -101,6 +102,7 @@ public class SWorkshop implements SteamUGCCallback{
if(result == SteamResult.OK){ if(result == SteamResult.OK){
//redirect user to page for further updates //redirect user to page for further updates
SVars.net.friends.activateGameOverlayToWebPage("steam://url/CommunityFilePage/" + SteamNativeHandle.getNativeHandle(publishedFileID)); SVars.net.friends.activateGameOverlayToWebPage("steam://url/CommunityFilePage/" + SteamNativeHandle.getNativeHandle(publishedFileID));
Events.fire(new MapPublishEvent());
}else{ }else{
ui.showErrorMessage(Core.bundle.format("map.publish.error ", result.name())); ui.showErrorMessage(Core.bundle.format("map.publish.error ", result.name()));
} }