import * as RE from 'rogue-engine';
import RaycastReceiver from './RaycastReceiver.re';

export default class FloorRaycastReceiver extends RaycastReceiver {
  awake() {

  }

  start() {

  }

  update() {

  }

  onMouseOver(intersect):boolean {
    let positionOnObject = {x: (intersect.uv.x - 0.5) * intersect.object.geometry.parameters.width, z:-(intersect.uv.y - 0.5) * intersect.object.geometry.parameters.depth}
    const targetSelector = RE.App.currentScene.getObjectByName("GridTarget")
    if(!targetSelector) {
      return true
    }

    targetSelector.position.setX(Math.floor(positionOnObject.x) + 0.5)
    targetSelector.position.setY(0)
    targetSelector.position.setZ(Math.floor(positionOnObject.z) + 0.5)
    return true

  }

  onMouseOut():boolean{
    return true
  }
}

RE.registerComponent(FloorRaycastReceiver);
