Fixed duplication bug
This commit is contained in:
@@ -368,7 +368,6 @@ public class Control extends Module{
|
||||
enemy.add();
|
||||
|
||||
Effects.effect(Fx.spawn, enemy);
|
||||
Vars.netServer.handleEnemySpawn(enemy);
|
||||
|
||||
enemies ++;
|
||||
});
|
||||
|
||||
@@ -31,7 +31,6 @@ import io.anuke.ucore.modules.Module;
|
||||
|
||||
import java.io.DataInputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class NetClient extends Module {
|
||||
public static final Color[] colorArray = {Color.ORANGE, Color.SCARLET, Color.LIME, Color.PURPLE,
|
||||
@@ -105,25 +104,11 @@ public class NetClient extends Module {
|
||||
Timers.run(10f, () -> { //TODO hack. should only run once world data is recieved
|
||||
Vars.control.playerGroup.remap(Vars.player, data.playerid);
|
||||
|
||||
for (int i = 0; i < data.players.length; i ++) {
|
||||
Player player = data.players[i];
|
||||
if (player.id != data.playerid) {
|
||||
player.weaponLeft = player.weaponRight = (Weapon) Upgrade.getByID(data.playerWeapons[i]);
|
||||
player.add();
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < data.enemies.length; i ++){
|
||||
Net.handleClientReceived(data.enemies[i]);
|
||||
}
|
||||
|
||||
for(int i = 0; i < data.weapons.length; i ++){
|
||||
Vars.control.addWeapon((Weapon) Upgrade.getByID(data.weapons[i]));
|
||||
}
|
||||
Vars.player.weaponLeft = Vars.player.weaponRight = Vars.control.getWeapons().peek();
|
||||
Vars.ui.hudfrag.updateWeapons();
|
||||
|
||||
UCore.log("Recieved entities: " + Arrays.toString(data.players) + " player ID: " + data.playerid);
|
||||
gotEntities = true;
|
||||
});
|
||||
});
|
||||
|
||||
@@ -26,7 +26,6 @@ import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class NetServer extends Module{
|
||||
/**Maps connection IDs to players.*/
|
||||
@@ -67,32 +66,8 @@ public class NetServer extends Module{
|
||||
connections.put(id, player);
|
||||
|
||||
dp.playerid = player.id;
|
||||
dp.players = Vars.control.playerGroup.all().toArray(Player.class);
|
||||
dp.playerWeapons = new byte[dp.players.length];
|
||||
dp.weapons = weapons.get(packet.name, new ByteArray()).toArray();
|
||||
|
||||
for(int i = 0; i < dp.playerWeapons.length; i ++){
|
||||
dp.playerWeapons[i] = dp.players[i].weaponLeft.id;
|
||||
}
|
||||
|
||||
dp.enemies = new EnemySpawnPacket[Vars.control.enemyGroup.amount()];
|
||||
|
||||
for(int i = 0; i < Vars.control.enemyGroup.amount(); i ++){
|
||||
Enemy enemy = Vars.control.enemyGroup.all().get(i);
|
||||
EnemySpawnPacket e = new EnemySpawnPacket();
|
||||
e.x = enemy.x;
|
||||
e.y = enemy.y;
|
||||
e.id = enemy.id;
|
||||
e.tier = (byte)enemy.tier;
|
||||
e.lane = (byte)enemy.lane;
|
||||
e.type = enemy.type.id;
|
||||
dp.enemies[i] = e;
|
||||
}
|
||||
|
||||
UCore.log("Sending entities: " + Arrays.toString(dp.players));
|
||||
|
||||
Net.sendExcept(id, player, SendMode.tcp);
|
||||
|
||||
Net.sendTo(id, dp, SendMode.tcp);
|
||||
|
||||
sendMessage("[accent]"+Bundles.format("text.server.connected", packet.name));
|
||||
@@ -118,7 +93,6 @@ public class NetServer extends Module{
|
||||
|
||||
Net.handleServer(PositionPacket.class, pos -> {
|
||||
Player player = connections.get(Net.getLastConnection());
|
||||
UCore.log("Recieving data: " + Arrays.toString(pos.data), "Player pos: " +player.x, player.y);
|
||||
player.getInterpolator().type.read(player, pos.data);
|
||||
});
|
||||
|
||||
@@ -250,17 +224,6 @@ public class NetServer extends Module{
|
||||
Net.send(packet, SendMode.udp);
|
||||
}
|
||||
|
||||
public void handleEnemySpawn(Enemy enemy){
|
||||
EnemySpawnPacket packet = new EnemySpawnPacket();
|
||||
packet.type = enemy.type.id;
|
||||
packet.lane = (byte)enemy.lane;
|
||||
packet.tier = (byte)enemy.tier;
|
||||
packet.x = enemy.x;
|
||||
packet.y = enemy.y;
|
||||
packet.id = enemy.id;
|
||||
Net.send(packet, SendMode.tcp);
|
||||
}
|
||||
|
||||
public void handleEnemyDeath(Enemy enemy){
|
||||
EnemyDeathPacket packet = new EnemyDeathPacket();
|
||||
packet.id = enemy.id;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package io.anuke.mindustry.net;
|
||||
|
||||
import io.anuke.mindustry.entities.Player;
|
||||
|
||||
/**Class for storing all packets.*/
|
||||
public class Packets {
|
||||
|
||||
@@ -20,9 +18,6 @@ public class Packets {
|
||||
}
|
||||
|
||||
public static class EntityDataPacket{
|
||||
public Player[] players;
|
||||
public EnemySpawnPacket[] enemies;
|
||||
public byte[] playerWeapons;
|
||||
public int playerid;
|
||||
public byte[] weapons;
|
||||
}
|
||||
|
||||
@@ -138,7 +138,7 @@ public class ChatFragment extends Table implements Fragment{
|
||||
batch.setColor(Color.WHITE);
|
||||
|
||||
if(fadetime > 0 && !chatOpen)
|
||||
fadetime -= Timers.delta()/120f;
|
||||
fadetime -= Timers.delta()/180f;
|
||||
}
|
||||
|
||||
private void sendMessage(){
|
||||
|
||||
Reference in New Issue
Block a user