跳转到内容

pivotick v3.0.0


拓展 / ModeStore

接口: ModeStore ​

定义于:ui/ModeStore.ts:84

保持模式轨道状态的微小可观察量。导轨、上下文工具面板和设置弹出窗口订阅它;点击/按键绑定分派给它。 Setter 是幂等的——它们只在值实际发生变化时发出通知——并且每个通知都带有新的快照,因此侦听器无法改变存储的内部状态。

四种内置模式始终存在。通过 addRailMode 注册的模式会添加 registerMode 并保持状态,就像内置模式一样。

subscribe 仅在 * 发生变化* 时触发;首先从 getState 渲染初始状态,然后订阅更新。

方法 ​

armTool() ​

armTool(mode, tool): void

定义于:ui/ModeStore.ts:193

以指针模式装备工具(导轨槽反映它)。幂等。

参数 ​

mode ​

string

tool ​

string | null

返回值 ​

void


dispose() ​

dispose(): void

定义于:ui/ModeStore.ts:218

删除每个订阅者(在 UI 拆卸时调用)。

返回值 ​

void


getArmedTool() ​

getArmedTool(mode): string | null

定义于:ui/ModeStore.ts:162

用于指针模式的武装工具('pointer'/null = 默认)。

参数 ​

mode ​

string

返回值 ​

string | null


getDefaultTool() ​

getDefaultTool(mode): string | null

定义于:ui/ModeStore.ts:118

当没有特殊装备时,模式所依赖的工具。

参数 ​

mode ​

string

返回值 ​

string | null


getMode() ​

getMode(): string

定义于:ui/ModeStore.ts:103

返回值 ​

string


getState() ​

getState(): Readonly<ModeState>

定义于:ui/ModeStore.ts:172

当前状态的副本(安全读取;突变不会泄漏)。

返回值 ​

Readonly<ModeState>


hasMode() ​

hasMode(mode): boolean

定义于:ui/ModeStore.ts:113

当前是否已注册模式(四个内置函数始终是)。

参数 ​

mode ​

string

返回值 ​

boolean


isFlyoutActive() ​

isFlyoutActive(mode): boolean

定义于:ui/ModeStore.ts:147

弹出按钮是否打开(即其模式为活动模式)。

参数 ​

mode ​

string

返回值 ​

boolean


isPanelOpen() ​

isPanelOpen(mode): boolean

定义于:ui/ModeStore.ts:167

指针模式的工具面板当前是否已展开。

参数 ​

mode ​

string

返回值 ​

boolean


isPointerMode() ​

isPointerMode(mode): boolean

定义于:ui/ModeStore.ts:108

模式是否拥有工具面板。未知模式不是指针模式。

参数 ​

mode ​

string

返回值 ​

boolean


isViewActive() ​

isViewActive(): boolean

定义于:ui/ModeStore.ts:152

返回值 ​

boolean

Deprecated ​

使用 isFlyoutActive('view') — 轨道现在有多个弹出窗口。


registerMode() ​

registerMode(mode, kind, defaultTool, panelOpen): void

定义于:ui/ModeStore.ts:127

将模式的状态添加到存储中。由铁路模式注册表调用;四个内置插件已经存在。重新注册 ID 会覆盖其记录,但会保留其已有的任何工具/面板状态。

参数 ​

mode ​

string

kind ​

RailModeKind

defaultTool ​

string | null

panelOpen ​

boolean = true

返回值 ​

void


setMode() ​

setMode(mode): void

定义于:ui/ModeStore.ts:180

参数 ​

mode ​

string

返回值 ​

void


setPanelOpen() ​

setPanelOpen(mode, open): void

定义于:ui/ModeStore.ts:200

展开/折叠指针模式的工具面板。幂等。

参数 ​

mode ​

string

open ​

boolean

返回值 ​

void


subscribe() ​

subscribe(listener): () => void

定义于:ui/ModeStore.ts:212

订阅状态更改。返回取消订阅 fn(传递给 UIComponent.track)。

参数 ​

listener ​

ModeListener

返回值 ​

(): void

返回值 ​

void


toggleFlyout() ​

toggleFlyout(mode): void

定义于:ui/ModeStore.ts:188

打开弹出模式,或将其关闭回上一个指针模式。

参数 ​

mode ​

string

返回值 ​

void


toggleToolPanel() ​

toggleToolPanel(mode): void

定义于:ui/ModeStore.ts:207

打开/关闭指针模式的工具面板。

参数 ​

mode ​

string

返回值 ​

void


toggleView() ​

toggleView(): void

定义于:ui/ModeStore.ts:157

返回值 ​

void

Deprecated ​

使用 toggleFlyout('view') — 轨道现在有多个弹出窗口。


unregisterMode() ​

unregisterMode(mode): void

定义于:ui/ModeStore.ts:138

删除模式的状态。呼叫者负责先将其移走——商店不会决定激活什么。

参数 ​

mode ​

string

返回值 ​

void