This repository has been archived on 2023-01-26. You can view files and clone it, but cannot push or open issues or pull requests.
scripts-old/dist/quickbar/mapCoordsPicker.js

1 line
6.0 KiB
JavaScript

!function(){const e={pl_PL:{startCoordsPicker:"Uruchom zbieracza koordynat",stopCoordsPicker:"Zatrzymaj zbieracza koordynat",exportedVillages:"Wyeksportowane wioski",cannotDeleteSelectedGroup:"Nie można usunąć wybranej grupy!",select:"Wybierz",delete:"Usuń",add:"Dodaj",save:"Zapisz",groupName:"Nazwa grupy",export:"Eksport"},en_DK:{startCoordsPicker:"Start coords picker",stopCoordsPicker:"Stop coords picker",exportedVillages:"Exported villages",cannotDeleteSelectedGroup:"Cannot delete selected group!",select:"Select",delete:"Delete",add:"Add",save:"Save",groupName:"Group name",export:"Export"},de_DE:{startCoordsPicker:"Starte Koordinaten-Selektor",stopCoordsPicker:"Stoppe Koordinaten-Selektor",exportedVillages:"Exportierte Dörfer",cannotDeleteSelectedGroup:"Gruppe kann nicht gelöscht werden!",select:"Selektieren",delete:"Löschen",add:"Hinzufügen",save:"Speichern",groupName:"Gruppen-Name",export:"Exportieren"}};function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function r(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?t(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):t(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const n="kichiyaki_map_coords_picker",a=document.querySelector("#content_value > h2");let l,c,s,p,i=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=localStorage.getItem(e);let o=t;return r&&(o=JSON.parse(r)),o}(n,{started:!1,groups:{All:{villages:[],color:"#ffffff"}},selectedGroup:"All"});const u=e[window.game_data.locale]||e.en_DK,d=()=>{var e,t;e=n,t=i,localStorage.setItem(e,JSON.stringify(t))},g=(e,t)=>{const r=parseInt("".concat(e).concat(t),10);return TWMap.villages[r]?TWMap.villages[r].id:NaN},m=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"transparent";const o=g(e,t);if(isNaN(o))return;const n=document.querySelector("#map_village_"+o);n&&(n.style.boxSizing="border-box",n.style.border="transparent"!==r?"5px solid ".concat(r):"none")},v=(e,t,r)=>{r.preventDefault();const o="".concat(e,"|").concat(t);i.groups[i.selectedGroup].villages.some((e=>e.key===o))?(i.groups[i.selectedGroup].villages=i.groups[i.selectedGroup].villages.filter((e=>e.key!==o)),m(e,t,"transparent")):(i.groups[i.selectedGroup].villages=[...i.groups[i.selectedGroup].villages,{x:e,y:t,key:o}],m(e,t,i.groups[i.selectedGroup].color),(e=>{for(let t in i.groups){if(t===i.selectedGroup)return;i.groups[t].villages=i.groups[t].villages.filter((t=>t.key!==e))}})(o))},f=(e,t)=>{const o=t&&t.name!==i.selectedGroup,n='\n <input type="color" value="'.concat(t?t.color:"",'" required />\n <input type="text" required placeholder="').concat(u.groupName,'" value="').concat(t?t.name:"",'" />\n <button type="submit">').concat(t?u.save:u.add,"</button>\n ").concat(t?'<button type="button">'.concat(u.delete,"</button>"):"","\n ").concat(o?'<button class="selectButton" type="button">'.concat(u.select,"</button>"):"","\n "),a=document.createElement("form");if(a.innerHTML=n,a.addEventListener("submit",(e=>{e.preventDefault(),t?(t.name===i.selectedGroup&&(i.selectedGroup=e.target[1].value),M(t.name,e.target[0].value),i.groups[e.target[1].value]=r(r({},i.groups[t.name]),{},{color:e.target[0].value}),t.name!==e.target[1].value&&delete i.groups[t.name]):i.groups[e.target[1].value]={color:e.target[0].value,villages:[]},y()})),t){a.querySelector('button[type="button"]').addEventListener("click",(()=>{if(i.selectedGroup===t.name)return UI.ErrorMessage(u.cannotDeleteSelectedGroup);M(t.name,"transparent"),delete i.groups[t.name],a.remove()}));const e=a.querySelector(".selectButton");e&&e.addEventListener("click",(e=>{i.selectedGroup=t.name,y()}))}e.appendChild(a)},y=()=>{c.innerHTML="";for(let e in i.groups)f(c,r(r({},i.groups[e]),{},{name:e}));f(c)},b=()=>{const e=[];for(let t in i.groups)e.push('<div style="margin-bottom: 30px;">\n <h3>'.concat(t,"</h3>\n <textarea cols=30 rows=8 readonly>").concat(i.groups[t].villages.map((e=>e.key)).join(" ").trim(),"</textarea>\n </div>"));const t="\n ".concat(e.join(""),"\n ");Dialog.show(u.exportedVillages,t)},k=(e,t)=>{TWMap.mapHandler.__spawnSector(e,t),_()},h=()=>{TWMap.map.handler.__onClick=TWMap.map.handler.onClick,TWMap.map.handler.onClick=v,TWMap.mapHandler.__spawnSector=TWMap.map.handler.spawnSector,TWMap.mapHandler.spawnSector=k,l.innerHTML=u.stopCoordsPicker,(()=>{const e=document.createElement("button");e.innerHTML=u.export,e.addEventListener("click",b),s.appendChild(e)})(),_(),y(),p=setInterval(d,500)},S=()=>{i.started?(()=>{"function"==typeof TWMap.map.handler.__onClick&&(TWMap.map.handler.onClick=TWMap.map.handler.__onClick),"function"==typeof TWMap.map.handler.__spawnSector&&(TWMap.mapHandler.spawnSector=TWMap.map.handler.__spawnSector),l.innerHTML=u.startCoordsPicker,c.innerHTML="",s.innerHTML="",_("transparent"),p&&clearInterval(p);for(let e in i.groups)i.groups[e].villages=[]})():h(),i.started=!i.started,d()},M=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";i.groups[e].villages.forEach((r=>{m(r.x,r.y,t||i.groups[e].color)}))},_=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";for(let t in i.groups)M(t,e)};!function(){try{l=document.createElement("button"),l.style.marginLeft="5px",l.innerHTML=i.started?u.stopCoordsPicker:u.startCoordsPicker,l.addEventListener("click",S),a.appendChild(l),c=document.createElement("div"),a.parentElement.insertBefore(c,a.nextSibling),s=document.createElement("div"),a.parentElement.insertBefore(s,a.nextSibling),i.started&&h()}catch(e){console.log("Map Coords Picker",e)}}()}();