UNPKG

@needle-tools/engine

Version:

Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in

65 lines (64 loc) 1.85 kB
import { RGBAColor } from "../../engine/js-extensions/index.js"; import { Animator } from "../Animator.js"; import { Behaviour } from "../Component.js"; import { EventList } from "../EventList.js"; import type { IPointerEventHandler, PointerEventData } from "./PointerEvents.js"; export declare enum Transition { None = 0, ColorTint = 1, SpriteSwap = 2, Animation = 3 } declare class ButtonColors { colorMultiplier: 1; disabledColor: RGBAColor; fadeDuration: number; highlightedColor: RGBAColor; normalColor: RGBAColor; pressedColor: RGBAColor; selectedColor: RGBAColor; } declare class AnimationTriggers { disabledTrigger: string; highlightedTrigger: string; normalTrigger: string; pressedTrigger: string; selectedTrigger: string; } /** * @category User Interface * @group Components */ export declare class Button extends Behaviour implements IPointerEventHandler { /** * Invokes the onClick event */ click(): void; onClick: EventList<void>; private _isHovered; onPointerEnter(evt: PointerEventData): void; onPointerExit(): void; onPointerDown(_: any): void; onPointerUp(_: any): void; onPointerClick(args: PointerEventData): void; colors?: ButtonColors; transition?: Transition; animationTriggers?: AnimationTriggers; animator?: Animator; set interactable(value: boolean); get interactable(): boolean; private _interactable; private set_interactable; awake(): void; start(): void; onEnable(): void; onDestroy(): void; private _requestedAnimatorTrigger?; private setAnimatorTriggerAtEndOfFrame; private _isInit; private _image?; private init; private stateSetup; private getFinalColor; } export {};