Skip to content

Commit 6e5b0dc

Browse files
committed
feat: 单例化RsLoopAnimationManager
1 parent f47abea commit 6e5b0dc

File tree

4 files changed

+32
-2
lines changed

4 files changed

+32
-2
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "oflow-interface",
3-
"version": "0.14.7",
3+
"version": "0.14.8",
44
"description": "Interface package for O FLOW. You can use this package to build your own plugin that can control anything.",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",
@@ -84,4 +84,4 @@
8484
"dependencies": {
8585
"eslint-plugin-unused-imports": "^4.1.4"
8686
}
87-
}
87+
}

src/api/ofp-api.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ import SyncServiceApi from './service/sync/sync-service-api'
8585
import TAttributesServiceApi from './service/target/attribute/t-attributes-service-api'
8686

8787
import type { FunctionComponent } from 'react'
88+
import RsLoopAnimationManagerApi from '@/api/service/engine/animation/factory/loop/rs-loop-animation-manager-api'
8889

8990
export interface OfpApi {
9091
services: {
@@ -129,6 +130,7 @@ export interface OfpApi {
129130
skyboxAnimation: SkyboxAnimationApi
130131

131132
easyPropertyAnimation: EasyPropertyAnimationApi
133+
rsLoopAnimationManager: RsLoopAnimationManagerApi
132134
}
133135

134136
operate: {
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import { TransformNode, Vector3 } from '@babylonjs/core'
2+
3+
import RvLoop from '@/api/service/sync/interface/step/attributes/animation/loop/rv-loop.interface'
4+
import RvLocation from '@/api/service/sync/interface/step/attributes/location/rv-location.interface'
5+
6+
7+
export default interface RsLoopAnimationManagerApi {
8+
9+
state: {enableInEditorMode: boolean}
10+
11+
restartAnimation(nid: string, resetLocation: boolean): void
12+
13+
startAllLoopAnimations(): void
14+
15+
startAnimationLoop(nid: string, node: TransformNode, data: RvLoop, locationData: RvLocation): void
16+
17+
stopAllLoopAnimations(resetLocation: boolean): void
18+
19+
stopAnimation(nid: string): void
20+
21+
makeTripAnimation(dis: number, speed: number, start: number, name: string, axis: string, fr: number): void
22+
23+
makeSpinAnimation(value: number, start: number, name: string, axis: string, fr: number): void
24+
25+
makeQuaternionAnimation(value: number, start: Vector3, name: string, axis: 'x' | 'y' | 'z', fr: number): void
26+
}

src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ import ShadowAnimationApi from './api/service/engine/animation/entry/environment
5050
import SkyboxAnimationApi from './api/service/engine/animation/entry/environment/skybox-animation-api'
5151
import EasyPropertyAnimationApi from './api/service/engine/animation/factory/between/easy-property-animation-api'
5252
import { SupportAnimationTarget } from './api/service/engine/animation/factory/dto/support-animation-target.type'
53+
import RsLoopAnimationManagerApi from './api/service/engine/animation/factory/loop/rs-loop-animation-manager-api'
5354
import HighLightInfo from './api/service/engine/operate/selection/dto/hight-light-info.interface'
5455
import { LastSubscriber } from './api/service/engine/operate/selection/dto/last-subscriber.type'
5556
import RsSelectionNodeInfo from './api/service/engine/operate/selection/dto/rs-selection-node-info'
@@ -457,6 +458,7 @@ export type {
457458
RvMeetingStatistic,
458459
RvMeetingCurrent,
459460
RvMeetingServiceApi,
461+
RsLoopAnimationManagerApi,
460462
}
461463

462464
export {

0 commit comments

Comments
 (0)