cc.Class({
  extends: cc.Component,

  properties: {
    countdownSeconds : {
      type: cc.Label,
      default: null
    },
  },

  // LIFE-CYCLE CALLBACKS:
  onLoad() {
  },

  setData() {
    this.startedMillis = Date.now();
    this.durationMillis = 3000;  
  },

  update() {
    const currentGMTMillis = Date.now();
    const elapsedMillis = currentGMTMillis - this.startedMillis;
    let remainingMillis = this.durationMillis - elapsedMillis;
    if (remainingMillis <= 0) {
       remainingMillis = 0;  
    }
    let remaingHint = "" + Math.round(remainingMillis / 1000 ); 
    if (remaingHint != this.countdownSeconds.string) {
      this.countdownSeconds.string = remaingHint;
    }
  }
});