Fixed mod structural crash / Fixed input fragment disappearing
This commit is contained in:
@@ -4,12 +4,14 @@ import io.anuke.arc.*;
|
|||||||
import io.anuke.arc.assets.loaders.*;
|
import io.anuke.arc.assets.loaders.*;
|
||||||
import io.anuke.arc.collection.*;
|
import io.anuke.arc.collection.*;
|
||||||
import io.anuke.arc.files.*;
|
import io.anuke.arc.files.*;
|
||||||
|
import io.anuke.arc.util.*;
|
||||||
|
|
||||||
/** Handles files in a modded context. */
|
/** Handles files in a modded context. */
|
||||||
public class FileTree implements FileHandleResolver{
|
public class FileTree implements FileHandleResolver{
|
||||||
private ObjectMap<String, FileHandle> files = new ObjectMap<>();
|
private ObjectMap<String, FileHandle> files = new ObjectMap<>();
|
||||||
|
|
||||||
public void addFile(String path, FileHandle f){
|
public void addFile(String path, FileHandle f){
|
||||||
|
Log.info("Add " + path);
|
||||||
files.put(path, f);
|
files.put(path, f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -238,7 +238,6 @@ public class UI implements ApplicationListener, Loadable{
|
|||||||
Core.scene.add(menuGroup);
|
Core.scene.add(menuGroup);
|
||||||
Core.scene.add(hudGroup);
|
Core.scene.add(hudGroup);
|
||||||
|
|
||||||
control.input.getFrag().build(hudGroup);
|
|
||||||
hudfrag.build(hudGroup);
|
hudfrag.build(hudGroup);
|
||||||
menufrag.build(menuGroup);
|
menufrag.build(menuGroup);
|
||||||
chatfrag.container().build(hudGroup);
|
chatfrag.container().build(hudGroup);
|
||||||
|
|||||||
@@ -538,6 +538,8 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
|||||||
uiGroup.setFillParent(true);
|
uiGroup.setFillParent(true);
|
||||||
ui.hudGroup.addChild(uiGroup);
|
ui.hudGroup.addChild(uiGroup);
|
||||||
buildUI(uiGroup);
|
buildUI(uiGroup);
|
||||||
|
|
||||||
|
frag.add();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(player != null){
|
if(player != null){
|
||||||
|
|||||||
@@ -203,11 +203,14 @@ public class Mods implements Loadable{
|
|||||||
|
|
||||||
private void buildFiles(){
|
private void buildFiles(){
|
||||||
for(LoadedMod mod : loaded){
|
for(LoadedMod mod : loaded){
|
||||||
|
boolean zipFolder = !mod.file.isDirectory() && mod.root.parent() != null;
|
||||||
|
String parentName = zipFolder ? mod.root.name() : null;
|
||||||
for(FileHandle file : mod.root.list()){
|
for(FileHandle file : mod.root.list()){
|
||||||
//ignore special folders like bundles or sprites
|
//ignore special folders like bundles or sprites
|
||||||
if(file.isDirectory() && !specialFolders.contains(file.name())){
|
if(file.isDirectory() && !specialFolders.contains(file.name())){
|
||||||
//TODO calling child/parent on these files will give you gibberish; create wrapper class.
|
//TODO calling child/parent on these files will give you gibberish; create wrapper class.
|
||||||
file.walk(f -> tree.addFile(mod.file.isDirectory() ? f.path().substring(1 + mod.file.path().length()) : f.path(), f));
|
file.walk(f -> tree.addFile(mod.file.isDirectory() ? f.path().substring(1 + mod.file.path().length()) :
|
||||||
|
zipFolder ? f.path().substring(parentName.length() + 1) : f.path(), f));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ public class HudFragment extends Fragment{
|
|||||||
|
|
||||||
//menu at top left
|
//menu at top left
|
||||||
parent.fill(cont -> {
|
parent.fill(cont -> {
|
||||||
|
cont.setName("overlaymarker");
|
||||||
cont.top().left();
|
cont.top().left();
|
||||||
|
|
||||||
if(mobile){
|
if(mobile){
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
package io.anuke.mindustry.ui.fragments;
|
package io.anuke.mindustry.ui.fragments;
|
||||||
|
|
||||||
import io.anuke.arc.scene.Group;
|
import io.anuke.arc.*;
|
||||||
import io.anuke.arc.scene.event.Touchable;
|
import io.anuke.arc.scene.event.*;
|
||||||
import io.anuke.arc.scene.ui.layout.WidgetGroup;
|
import io.anuke.arc.scene.ui.layout.*;
|
||||||
|
import io.anuke.mindustry.*;
|
||||||
|
|
||||||
/** Fragment for displaying overlays such as block inventories. */
|
/** Fragment for displaying overlays such as block inventories. */
|
||||||
public class OverlayFragment extends Fragment{
|
public class OverlayFragment{
|
||||||
public final BlockInventoryFragment inv;
|
public final BlockInventoryFragment inv;
|
||||||
public final BlockConfigFragment config;
|
public final BlockConfigFragment config;
|
||||||
|
|
||||||
@@ -17,10 +18,9 @@ public class OverlayFragment extends Fragment{
|
|||||||
config = new BlockConfigFragment();
|
config = new BlockConfigFragment();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public void add(){
|
||||||
public void build(Group parent){
|
|
||||||
group.setFillParent(true);
|
group.setFillParent(true);
|
||||||
parent.addChild(group);
|
Vars.ui.hudGroup.addChildBefore(Core.scene.find("overlaymarker"), group);
|
||||||
|
|
||||||
inv.build(group);
|
inv.build(group);
|
||||||
config.build(group);
|
config.build(group);
|
||||||
|
|||||||
Reference in New Issue
Block a user