{"version":3,"sources":["https://lively-kernel.org/lively4/swd21-croquet/src/components/demo/lively-soapbubble.js"],"names":["Ball","SoapBubble","initialize","lively","setExtent","pt","a","total","addEventListener","evt","onClick","remove","simulate","t","s","create","document","createElement","livelyExample","i","bubble","components","openIn","parentElement","Math","random","livelyMigrate","other"],"mappings":";;;;;;;;;AACOA,U;;;;;;;;;;;AAAAA,+C;;;;;;;AAGQ,YAAMC,UAAN,SAAyBD,IAAzB,CAA8B;AAC3CE,qBAAa;AACXC,iBAAOC,SAAP,CAAiB,IAAjB,EAAuBC,GAAG,EAAH,EAAM,EAAN,CAAvB;AACA,gBAAMH,UAAN;AACA,eAAKI,CAAL,GAAS,KAAKA,CAAL,IAAU,CAAC,KAApB;AACA,eAAKC,KAAL,GAAa,KAAKA,KAAL,IAAc,CAA3B;AACAJ,iBAAOK,gBAAP,CAAwB,MAAxB,EAAgC,IAAhC,EAAsC,OAAtC,EAA+CC,OAAO,KAAKC,OAAL,CAAaD,GAAb,CAAtD;AACD;;AAEDC,kBAAU;AACR,eAAKC,MAAL;AACD;;AAEDC,iBAASC,CAAT,EAAY;AACV,gBAAMD,QAAN,CAAeC,CAAf;AACA,eAAKN,KAAL,IAAcM,CAAd;AACA,cAAI,KAAKC,CAAL,GAAS,EAAb,EAAiB,KAAKH,MAAL;AAClB;;AAED,eAAOI,MAAP,GAAe;AACb,oCAAOC,SAASC,aAAT,CAAuB,mBAAvB,CAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACD;;AAGD,cAAMC,aAAN,GAAsB;;AAEpB,eAAI,IAAIC,IAAE,CAAV,EAAaA,IAAE,CAAf,EAAiBA,GAAjB,EAAsB;AACpB,gBAAIC,4BAASJ,SAASC,aAAT,CAAuB,mBAAvB,CAAT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAAJ;AACA,kBAAMd,OAAOkB,UAAP,CAAkBC,MAAlB,CAAyB,KAAKC,aAA9B,EAA6CH,MAA7C,CAAN;AACAA,mBAAOd,CAAP,GAAYkB,KAAKC,MAAL,KAAgB,CAAC,GAA7B;AACAL,mBAAON,CAAP,GAAYU,KAAKC,MAAL,KAAgB,KAA5B;AACD;AACF;;AAEDC,sBAAcC,KAAd,EAAqB;AACnB,gBAAMD,aAAN,CAAoBC,KAApB;AACA,eAAKpB,KAAL,GAAaoB,MAAMpB,KAAnB;AACD;;AArC0C;;yBAAxBN,U;;;;;;;;6BAAAA,2C","file":"lively-soapbubble.js","sourcesContent":["\nimport Ball from \"./lively-ball.js\"\n\n\nexport default class SoapBubble extends Ball {\n  initialize() {\n    lively.setExtent(this, pt(30,30)) \n    super.initialize()\n    this.a = this.a || -0.003\n    this.total = this.total || 0\n    lively.addEventListener(\"soap\", this, \"click\", evt => this.onClick(evt))\n  }\n\n  onClick() {\n    this.remove()\n  }  \n  \n  simulate(t) {\n    super.simulate(t);\n    this.total += t;\n    if (this.s < 10) this.remove();\n  }\n  \n  static create(){\n    return document.createElement(\"lively-soapbubble\")\n  }\n\n  \n  async livelyExample() {\n    \n    for(var i=0; i<3;i++) {\n      var bubble = document.createElement(\"lively-soapbubble\")\n      await lively.components.openIn(this.parentElement, bubble)\n      bubble.a  = Math.random() * -1.0\n      bubble.s  = Math.random() * 300.0  \n    }\n  }\n  \n  livelyMigrate(other) {\n    super.livelyMigrate(other)\n    this.total = other.total\n  }\n  \n}"]}