v1.5.09 - speak functionality

This commit is contained in:
Azgaar 2021-02-04 02:17:00 +03:00
parent f4d8b439b4
commit 378ed71702
12 changed files with 143 additions and 55 deletions

View file

@ -31,8 +31,9 @@ function editBurg(id) {
document.getElementById("burgRemoveGroup").addEventListener("click", removeBurgsGroup);
document.getElementById("burgName").addEventListener("input", changeName);
document.getElementById("burgNameReCulture").addEventListener("click", generateNameCulture);
document.getElementById("burgNameReRandom").addEventListener("click", generateNameRandom);
document.getElementById("burgCulture").addEventListener("input", changeCulture);
document.getElementById("burgNameReCulture").addEventListener("click", generateNameCulture);
document.getElementById("burgPopulation").addEventListener("change", changePopulation);
burgBody.querySelectorAll(".burgFeature").forEach(el => el.addEventListener("click", toggleFeature));
@ -43,7 +44,7 @@ function editBurg(id) {
document.getElementById("burgEditAnchorStyle").addEventListener("click", editGroupAnchorStyle);
document.getElementById("burgSeeInMFCG").addEventListener("click", openInMFCG);
document.getElementById("burgOpenCOA").addEventListener("click", editCOA);
document.getElementById("burgEditEmblem").addEventListener("click", openEmblemEdit);
document.getElementById("burgRelocate").addEventListener("click", toggleRelocateBurg);
document.getElementById("burglLegend").addEventListener("click", editBurgLegend);
document.getElementById("burgRemove").addEventListener("click", removeSelectedBurg);
@ -55,6 +56,12 @@ function editBurg(id) {
document.getElementById("burgPopulation").value = rn(b.population * populationRate.value * urbanization.value);
document.getElementById("burgEditAnchorStyle").style.display = +b.port ? "inline-block" : "none";
// update list and select culture
const cultureSelect = document.getElementById("burgCulture");
cultureSelect.options.length = 0;
const cultures = pack.cultures.filter(c => !c.removed);
cultures.forEach(c => cultureSelect.options.add(new Option(c.name, c.i, false, c.i === b.culture)));
// toggle features
if (b.capital) document.getElementById("burgCapital").classList.remove("inactive");
else document.getElementById("burgCapital").classList.add("inactive");
@ -79,6 +86,11 @@ function editBurg(id) {
burgLabels.selectAll("g").each(function() {
select.options.add(new Option(this.id, this.id, false, this.id === group));
});
// set emlem image
const coaID = "burgCOA"+id;
COArenderer.trigger(coaID, b.coa);
document.getElementById("burgEmblem").setAttribute("href", "#" + coaID);
}
function dragBurgLabel() {
@ -220,6 +232,17 @@ function editBurg(id) {
elSelected.text(burgName.value);
}
function generateNameRandom() {
const base = rand(nameBases.length-1);
burgName.value = Names.getBase(base);
changeName();
}
function changeCulture() {
const id = +elSelected.attr("data-id");
pack.burgs[id].culture = +this.value;
}
function generateNameCulture() {
const id = +elSelected.attr("data-id");
const culture = pack.burgs[id].culture;
@ -227,12 +250,6 @@ function editBurg(id) {
changeName();
}
function generateNameRandom() {
const base = rand(nameBases.length-1);
burgName.value = Names.getBase(base);
changeName();
}
function changePopulation() {
const id = +elSelected.attr("data-id");
pack.burgs[id].population = rn(burgPopulation.value / populationRate.value / urbanization.value, 4);
@ -326,10 +343,9 @@ function editBurg(id) {
}
}
function editCOA() {
const id = elSelected.attr("data-id"), burg = pack.burgs[id];
const coa = COA.toString(burg.coa);
openURL("http://azgaar.github.io/Armoria/?coa=" + coa);
function openEmblemEdit() {
const id = +elSelected.attr("data-id"), burg = pack.burgs[id];
editEmblem("burg", "burgCOA"+id, burg);
}
function toggleRelocateBurg() {