Add new file
This commit is contained in:
parent
250d01de82
commit
482114e66c
66
Games/Arena_of_Valor/AWC_AutoSpin.js
Normal file
66
Games/Arena_of_Valor/AWC_AutoSpin.js
Normal file
@ -0,0 +1,66 @@
|
||||
// TODO: FIX JQUERY ASYNC
|
||||
|
||||
// Fetch jQuery
|
||||
await fetch("https://code.jquery.com/jquery-3.6.0.min.js").then(x => x.text()).then(y => eval(y)).then(() => $("window").off("mouseup"))
|
||||
{
|
||||
// From https://stackoverflow.com/a/53914092
|
||||
class ClassWatcher {
|
||||
|
||||
constructor(targetNode, classToWatch, classAddedCallback, classRemovedCallback) {
|
||||
this.targetNode = targetNode
|
||||
this.classToWatch = classToWatch
|
||||
this.classAddedCallback = classAddedCallback
|
||||
this.classRemovedCallback = classRemovedCallback
|
||||
this.observer = null
|
||||
this.lastClassState = targetNode.classList.contains(this.classToWatch)
|
||||
|
||||
this.init()
|
||||
}
|
||||
|
||||
init() {
|
||||
this.observer = new MutationObserver(this.mutationCallback)
|
||||
this.observe()
|
||||
}
|
||||
|
||||
observe() {
|
||||
this.observer.observe(this.targetNode, { attributes: true })
|
||||
}
|
||||
|
||||
disconnect() {
|
||||
this.observer.disconnect()
|
||||
}
|
||||
|
||||
mutationCallback = mutationsList => {
|
||||
for(let mutation of mutationsList) {
|
||||
if (mutation.type === 'attributes' && mutation.attributeName === 'class') {
|
||||
let currentClassState = mutation.target.classList.contains(this.classToWatch)
|
||||
if(this.lastClassState !== currentClassState) {
|
||||
this.lastClassState = currentClassState
|
||||
if(currentClassState) {
|
||||
this.classAddedCallback()
|
||||
}
|
||||
else {
|
||||
this.classRemovedCallback()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function clickFirstButtonByClassName(className) {
|
||||
document.getElementsByClassName(className)[0].dispatchEvent(new MouseEvent("click"));
|
||||
}
|
||||
// Click the spin button
|
||||
function spin() {
|
||||
clickFirstButtonByClassName("wheel__main--note")
|
||||
}
|
||||
// Close the dialog
|
||||
function closeSwal2() {
|
||||
clickFirstButtonByClassName("swal2-close")
|
||||
}
|
||||
|
||||
// Watch for SweetAlert 2
|
||||
let bodywatcher = new ClassWatcher(document.body, 'swal2-shown', closeSwal2, spin);
|
||||
spin()
|
||||
}
|
Loading…
Reference in New Issue
Block a user