HexWidget class

六边形 Widget 包装器 用于在网格中放置 Widget,可以占据多个网格单元

Constructors

HexWidget({required String id, required Widget child, required HexCoordinate position, int spanWidth = 1, int spanHeight = 1, List<HexCoordinate>? occupiedCells, bool draggable = false, bool clipToHexShape = false, VoidCallback? onTap, VoidCallback? onLongPress, VoidCallback? onDragStarted, dynamic onDragEnd(HexCoordinate newPosition)?})

Properties

child Widget
要显示的 Widget
final
clipToHexShape bool
是否将 Widget 裁剪为六边形形状
final
draggable bool
是否可拖拽
final
hashCode int
The hash code for this object.
no setteroverride
id String
Widget 的唯一标识
final
occupiedCells List<HexCoordinate>?
Widget 占据的所有坐标
final
onDragEnd → dynamic Function(HexCoordinate newPosition)?
拖拽结束回调
final
onDragStarted VoidCallback?
拖拽开始回调
final
onLongPress VoidCallback?
长按回调
final
onTap VoidCallback?
点击回调
final
position HexCoordinate
Widget 的起始坐标(左上角或中心)
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
spanHeight int
Widget 占据的网格单元数量(高度方向)
final
spanWidth int
Widget 占据的网格单元数量(宽度方向)
final

Methods

calculateOccupiedCells(HexOrientation orientation) List<HexCoordinate>
计算 Widget 占据的所有坐标
copyWith({String? id, Widget? child, HexCoordinate? position, int? spanWidth, int? spanHeight, List<HexCoordinate>? occupiedCells, bool? draggable, bool? clipToHexShape, VoidCallback? onTap, VoidCallback? onLongPress, VoidCallback? onDragStarted, dynamic onDragEnd(HexCoordinate)?}) HexWidget
复制并修改属性
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
override