module.export = cc.Class({ extends: cc.Component, properties: { lastMovedAt: { type: cc.Float, default: 0 // In "GMT milliseconds" } }, ctor() { this.activeDirection = { dx: 0, dy: 0 }; }, onLoad() { const self = this; const canvasNode = self.mapNode.parent; self.mapIns = self.mapNode.getComponent("Map"); const joystickInputControllerScriptIns = canvasNode.getComponent("TouchEventsManager"); self.ctrl = joystickInputControllerScriptIns; }, update(dt) {}, lateUpdate(dt) {}, _generateRandomDirection() { return ALL_DISCRETE_DIRECTIONS_CLOCKWISE[Math.floor(Math.random() * ALL_DISCRETE_DIRECTIONS_CLOCKWISE.length)]; }, updateSpeed(proposedSpeed) { if (0 == proposedSpeed && 0 < this.speed) { this.startFrozenDisplay(); } if (0 < proposedSpeed && 0 == this.speed) { this.stopFrozenDisplay(); } this.speed = proposedSpeed; }, });