ClementRomac's picture
ClementRomac HF Staff
Added interactive demo with some policies
09a6f7f
raw
history blame
3.72 kB
import Component from '../lib/component.js';
import store from '../store/index.js';
/**
* @classdesc UI component for the parkour parameters.
*/
export default class ParkourConfig extends Component {
/**
* @constructor
*/
constructor() {
super({
store,
element: document.querySelector('#parkour-custom-tab'),
eventName: 'parkourConfigChange'
});
}
/**
* Renders the parkour parameters.
*/
render() {
// TERRAIN CONFIG
const terrainConfig = store.state.parkourConfig.terrain;
let dict = window.lang_dict[store.state.language]['parkourConfig'];
// Sections titles
this.element.querySelector('#terrain-generation-title').innerHTML = dict['terrainGeneration'];
this.element.querySelector('#general-parameters-title').innerText = dict['generalParameters'];
this.element.querySelector('#creepers-title').innerText = dict['creepers'];
// Terrain generation tabs buttons
this.element.querySelector('#draw-tab-btn').innerText = dict['drawTabBtn'];
this.element.querySelector('#proc-gen-tab-btn').innerText = dict['procGenTabBtn'];
// Procedural Generation text
this.element.querySelector('#proc-gen-text').innerHTML = dict['procGenText'];
// Parameters labels
this.element.querySelector('#smoothing-label').innerText = dict['smoothing'];
this.element.querySelector('#water-level-label').innerText = dict['waterLevel'];
this.element.querySelector('#creepers-width-label').innerText = dict['creepersWidth'];
this.element.querySelector('#creepers-height-label').innerText = dict['creepersHeight'];
this.element.querySelector('#creepers-spacing-label').innerText = dict['creepersSpacing'];
//this.element.querySelector('#creepers-type-label').innerText = dict['creepersType'];
this.element.querySelector('#rigid-otpion').innerText = dict['rigid'];
this.element.querySelector('#swingable-option').innerText = dict['swingable'];
// Sliders values
this.element.querySelector("#dim1Slider").value = terrainConfig.dim1;
this.element.querySelector("#dim2Slider").value = terrainConfig.dim2;
this.element.querySelector("#dim3Slider").value = terrainConfig.dim3;
this.element.querySelector("#smoothingSlider").value = terrainConfig.smoothing;
this.element.querySelector("#waterSlider").value = terrainConfig.waterLevel;
// Sliders text values
this.element.querySelector("#dim1Value").innerText = terrainConfig.dim1;
this.element.querySelector("#dim2Value").innerText = terrainConfig.dim2;
this.element.querySelector("#dim3Value").innerText = terrainConfig.dim3;
this.element.querySelector("#smoothingValue").innerText = terrainConfig.smoothing;
this.element.querySelector("#waterValue").innerText = terrainConfig.waterLevel;
// CREEPERS CONFIG
const creepersConfig = store.state.parkourConfig.creepers;
this.element.querySelector("#creepersWidthSlider").value = creepersConfig.width;
this.element.querySelector("#creepersHeightSlider").value = creepersConfig.height;
this.element.querySelector("#creepersSpacingSlider").value = creepersConfig.spacing;
this.element.querySelector("#creepersWidthValue").innerText = creepersConfig.width;
this.element.querySelector("#creepersHeightValue").innerText = creepersConfig.height;
this.element.querySelector("#creepersSpacingValue").innerText = creepersConfig.spacing;
this.element.querySelector("#creepersType").value = creepersConfig.type;
}
};