+ constructor(o) {
+ super(o);
+ if (!o.diagram) {
+ this.passListener = () => {
+ if (this.turn == this.playerColor) {
+ let mv = {
+ // Need artificial start/end for animate (TODO?)
+ start: {x: -1, y: -1},
+ end: {x: -1, y: -1},
+ appear: [],
+ vanish: [],
+ pass: true
+ };
+ this.buildMoveStack(mv);
+ }
+ };
+ // Show pass btn
+ let passBtn = document.createElement("button");
+ C.AddClass_es(passBtn, "pass-btn");
+ passBtn.innerHTML = "pass";
+ passBtn.addEventListener("click", this.passListener);
+ let container = document.getElementById(this.containerId);
+ container.appendChild(passBtn);
+ }
+ }
+
+ removeListeners() {
+ super.removeListeners();
+ let passBtn_arr = document.getElementsByClassName("pass-btn");
+ if (passBtn_arr.length >= 1)
+ passBtn_arr[0].removeEventListener("click", this.passListener);
+ }
+