Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update GUI code #26

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
2df50f9
feat: ui transform
cptbtptpbcptdtptp Jun 12, 2024
cf0643d
feat: update code
cptbtptpbcptdtptp Jun 17, 2024
22582e1
feat: merge code
cptbtptpbcptdtptp Jun 20, 2024
cdecbc5
feat: udpae code
cptbtptpbcptdtptp Jun 20, 2024
d3599b2
feat: update code
cptbtptpbcptdtptp Jun 20, 2024
9ed8451
feat: merge transform and uitransform
cptbtptpbcptdtptp Jun 26, 2024
ed65e2a
fix: merge code
cptbtptpbcptdtptp Aug 28, 2024
a04790f
fix: merge code
cptbtptpbcptdtptp Aug 28, 2024
ef86b49
feat: update code
cptbtptpbcptdtptp Aug 29, 2024
9a883be
Merge remote-tracking branch 'ck/feature/ui-init' into feature/ui-init
cptbtptpbcptdtptp Aug 30, 2024
0866129
feat: update ui input
cptbtptpbcptdtptp Sep 9, 2024
ff4bdb1
feat: update code
cptbtptpbcptdtptp Sep 19, 2024
75e4c83
feat: ui pointer event
cptbtptpbcptdtptp Sep 25, 2024
e87b7cd
feat: udpate code
cptbtptpbcptdtptp Oct 7, 2024
cc001f1
feat: merge code
cptbtptpbcptdtptp Oct 7, 2024
eea964a
feat: update code
cptbtptpbcptdtptp Oct 10, 2024
05f11da
feat: udpate code
cptbtptpbcptdtptp Oct 10, 2024
6c6be60
feat: udpate code
cptbtptpbcptdtptp Oct 10, 2024
c6cbdee
feat: update code
cptbtptpbcptdtptp Oct 10, 2024
8e70ce9
feat: update code
cptbtptpbcptdtptp Oct 10, 2024
c12b295
feat: update code
cptbtptpbcptdtptp Oct 11, 2024
9d90de5
feat: update code
cptbtptpbcptdtptp Oct 12, 2024
7abc773
feat: update code
cptbtptpbcptdtptp Oct 12, 2024
5c3c47d
feat: update code
cptbtptpbcptdtptp Oct 14, 2024
7f77234
feat: update code
cptbtptpbcptdtptp Oct 14, 2024
48f735c
feat: update code
cptbtptpbcptdtptp Oct 17, 2024
7aa2657
feat: update code
cptbtptpbcptdtptp Oct 20, 2024
0e36499
feat: update code
cptbtptpbcptdtptp Oct 21, 2024
f2158fc
feat: update code
cptbtptpbcptdtptp Oct 22, 2024
685e450
feat: update code
cptbtptpbcptdtptp Oct 22, 2024
45deb33
feat: update code
cptbtptpbcptdtptp Oct 22, 2024
fcb0994
feat: update code
cptbtptpbcptdtptp Oct 22, 2024
b30b2ee
feat: update code
cptbtptpbcptdtptp Oct 22, 2024
85a15fe
feat: merge code
cptbtptpbcptdtptp Oct 23, 2024
af4135d
feat: update code
cptbtptpbcptdtptp Oct 24, 2024
b61b9e7
feat: update code
cptbtptpbcptdtptp Oct 24, 2024
bb145d4
feat: update localbounds
cptbtptpbcptdtptp Oct 24, 2024
74de716
feat: update code
cptbtptpbcptdtptp Oct 27, 2024
49cc82a
feat: merge code
cptbtptpbcptdtptp Oct 27, 2024
c808352
feat: merge code
cptbtptpbcptdtptp Oct 27, 2024
c3c5568
feat: update code
cptbtptpbcptdtptp Oct 29, 2024
b154e57
feat: update ui code
cptbtptpbcptdtptp Nov 1, 2024
951b1a0
feat: udpate code
cptbtptpbcptdtptp Nov 4, 2024
4d930f2
feat: add button
cptbtptpbcptdtptp Nov 5, 2024
72be260
feat: add button
cptbtptpbcptdtptp Nov 5, 2024
c60fa0a
feat: update code
cptbtptpbcptdtptp Nov 5, 2024
f7ffd30
feat: update code
cptbtptpbcptdtptp Nov 5, 2024
7f25dc3
feat: update code
cptbtptpbcptdtptp Nov 6, 2024
c37bee4
feat: merge code
cptbtptpbcptdtptp Nov 6, 2024
a7249b3
feat: update code
cptbtptpbcptdtptp Nov 7, 2024
396656c
feat: update code
cptbtptpbcptdtptp Nov 7, 2024
5fea91f
feat: update code
cptbtptpbcptdtptp Nov 7, 2024
4e66663
feat: update code
cptbtptpbcptdtptp Nov 7, 2024
48d783d
feat: update code
cptbtptpbcptdtptp Nov 7, 2024
3b90739
feat: update code
cptbtptpbcptdtptp Nov 13, 2024
c0cf05a
feat: update code
cptbtptpbcptdtptp Nov 13, 2024
e68d510
feat: update code
cptbtptpbcptdtptp Nov 14, 2024
b385900
feat: update code
cptbtptpbcptdtptp Nov 18, 2024
7ba272c
feat: update code
cptbtptpbcptdtptp Nov 18, 2024
a09efd5
fix: lint error
cptbtptpbcptdtptp Nov 20, 2024
0a0155d
fix: lint error
cptbtptpbcptdtptp Nov 20, 2024
e12ff0b
fix: lint error
cptbtptpbcptdtptp Nov 20, 2024
3bd87bd
fix: lint error
cptbtptpbcptdtptp Nov 20, 2024
2860723
fix: lint error
cptbtptpbcptdtptp Nov 20, 2024
1eab47c
fix: lint error
cptbtptpbcptdtptp Nov 20, 2024
06a4242
feat: pbr support sheen
hhhhkrx Dec 3, 2024
a7b232e
Merge remote-tracking branch 'ck/feature/ui-init' into feature/ui-init
cptbtptpbcptdtptp Dec 4, 2024
7bc504a
fix: udpate ui transform init
cptbtptpbcptdtptp Dec 5, 2024
dea19ce
Merge remote-tracking branch 'ck/feature/ui-init' into feature/ui-init
cptbtptpbcptdtptp Dec 6, 2024
d1dda0c
fix: sheen switch
hhhhkrx Dec 10, 2024
5604310
fix: sheen
hhhhkrx Dec 11, 2024
313db93
fix: sheen
hhhhkrx Dec 11, 2024
8b8dab9
Merge branch 'feature/ui-init' of https://github.com/singlecoder/engi…
cptbtptpbcptdtptp Dec 12, 2024
0b3218d
feat: update code
cptbtptpbcptdtptp Dec 12, 2024
affd513
fix: clamp sheen roughness
hhhhkrx Dec 12, 2024
afc9087
Merge pull request #2448 from hhhhkrx/Sheen
GuoLei1990 Dec 12, 2024
a90a5b9
feat: update code
cptbtptpbcptdtptp Dec 13, 2024
4d79a52
feat: udpate code
cptbtptpbcptdtptp Dec 13, 2024
eb28c10
feat: update code
cptbtptpbcptdtptp Dec 13, 2024
012123d
Merge remote-tracking branch 'origin/dev/1.4' into feat/transform
cptbtptpbcptdtptp Dec 13, 2024
75229b5
feat: udpate code
cptbtptpbcptdtptp Dec 13, 2024
3d65f12
feat: update code
cptbtptpbcptdtptp Dec 13, 2024
a8392e7
feat: update code
cptbtptpbcptdtptp Dec 13, 2024
1405f8b
Merge pull request #2464 from cptbtptpbcptdtptp/feat/transform
GuoLei1990 Dec 13, 2024
7407f3e
feat: update code
cptbtptpbcptdtptp Dec 16, 2024
59782d3
feat: udpate code
cptbtptpbcptdtptp Dec 16, 2024
9f71641
feat: udpate code
cptbtptpbcptdtptp Dec 16, 2024
4d6b453
feat: update code
cptbtptpbcptdtptp Dec 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion packages/core/src/2d/assembler/ISpriteAssembler.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Vector2, Vector3 } from "@galacean/engine-math";
import { Matrix, Vector2, Vector3 } from "@galacean/engine-math";
import { ISpriteRenderer } from "./ISpriteRenderer";

/**
Expand All @@ -8,6 +8,7 @@ export interface ISpriteAssembler {
resetData(renderer: ISpriteRenderer, vertexCount?: number): void;
updatePositions(
renderer: ISpriteRenderer,
worldMatrix: Matrix,
width: number,
height: number,
pivot: Vector2,
Expand Down
2 changes: 0 additions & 2 deletions packages/core/src/2d/assembler/ISpriteRenderer.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { Color } from "@galacean/engine-math";
import { PrimitiveChunkManager } from "../../RenderPipeline/PrimitiveChunkManager";
import { SubPrimitiveChunk } from "../../RenderPipeline/SubPrimitiveChunk";
import { Transform } from "../../Transform";
import { SpriteTileMode } from "../enums/SpriteTileMode";
import { Sprite } from "../sprite";

Expand All @@ -10,7 +9,6 @@ export interface ISpriteRenderer {
color?: Color;
tileMode?: SpriteTileMode;
tiledAdaptiveThreshold?: number;
_transform: Transform;
_subChunk: SubPrimitiveChunk;
_getChunkManager(): PrimitiveChunkManager;
}
8 changes: 4 additions & 4 deletions packages/core/src/2d/assembler/SimpleSpriteAssembler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { ISpriteRenderer } from "./ISpriteRenderer";
@StaticInterfaceImplement<ISpriteAssembler>()
export class SimpleSpriteAssembler {
private static _rectangleTriangles = [0, 1, 2, 2, 1, 3];
private static _worldMatrix = new Matrix();
private static _matrix = new Matrix();

static resetData(renderer: ISpriteRenderer): void {
const manager = renderer._getChunkManager();
Expand All @@ -22,6 +22,7 @@ export class SimpleSpriteAssembler {

static updatePositions(
renderer: ISpriteRenderer,
worldMatrix: Matrix,
width: number,
height: number,
pivot: Vector2,
Expand All @@ -31,10 +32,9 @@ export class SimpleSpriteAssembler {
const { sprite } = renderer;
const { x: pivotX, y: pivotY } = pivot;
// Renderer's worldMatrix
const worldMatrix = SimpleSpriteAssembler._worldMatrix;
const { elements: wE } = worldMatrix;
const { elements: wE } = SimpleSpriteAssembler._matrix;
// Parent's worldMatrix
const { elements: pWE } = renderer._transform.worldMatrix;
const { elements: pWE } = worldMatrix;
const sx = flipX ? -width : width;
const sy = flipY ? -height : height;
(wE[0] = pWE[0] * sx), (wE[1] = pWE[1] * sx), (wE[2] = pWE[2] * sx);
Expand Down
8 changes: 4 additions & 4 deletions packages/core/src/2d/assembler/SlicedSpriteAssembler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export class SlicedSpriteAssembler {
0, 1, 4, 1, 5, 4, 1, 2, 5, 2, 6, 5, 2, 3, 6, 3, 7, 6, 4, 5, 8, 5, 9, 8, 5, 6, 9, 6, 10, 9, 6, 7, 10, 7, 11, 10, 8,
9, 12, 9, 13, 12, 9, 10, 13, 10, 14, 13, 10, 11, 14, 11, 15, 14
];
private static _worldMatrix = new Matrix();
private static _matrix = new Matrix();
private static _row = new Array<number>(4);
private static _column = new Array<number>(4);

Expand All @@ -27,6 +27,7 @@ export class SlicedSpriteAssembler {

static updatePositions(
renderer: ISpriteRenderer,
worldMatrix: Matrix,
width: number,
height: number,
pivot: Vector2,
Expand Down Expand Up @@ -83,10 +84,9 @@ export class SlicedSpriteAssembler {
const localTransX = width * pivotX;
const localTransY = height * pivotY;
// Renderer's worldMatrix.
const worldMatrix = SlicedSpriteAssembler._worldMatrix;
const { elements: wE } = worldMatrix;
const { elements: wE } = SlicedSpriteAssembler._matrix;
// Parent's worldMatrix.
const { elements: pWE } = renderer._transform.worldMatrix;
const { elements: pWE } = worldMatrix;
const sx = flipX ? -1 : 1;
const sy = flipY ? -1 : 1;
(wE[0] = pWE[0] * sx), (wE[1] = pWE[1] * sx), (wE[2] = pWE[2] * sx);
Expand Down
8 changes: 4 additions & 4 deletions packages/core/src/2d/assembler/TiledSpriteAssembler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import { SimpleSpriteAssembler } from "./SimpleSpriteAssembler";
*/
@StaticInterfaceImplement<ISpriteAssembler>()
export class TiledSpriteAssembler {
private static _worldMatrix = new Matrix();
private static _matrix = new Matrix();
private static _posRow = new DisorderedArray<number>();
private static _posColumn = new DisorderedArray<number>();
private static _uvRow = new DisorderedArray<number>();
Expand All @@ -35,6 +35,7 @@ export class TiledSpriteAssembler {

static updatePositions(
renderer: ISpriteRenderer,
worldMatrix: Matrix,
width: number,
height: number,
pivot: Vector2,
Expand All @@ -53,10 +54,9 @@ export class TiledSpriteAssembler {
const localTransX = width * pivotX;
const localTransY = height * pivotY;
// Renderer's worldMatrix
const { _worldMatrix: worldMatrix } = TiledSpriteAssembler;
const { elements: wE } = worldMatrix;
const { elements: wE } = TiledSpriteAssembler._matrix;
// Parent's worldMatrix
const { elements: pWE } = renderer._transform.worldMatrix;
const { elements: pWE } = worldMatrix;
const sx = flipX ? -1 : 1;
const sy = flipY ? -1 : 1;
let wE0: number, wE1: number, wE2: number;
Expand Down
15 changes: 13 additions & 2 deletions packages/core/src/2d/sprite/SpriteMask.ts
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,10 @@ export class SpriteMask extends Renderer implements ISpriteRenderer {
this.shaderData.setTexture(SpriteMask._textureProperty, null);
}
this._sprite = value;
this._calDefaultSize();
if (this._customWidth === undefined || this._customHeight === undefined) {
this._calDefaultSize();
this._dirtyUpdateFlag |= RendererUpdateFlags.AllPositionAndBounds;
}
}
}

Expand Down Expand Up @@ -274,7 +277,15 @@ export class SpriteMask extends Renderer implements ISpriteRenderer {

// Update position
if (this._dirtyUpdateFlag & RendererUpdateFlags.AllPositions) {
SimpleSpriteAssembler.updatePositions(this, this.width, this.height, sprite.pivot, this._flipX, this._flipY);
SimpleSpriteAssembler.updatePositions(
this,
this._transformEntity.transform.worldMatrix,
this.width,
this.height,
sprite.pivot,
this._flipX,
this._flipY
);
this._dirtyUpdateFlag &= ~RendererUpdateFlags.AllPositions;
}

Expand Down
1 change: 1 addition & 0 deletions packages/core/src/2d/sprite/SpriteRenderer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -349,6 +349,7 @@ export class SpriteRenderer extends Renderer implements ISpriteRenderer {
if (this._dirtyUpdateFlag & RendererUpdateFlags.AllPositions) {
this._assembler.updatePositions(
this,
this._transformEntity.transform.worldMatrix,
this.width,
this.height,
sprite.pivot,
Expand Down
22 changes: 6 additions & 16 deletions packages/core/src/ComponentsDependencies.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ export class ComponentsDependencies {
private static _invDependenciesMap = new Map<ComponentConstructor, ComponentConstructor[]>();

static _dependenciesMap = new Map<ComponentConstructor, DependentInfo>();
static _inheritedMap = new Map<ComponentConstructor, Boolean>();

/**
* @internal
Expand Down Expand Up @@ -40,7 +39,13 @@ export class ComponentsDependencies {
* @internal
*/
static _removeCheck(entity: Entity, type: ComponentConstructor): void {
const components = entity._components;
const n = components.length;
while (type !== Component) {
let count = 0;
for (let i = 0; i < n; i++) {
if (components[i] instanceof type && ++count > 1) return;
}
const invDependencies = ComponentsDependencies._invDependenciesMap.get(type);
if (invDependencies) {
for (let i = 0, len = invDependencies.length; i < len; i++) {
Expand All @@ -53,15 +58,6 @@ export class ComponentsDependencies {
}
}

/**
* @internal
*/
static _createChildCheck(child: Entity, type: ComponentConstructor): void {
if (ComponentsDependencies._inheritedMap.get(type)) {
child.addComponent(type);
}
}

/**
* @internal
*/
Expand Down Expand Up @@ -94,12 +90,6 @@ export class ComponentsDependencies {
private constructor() {}
}

export function markAsInherited() {
return function <T extends ComponentConstructor>(target: T): void {
ComponentsDependencies._inheritedMap.set(target, true);
};
}

/**
* Declare dependent component.
* @param component - Dependent component
Expand Down
22 changes: 1 addition & 21 deletions packages/core/src/ComponentsManager.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { IUICanvas, IUIElement } from "@galacean/engine-design";
import { IUICanvas } from "@galacean/engine-design";
import { Camera } from "./Camera";
import { Component } from "./Component";
import { Renderer } from "./Renderer";
Expand Down Expand Up @@ -39,9 +39,6 @@ export class ComponentsManager {
// Render
private _onUpdateRenderers: DisorderedArray<Renderer> = new DisorderedArray();

// UIElement
private _onUpdateUIElements: DisorderedArray<IUIElement> = new DisorderedArray();

// Delay dispose active/inActive Pool
private _componentsContainerPool: Component[][] = [];

Expand Down Expand Up @@ -182,17 +179,6 @@ export class ComponentsManager {
renderer._onUpdateIndex = -1;
}

addOnUpdateUIElement(element: IUIElement): void {
element._onUIUpdateIndex = this._onUpdateRenderers.length;
this._onUpdateUIElements.add(element);
}

removeOnUpdateUIElement(element: IUIElement): void {
const replaced = this._onUpdateUIElements.deleteByIndex(element._onUIUpdateIndex);
replaced && (replaced._onUIUpdateIndex = element._onUIUpdateIndex);
element._onUIUpdateIndex = -1;
}

addPendingDestroyScript(component: Script): void {
this._pendingDestroyScripts.push(component);
}
Expand Down Expand Up @@ -269,12 +255,6 @@ export class ComponentsManager {
);
}

callUIOnUpdate(deltaTime: number): void {
this._onUpdateUIElements.forEach((element: IUIElement) => {
element._onUpdate();
});
}

handlingInvalidScripts(): void {
const { _disposeDestroyScripts: pendingDestroyScripts, _pendingDestroyScripts: disposeDestroyScripts } = this;
this._disposeDestroyScripts = disposeDestroyScripts;
Expand Down
4 changes: 1 addition & 3 deletions packages/core/src/Engine.ts
Original file line number Diff line number Diff line change
Expand Up @@ -480,9 +480,7 @@ export class Engine extends EventDispatcher {
for (let i = 0, n = scenes.length; i < n; i++) {
const scene = scenes[i];
if (!scene.isActive || scene.destroyed) continue;
const componentsManager = scene._componentsManager;
componentsManager.callUIOnUpdate(deltaTime);
componentsManager.callRendererOnUpdate(deltaTime);
scene._componentsManager.callRendererOnUpdate(deltaTime);
scene._updateShaderData();
}

Expand Down
18 changes: 13 additions & 5 deletions packages/core/src/Entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,9 @@ export class Entity extends EngineObject {
/** @internal */
_updateFlagManager: UpdateFlagManager = new UpdateFlagManager();
/** @internal */
_transform: Transform;
_modifyFlagManager: UpdateFlagManager;

private _transform: Transform;
private _templateResource: ReferResource;
private _parent: Entity = null;
private _activeChangedComponents: Component[];
Expand Down Expand Up @@ -228,6 +229,13 @@ export class Entity extends EngineObject {
ComponentsDependencies._addCheck(this, type);
const component = new type(this, ...args) as InstanceType<T>;
this._components.push(component);

// @todo: temporary solution
if (component instanceof Transform) {
const transform = this._transform;
this._transform = component;
transform?.destroy();
}
component._setActive(true, ActiveChangeFlag.All);
return component;
}
Expand Down Expand Up @@ -550,7 +558,7 @@ export class Entity extends EngineObject {
* @internal
*/
_removeComponent(component: Component): void {
ComponentsDependencies._removeCheck(this, component.constructor as any);
ComponentsDependencies._removeCheck(this, component.constructor as ComponentConstructor);
const components = this._components;
components.splice(components.indexOf(component), 1);
}
Expand Down Expand Up @@ -625,21 +633,21 @@ export class Entity extends EngineObject {
* @internal
*/
_registerModifyListener(onChange: (flag: EntityModifyFlags) => void): void {
(this._updateFlagManager ||= new UpdateFlagManager()).addListener(onChange);
(this._modifyFlagManager ||= new UpdateFlagManager()).addListener(onChange);
}

/**
* @internal
*/
_unRegisterModifyListener(onChange: (flag: EntityModifyFlags) => void): void {
this._updateFlagManager?.removeListener(onChange);
this._modifyFlagManager?.removeListener(onChange);
}

/**
* @internal
*/
_dispatchModify(flag: EntityModifyFlags, param?: any): void {
this._updateFlagManager?.dispatch(flag, param);
this._modifyFlagManager?.dispatch(flag, param);
}

private _addToChildrenList(index: number, child: Entity): void {
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/RenderPipeline/RenderQueue.ts
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ export class RenderQueue {

renderState._applyStates(
engine,
renderer._transformEntity.transform._isFrontFaceInvert(),
renderer._isFrontFaceInvert(),
shaderPass._renderStateDataMap,
material.shaderData,
customStates
Expand Down
14 changes: 10 additions & 4 deletions packages/core/src/Renderer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,6 @@ export class Renderer extends Component implements IComponentCustomClone {
/** @internal */
@ignoreClone
_batchedTransformShaderData: boolean = false;
/** @internal */
@ignoreClone
_transformEntity: Entity;

@ignoreClone
protected _overrideUpdate: boolean = false;
Expand All @@ -71,6 +68,8 @@ export class Renderer extends Component implements IComponentCustomClone {
protected _localBounds: BoundingBox = new BoundingBox();
@ignoreClone
protected _bounds: BoundingBox = new BoundingBox();
@ignoreClone
protected _transformEntity: Entity;

@deepClone
private _shaderData: ShaderData = new ShaderData(ShaderDataGroup.Renderer);
Expand Down Expand Up @@ -376,6 +375,13 @@ export class Renderer extends Component implements IComponentCustomClone {
}
}

/**
* @internal
*/
_isFrontFaceInvert(): boolean {
return this._transformEntity.transform._isFrontFaceInvert();
}

/**
* @internal
*/
Expand Down Expand Up @@ -494,7 +500,7 @@ export class Renderer extends Component implements IComponentCustomClone {
protected _updateLocalBounds(localBounds: BoundingBox): void {}

protected _updateBounds(worldBounds: BoundingBox): void {
BoundingBox.transform(this.localBounds, this._transform.worldMatrix, worldBounds);
BoundingBox.transform(this.localBounds, this._transformEntity.transform.worldMatrix, worldBounds);
}

protected _render(context: RenderContext): void {
Expand Down
6 changes: 0 additions & 6 deletions packages/core/src/Transform.ts
Original file line number Diff line number Diff line change
Expand Up @@ -340,12 +340,6 @@ export class Transform extends Component {
this._worldRotationQuaternion._onValueChanged = this._onWorldRotationQuaternionChanged;
//@ts-ignore
this._scale._onValueChanged = this._onScaleChanged;

if (entity._transform) {
throw `Entity already has a transform.`;
} else {
entity._transform = this;
}
}

/**
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export { Entity } from "./Entity";
export { Component } from "./Component";
export { Script } from "./Script";
export { Renderer, RendererUpdateFlags } from "./Renderer";
export { DependentMode, dependentComponents, markAsInherited } from "./ComponentsDependencies";
export { DependentMode, dependentComponents } from "./ComponentsDependencies";
export { Camera } from "./Camera";
export { Transform } from "./Transform";
export { BoolUpdateFlag } from "./BoolUpdateFlag";
Expand Down
Loading
Loading