public UnitEditor getEditorForUnit(ConstructionUnit unit) { checkState(); for (UnitEditor editor : editors) { if (editor.canEdit(unit)) { editor.editUnit(unit); return editor; } } return null; }
public UnitEditor getEditorForUnitType(ConstructionUnitType type) { checkState(); for (UnitEditor editor : editors) { if (editor.canEdit(type)) { editor.clearUnit(); editor.createUnit(type); return editor; } } return null; }
public void hideEditor(UnitEditor editor) { if (editor == null) return; checkState(); if (activeEditor != null && activeEditor.equals(editor)) { editorContainer.setVisibility(View.GONE); } }
public void showEditor(UnitEditor editor) { if (editor == null) return; checkState(); if (activeEditor == null || !activeEditor.equals(editor)) { replaceEditor(editor); } editorContainer.setVisibility(View.VISIBLE); activeEditor = editor; }
public void setScene(SceneController scene) { for (UnitEditor editor : editors) { editor.setScene(scene); } }
private void initEditors() { editors = new UnitEditor[] {new PlankEditor(), new BindingEditor(), new ForceEditor()}; for (UnitEditor editor : editors) { editor.createView(parentActivity.getLayoutInflater(), editorContainer); } }
private void replaceEditor(UnitEditor editor) { editorContainer.removeAllViews(); editorContainer.addView(editor.getView()); }