mylingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
41 lines (37 loc) • 1.04 kB
text/typescript
import StaticObjectManager from "../display/core/StaticObjectManager"
import IPositioned, {
positionedDefaults,
positionedSchema
} from "./IPositioned"
import Defaults from "./utils/Defaults"
import { ExtractProps } from "./utils/extractProps"
import Nullable from "./utils/Nullable"
export default interface ITrigger extends IPositioned {
onEnter: Nullable<(target: StaticObjectManager) => void>
onExit: Nullable<() => void>
targetIds: Nullable<string | Array<string>>
pad: boolean
radius: number
interval: number
helper: boolean
}
export const triggerSchema: Required<ExtractProps<ITrigger>> = {
...positionedSchema,
onEnter: Function,
onExit: Function,
targetIds: [String, Array],
pad: Boolean,
radius: Number,
interval: Number,
helper: Boolean
}
export const triggerDefaults: Defaults<ITrigger> = {
...positionedDefaults,
onEnter: undefined,
onExit: undefined,
targetIds: undefined,
pad: false,
radius: 50,
interval: 300,
helper: true
}