@galacean/effects-core 2.4.0-beta.1 → 2.4.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,7 @@
1
1
  import type { Engine } from '../engine';
2
- import type { MaskProps } from './types';
2
+ import type { MaskProps, Maskable } from './types';
3
3
  import { MaskMode } from './types';
4
+ import type { Renderer } from '../render/renderer';
4
5
  export declare class MaskRefManager {
5
6
  currentRef: number;
6
7
  constructor(initRef?: number);
@@ -9,7 +10,9 @@ export declare class MaskRefManager {
9
10
  export declare class MaskProcessor {
10
11
  engine: Engine;
11
12
  maskRef: number;
13
+ maskable?: Maskable;
12
14
  constructor(engine: Engine);
13
15
  getRefValue(): number;
14
16
  getMaskMode(data: MaskProps): MaskMode;
17
+ drawStencilMask(renderer: Renderer): void;
15
18
  }
@@ -177,7 +177,12 @@ export declare abstract class Material extends EffectsObject implements Disposab
177
177
  * 设置 Material 颜色缓冲区的写入开关
178
178
  * @param value
179
179
  */
180
- set colorMask(value: UndefinedAble<[r: boolean, g: boolean, b: boolean, a: boolean]>);
180
+ abstract set colorMask(value: boolean);
181
+ /**
182
+ * 获取 Material 颜色缓冲区的写入开关
183
+ * @param value
184
+ */
185
+ abstract get colorMask(): boolean;
181
186
  /**
182
187
  * 分别指定 Material 的模板测试掩码
183
188
  * @param value - 模板测试写入掩码参数
@@ -3,6 +3,7 @@ import type { Matrix3, Matrix4, Vector2, Vector3, Vector4 } from '@galacean/effe
3
3
  import type { Texture } from '../texture';
4
4
  import type { DestroyOptions } from '../utils';
5
5
  import type { MaskProcessor } from './mask-ref-manager';
6
+ import type { Renderer } from '../render';
6
7
  export type UniformSemantic = 'VIEW' | 'MODEL' | 'MODELVIEW' | 'PROJECTION' | 'VIEWPROJECTION' | 'VIEWINVERSE' | 'EDITOR_TRANSFORM' | 'MODELVIEWPROJECTION';
7
8
  export interface MaterialBlendingStates {
8
9
  blending?: boolean;
@@ -72,6 +73,7 @@ export interface MaskProps {
72
73
  */
73
74
  export interface Maskable {
74
75
  readonly maskManager: MaskProcessor;
76
+ drawStencilMask: (renderer: Renderer) => void;
75
77
  }
76
78
  export declare enum MaskMode {
77
79
  /**
@@ -33,6 +33,7 @@ export declare class InteractComponent extends RendererComponent {
33
33
  private duringPlay;
34
34
  /** 是否响应点击和拖拽交互事件 */
35
35
  private _interactive;
36
+ private lastTime;
36
37
  set interactive(enable: boolean);
37
38
  get interactive(): boolean;
38
39
  getDragRangeX(): [min: number, max: number];
@@ -7,12 +7,14 @@ import { ParticleMesh } from './particle-mesh';
7
7
  import type { Mesh, Renderer } from '../../render';
8
8
  import type { Engine } from '../../engine';
9
9
  import { RendererComponent } from '../../components';
10
+ import type { MaskProcessor } from '../../material/mask-ref-manager';
10
11
  /**
11
12
  * @since 2.0.0
12
13
  */
13
14
  export declare class ParticleSystemRenderer extends RendererComponent {
14
15
  meshes: Mesh[];
15
16
  particleMesh: ParticleMesh;
17
+ maskManager: MaskProcessor;
16
18
  private trailMesh?;
17
19
  constructor(engine: Engine, particleMeshProps?: ParticleMeshProps, trailMeshProps?: TrailMeshProps);
18
20
  onStart(): void;
@@ -139,7 +139,7 @@ export interface ParticleTrailProps extends Omit<spec.ParticleTrail, 'texture' |
139
139
  };
140
140
  }
141
141
  export type ParticleContent = [number, number, number, Point];
142
- export declare class ParticleSystem extends Component implements Maskable {
142
+ export declare class ParticleSystem extends Component {
143
143
  renderer: ParticleSystemRenderer;
144
144
  options: ParticleOptions;
145
145
  shape: ShapeGenerator;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/effects-core",
3
- "version": "2.4.0-beta.1",
3
+ "version": "2.4.0-beta.2",
4
4
  "description": "Galacean Effects runtime core for the web",
5
5
  "module": "./dist/index.mjs",
6
6
  "main": "./dist/index.js",