import { Component } from "../../hierarchy_object/Component"; import type { GridObjectCollideMap } from "./GridObjectCollideMap"; /** * collider work with `GridObjectCollideMap` * * coordinate system is same as world coordinate system (positive x is right, positive y is up) * * important: grid position data is stored as string ("x_y" format) * so this component might not work properly if this component's gameObject.position is not integer * * don't use this component on dynamic gameObject you can only use this component on static gameObject (don't move your gameObject) */ export declare class GridCollider extends Component { private readonly _collideMap; private _showCollideSpot; private _collideSpotIsShowing; private readonly _colliderImages; private _gridObjectCollideMap; private _collideInfoAddedToMap; private readonly _initializeFunctions; private _started; start(): void; onEnable(): void; onDisable(): void; onDestroy(): void; /** * add collider, relative to object space center * @param x x position in object space grid * @param y y position in object space grid * @returns */ addCollider(x: number, y: number): void; /** * add collider from two dimensional array. array left bottom is (0, 0) in object space grid coordinate system * @param array array that contains 1 or 0. 1 means collider is there * @param xOffset array x offset, if you want to add collider from array[1][3] to (2, 3) you should set xOffset = 1 * @param yOffset array y offset, if you want to add collider from array[3][1] to (3, 2) you should set yOffset = 1 * @returns */ addColliderFromTwoDimensionalArray(array: (1 | 0)[][], xOffset: number, yOffset: number): void; /** * remove collider at position * @param x x position in grid * @param y y position in grid * @returns */ removeCollider(x: number, y: number): void; private addColliderImages; private removeColliderImages; private addDebugImage; private removeDebugImage; private addCollideInfoToMap; private addAllCollideInfoToMap; private removeCollideInfoFromMap; private removeAllCollideInfoFromMap; /** * `GridObjectCollideMap` component is used to store collider information in a grid. (default: null) * * when set this property, it will automatically add collider information to grid. */ get gridObjectCollideMap(): GridObjectCollideMap | null; /** * `GridObjectCollideMap` component is used to store collider information in a grid. (default: null) * * when set this property, it will automatically add collider information to grid. */ set gridObjectCollideMap(value: GridObjectCollideMap | null); /** * if this property is true, collider will be displayed. (default: false) */ get showCollideSpot(): boolean; /** * if this property is true, collider will be displayed. (default: false) */ set showCollideSpot(value: boolean); }