@theoplayer/react-native-engage
Version:
Engage connector for @theoplayer/react-native
45 lines (36 loc) • 949 B
text/typescript
import { ClusterType } from "../types";
import { ClusterEntity } from "../entities";
import { DefaultEventDispatcher } from "../../internal/event/DefaultEventDispatcher";
import { EngageClusterEventMap } from "./EngageClusterEvent";
export enum AddOperation {
AddToFront,
AddToBack
}
export interface ClusterConfig {
}
export abstract class Cluster extends DefaultEventDispatcher<EngageClusterEventMap> {
/**
* Type of cluster.
*/
type: ClusterType;
/**
* Cluster config.
*/
abstract config: ClusterConfig;
/**
* The list of entities in this cluster
*/
abstract entities: ClusterEntity[];
/**
* Add an entity to the cluster.
*/
abstract addEntity(entity: ClusterEntity, op?: AddOperation): void;
/**
* Remove an entity from the cluster.
*/
abstract removeEntity(entity: ClusterEntity): void;
/**
* Remove all entities from the cluster.
*/
abstract removeAllEntities(): void;
}