import * as THREE from 'three'; import Earth from '../../../LczEarth/common/earth'; import { OutTitleBubble, TitleBubbleData } from '../../../LczEarth/type/child'; type Options = { earth: Earth; titleBubble: OutTitleBubble; onClick(itemData: TitleBubbleData): void; }; type DataType = { [key: string]: TitleBubbleData; }; export default class Bubble { earth: Earth; titleBubble: OutTitleBubble; lastTitleBubble: OutTitleBubble; materialCanvasMap: { [key: string]: { canvas: HTMLCanvasElement; material: THREE.SpriteMaterial; }; }; bubbleGroup: THREE.Group; bubbles: { [key: string]: THREE.Sprite; }; angleMap: { 1: number[]; 2: number[]; 3: number[]; 4: number[]; }; onClick: Options['onClick']; constructor(options: Options); updata(titleBubble: OutTitleBubble): void; updataBubbleData(): void; initTitleBubble(data?: DataType): Promise; updataVisibal(): void; getMaterial(itemData: TitleBubbleData): Promise; drawText(canvas: HTMLCanvasElement, name: string): Promise; initBubbleEvent(): void; destroyBubbles(skipName?: string[]): void; get currrentData(): DataType; destroyEvent(): void; getName(itemData: TitleBubbleData): string; destroy(): void; } export {};