Dock
此控件允许将对象移进或移出预定的位置,以创建调色板、陈列架和导航栏。
特性
- 支持任意数量的停靠位置和布局(非常适合
GridObjectCollection
) - 停靠对象自动移动,为新对象腾出空间
- 对象缩放以适应停靠空间,然后调整大小,以原始位置拖出。
开始使用 Dock
- 创建一个带有Dock组件的GameObject,并添加一些子GameObject到其中。
- 向每个子节点添加DockPosition组件。
- 将Dockable组件添加到场景中任意数量的对象中,让它们可以停靠。它们必须有
ObjectManipulator
组件和一个碰撞器。 - *可选:*使用
GridObjectCollection
到Dock来自动布局DockPositions。
先决条件
- 每个可停靠对象都必须有一个
ObjectManipulator
或ManipulationHandler
以及碰撞器。 - 如果你想让一个对象在场景加载时开始停靠,把它分配到DockPosition的docked object属性中。
它是如何工作的
Dockable组件建立在manipulation事件的基础上,允许在特定位置停靠和解除停靠被拖动的对象。位置由与被拖动对象最接近的重叠触发DockPosition决定,因此两个对象都需要有碰撞器来激活触发器。