Fixed weapons not being reset on multiplayer connect

This commit is contained in:
Anuken
2018-01-05 19:58:57 -05:00
parent 4cdddd9408
commit 5480a92cbb
10 changed files with 15 additions and 13 deletions

View File

@@ -245,7 +245,7 @@ public class Control extends Module{
} }
ui.hudfrag.updateItems(); ui.hudfrag.updateItems();
ui.weaponfrag.updateWeapons(); ui.weaponfrag.update();
} }
public void play(){ public void play(){

View File

@@ -161,10 +161,8 @@ public class NetClient extends Module {
}); });
Net.handle(StateSyncPacket.class, packet -> { Net.handle(StateSyncPacket.class, packet -> {
//TODO replace with arraycopy() System.arraycopy(packet.items, 0, Vars.control.items, 0, packet.items.length);
for(int i = 0; i < packet.items.length; i ++){
Vars.control.items[i] = packet.items[i];
}
Vars.control.setWaveData(packet.enemies, packet.wave, packet.countdown); Vars.control.setWaveData(packet.enemies, packet.wave, packet.countdown);
Timers.resetTime(packet.time + (float)(TimeUtils.timeSinceMillis(packet.timestamp) / 1000.0 * 60.0)); Timers.resetTime(packet.time + (float)(TimeUtils.timeSinceMillis(packet.timestamp) / 1000.0 * 60.0));

View File

@@ -394,7 +394,7 @@ public class Tutorial{
void onSwitch(){ void onSwitch(){
if(!Vars.control.getWeapons().contains(Weapon.multigun, true)){ if(!Vars.control.getWeapons().contains(Weapon.multigun, true)){
Vars.control.getWeapons().add(Weapon.multigun); Vars.control.getWeapons().add(Weapon.multigun);
Vars.ui.weaponfrag.updateWeapons(); Vars.ui.weaponfrag.update();
} }
} }
}, },

View File

@@ -81,7 +81,7 @@ public class DesktopInput extends InputHandler{
for(int i = 1; i <= 6 && i <= control.getWeapons().size; i ++){ for(int i = 1; i <= 6 && i <= control.getWeapons().size; i ++){
if(Inputs.keyTap("weapon_" + i)){ if(Inputs.keyTap("weapon_" + i)){
player.weapon = control.getWeapons().get(i - 1); player.weapon = control.getWeapons().get(i - 1);
ui.weaponfrag.updateWeapons(); ui.weaponfrag.update();
} }
} }

View File

@@ -3,10 +3,10 @@ package io.anuke.mindustry.io;
import com.badlogic.gdx.files.FileHandle; import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.TimeUtils; import com.badlogic.gdx.utils.TimeUtils;
import com.badlogic.gdx.utils.reflect.ClassReflection;
import io.anuke.mindustry.Vars; import io.anuke.mindustry.Vars;
import io.anuke.mindustry.entities.enemies.Enemy; import io.anuke.mindustry.entities.enemies.Enemy;
import io.anuke.mindustry.entities.enemies.EnemyType; import io.anuke.mindustry.entities.enemies.EnemyType;
import io.anuke.mindustry.resource.Weapon;
import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.GameMode; import io.anuke.mindustry.world.GameMode;
import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.Tile;
@@ -185,6 +185,10 @@ public class NetworkIO {
Vars.ui.hudfrag.updateItems(); Vars.ui.hudfrag.updateItems();
Vars.control.getWeapons().clear();
Vars.control.getWeapons().add(Weapon.blaster);
Vars.ui.weaponfrag.update();
//enemies //enemies
Entities.clear(); Entities.clear();

View File

@@ -68,7 +68,7 @@ public class Save12 extends SaveFileVersion {
Vars.control.addWeapon(Weapon.values()[stream.readByte()]); Vars.control.addWeapon(Weapon.values()[stream.readByte()]);
} }
Vars.ui.weaponfrag.updateWeapons(); Vars.ui.weaponfrag.update();
//inventory //inventory

View File

@@ -68,7 +68,7 @@ public class Save13 extends SaveFileVersion {
Vars.control.addWeapon(Weapon.values()[stream.readByte()]); Vars.control.addWeapon(Weapon.values()[stream.readByte()]);
} }
Vars.ui.weaponfrag.updateWeapons(); Vars.ui.weaponfrag.update();
//inventory //inventory

View File

@@ -86,7 +86,7 @@ public class Save14 extends SaveFileVersion{
Vars.control.addWeapon(Weapon.values()[stream.readByte()]); Vars.control.addWeapon(Weapon.values()[stream.readByte()]);
} }
Vars.ui.weaponfrag.updateWeapons(); Vars.ui.weaponfrag.update();
//inventory //inventory

View File

@@ -125,7 +125,7 @@ public class UpgradeDialog extends FloatingDialog{
control.removeItems(weapon.requirements); control.removeItems(weapon.requirements);
control.addWeapon(weapon); control.addWeapon(weapon);
ui.weaponfrag.updateWeapons(); ui.weaponfrag.update();
run.listen(); run.listen();
Effects.sound("purchase"); Effects.sound("purchase");

View File

@@ -25,7 +25,7 @@ public class WeaponFragment implements Fragment{
} }
} }
public void updateWeapons(){ public void update(){
weapontable.clearChildren(); weapontable.clearChildren();
ButtonGroup<ImageButton> group = new ButtonGroup<>(); ButtonGroup<ImageButton> group = new ButtonGroup<>();