we
    Preparing search index...

    顶级的input 控制类

    可扩展多种子类,以扩展CameraControl,预计扩展多控制器(多路输入,双人游戏类的那种)

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    _event: undefined | Event
    _id: number
    _isDestroy: boolean = false
    _manager: any
    device: GPUDevice
    eventValues: {
        click: undefined | MouseEvent;
        dblclick: undefined | MouseEvent;
        key: undefined | KeyboardEvent;
        keyValue: {
            altKey: boolean;
            ctrlKey: boolean;
            downOrUP: undefined | "down" | "up";
            keyCode: undefined | string;
            shiftKey: boolean;
        };
        mouse: undefined
        | MouseEvent;
        mouseValue: {
            alreadyUp: boolean;
            altKey: boolean;
            buttons: number;
            ctrlKey: boolean;
            downOrUP: undefined | "down" | "up";
            move: boolean;
            shiftKey: boolean;
            x: undefined | number;
            y: undefined | number;
        };
        pointer: undefined
        | PointerEvent;
        touch: undefined | TouchEvent;
        wheel: undefined | WheelEvent;
    } = ...
    GBufferOfID: undefined | GPUTexture

    IDGBuffer

    GBufferOfWorldPosition: undefined | GPUTexture

    世界位置GBuffer

    input: IV_Pickup
    inputValues: any
    kind: E_InputControlType = E_InputControlType.Pickup
    manager: InputManager
    pickupKey: I_PickupedMouseKey = ...

    记录当前按下的鼠标键

    pickupSize: number = 4

    拾取结果大小,4字节(u32) 目前时ID的大小,如果需要worldposition,需要额外申请一个GBuffer

    result: false | pickupTargetOfIDs = false

    拾取结果,记录当前拾取的目标

    resultBuffer: GPUBuffer

    IDs 拾取结果缓冲区

    scene: Scene
    type: string = ""
    UUID: string

    Methods

    • Parameters

      • texture: GPUTexture
      • x: number
      • y: number

      Returns Promise<false | Uint32Array<ArrayBufferLike>>

    • 接收输入事件,处理事件相关数据,并返回是否后续继续处理了该事件(仅独占intercept优先级) 1、接受输入event,并按需写入eventValues 2、或者控制器自定义的数据结构

      Parameters

      Returns boolean

      返回true/false,取决于对应的优先级别。 true, A、broadcastStart|broadcastEnd优先级,返回不影响后续处理。 B、InputManager 将终止处理(仅独占intercept优先级)该事件(继续广播) false A、broadcastStart|broadcastEnd无影响 B、如果是intercept优先级,返回false,InputManager 将继续处理该事件(继续广播) 例如: 1、pickup 事件,只是获取点击和xy坐标,不影响其他控制器,返回false。pickup是举例,不在这里实现。 2、camera control,也是具有兼容性,在最后处理。如果有控制器截获并终止,camera control 就不会收到处理 3、object control,就会截获并终止,其他object control 就不会收到处理