const { ccclass, property } = cc._decorator;

@ccclass
export default class Water_spread extends cc.Component {
  @property(cc.Node)
  bg: cc.Node = null;
  material: cc.Material = null;

  onLoad() {
    this.material = this.bg.getComponent(cc.Sprite).getMaterial(0);
    this.bg.on(cc.Node.EventType.TOUCH_END, this.touchStartEvent, this);
  }

  waveOffset: number = 0.0;
  touchStartEvent(evt: cc.Event.EventTouch) {
    let pos = evt.getLocation();
    this.material.setProperty('center', [ pos.x / this.bg.width, (this.bg.height - pos.y) / this.bg.height]);
    this.waveOffset = 0.0;
  }

  update(dt) {
    // this.material.setProperty('time', dt);
    if (this.waveOffset > 2.0) return;

    this.waveOffset += dt;
    this.material.setProperty('wave_offset', this.waveOffset);
  }
}
