[editor only] Fix shader reloading properties

This commit is contained in:
fgnm
2024-05-02 23:03:31 +02:00
parent 53c75a5d5c
commit c6d16bcba8
3 changed files with 14 additions and 9 deletions
@@ -73,7 +73,6 @@ public class UIScenePropertiesMediator extends UIAbstractPropertiesMediator<Scen
super(NAME, new UISceneProperties());
resourceManager = facade.retrieveProxy(ResourceManager.NAME);
viewComponent.initShader(resourceManager.getShaders());
}
@Override
@@ -121,6 +120,8 @@ public class UIScenePropertiesMediator extends UIAbstractPropertiesMediator<Scen
@Override
protected void translateObservableDataToView(SceneVO item) {
viewComponent.initShader(resourceManager.getShaders());
PhysicsPropertiesVO physicsVO = item.physicsPropertiesVO;
LightsPropertiesVO lightsVO = item.lightsPropertiesVO;
ResolutionManager resolutionManager = facade.retrieveProxy(ResolutionManager.NAME);
@@ -64,15 +64,9 @@ public class UIShaderProperties extends UIRemovableProperties {
renderingLaterSelector.setItems(renderingLayerMap.keySet().toArray(new String[0]));
}
public void initView(HashMap<String, ShaderProgram> shaders) {
public void initView() {
mainTable.clear();
Array<String> shaderNames = new Array<>();
shaderNames.add("Default");
shaders.keySet().forEach(shaderNames::add);
shadersSelector.setItems(shaderNames);
mainTable.add(new VisLabel("Shader: ", Align.right)).padRight(5).width(75).right();
mainTable.add(shadersSelector).width(100).left().row();
@@ -89,6 +83,14 @@ public class UIShaderProperties extends UIRemovableProperties {
mainTable.add(renderingLaterSelector).width(100).left().row();
}
public void initShaders(HashMap<String, ShaderProgram> shaders) {
Array<String> shaderNames = new Array<>();
shaderNames.add("Default");
shaders.keySet().forEach(shaderNames::add);
shadersSelector.setItems(shaderNames);
}
@Override
public void onRemove() {
Facade.getInstance().sendNotification(CLOSE_CLICKED);
@@ -51,7 +51,7 @@ public class UIShaderPropertiesMediator extends UIItemPropertiesMediator<UIShade
super(NAME, new UIShaderProperties());
resourceManager = facade.retrieveProxy(ResourceManager.NAME);
viewComponent.initView(resourceManager.getShaders());
viewComponent.initView();
projectManager = facade.retrieveProxy(ProjectManager.NAME);
}
@@ -97,6 +97,8 @@ public class UIShaderPropertiesMediator extends UIItemPropertiesMediator<UIShade
@Override
protected void translateObservableDataToView(int item) {
viewComponent.initShaders(resourceManager.getShaders());
ShaderComponent shaderComponent = SandboxComponentRetriever.get(item, ShaderComponent.class);
String currShaderName = shaderComponent.shaderName;
viewComponent.setSelected(currShaderName);