diff --git a/packages/design/package.json b/packages/design/package.json index 659c27557f..6018bafd83 100755 --- a/packages/design/package.json +++ b/packages/design/package.json @@ -11,5 +11,8 @@ "dist/**/*", "types/**/*" ], - "types": "types/index.d.ts" + "types": "types/index.d.ts", + "dependencies": { + "@oasis-engine/math": "0.5.2" + } } diff --git a/packages/math/package.json b/packages/math/package.json index 647f70a8a2..c54b12d1d7 100755 --- a/packages/math/package.json +++ b/packages/math/package.json @@ -12,8 +12,5 @@ "files": [ "dist/**/*", "types/**/*" - ], - "devDependencies": { - "@oasis-engine/design": "0.5.2" - } + ] } diff --git a/packages/math/src/BoundingBox.ts b/packages/math/src/BoundingBox.ts index 538ef5bcec..d991cbb8bc 100644 --- a/packages/math/src/BoundingBox.ts +++ b/packages/math/src/BoundingBox.ts @@ -1,4 +1,4 @@ -import { IClone } from "@oasis-engine/design"; +import { IClone } from "./IClone"; import { BoundingSphere } from "./BoundingSphere"; import { Matrix } from "./Matrix"; import { Vector3 } from "./Vector3"; diff --git a/packages/math/src/BoundingFrustum.ts b/packages/math/src/BoundingFrustum.ts index 975e28ba6e..c1daa57c7b 100644 --- a/packages/math/src/BoundingFrustum.ts +++ b/packages/math/src/BoundingFrustum.ts @@ -1,4 +1,4 @@ -import { IClone } from "@oasis-engine/design"; +import { IClone } from "./IClone"; import { BoundingBox } from "./BoundingBox"; import { BoundingSphere } from "./BoundingSphere"; import { CollisionUtil } from "./CollisionUtil"; diff --git a/packages/math/src/BoundingSphere.ts b/packages/math/src/BoundingSphere.ts index 628b6531cd..0db173ff03 100644 --- a/packages/math/src/BoundingSphere.ts +++ b/packages/math/src/BoundingSphere.ts @@ -1,4 +1,4 @@ -import { IClone } from "@oasis-engine/design"; +import { IClone } from "./IClone"; import { BoundingBox } from "./BoundingBox"; import { Vector3 } from "./Vector3"; diff --git a/packages/math/src/Color.ts b/packages/math/src/Color.ts index ff5198c88e..fe0e959326 100644 --- a/packages/math/src/Color.ts +++ b/packages/math/src/Color.ts @@ -1,4 +1,4 @@ -import { IClone } from "@oasis-engine/design"; +import { IClone } from "./IClone"; import { MathUtil } from "./MathUtil"; /** diff --git a/packages/math/src/IClone.ts b/packages/math/src/IClone.ts new file mode 100644 index 0000000000..88bf04a002 --- /dev/null +++ b/packages/math/src/IClone.ts @@ -0,0 +1,16 @@ +/** + * Clone interface. + */ +export interface IClone { + /** + * Clone and return object. + * @returns Clone object + */ + clone(): Object; + + /** + * Clone to the target object. + * @param target - Target object + */ + cloneTo(target: Object): Object; +} diff --git a/packages/math/src/Matrix.ts b/packages/math/src/Matrix.ts index d6a1924070..f4e9b88db7 100644 --- a/packages/math/src/Matrix.ts +++ b/packages/math/src/Matrix.ts @@ -1,4 +1,4 @@ -import { IClone } from "@oasis-engine/design"; +import { IClone } from "./IClone"; import { MathUtil } from "./MathUtil"; import { Matrix3x3 } from "./Matrix3x3"; import { Quaternion } from "./Quaternion"; diff --git a/packages/math/src/Matrix3x3.ts b/packages/math/src/Matrix3x3.ts index 304520d716..e5ee0e607c 100644 --- a/packages/math/src/Matrix3x3.ts +++ b/packages/math/src/Matrix3x3.ts @@ -1,4 +1,4 @@ -import { IClone } from "@oasis-engine/design"; +import { IClone } from "./IClone"; import { MathUtil } from "./MathUtil"; import { Matrix } from "./Matrix"; import { Quaternion } from "./Quaternion"; diff --git a/packages/math/src/Plane.ts b/packages/math/src/Plane.ts index 46d65db82b..eaff0163b3 100644 --- a/packages/math/src/Plane.ts +++ b/packages/math/src/Plane.ts @@ -1,4 +1,4 @@ -import { IClone } from "@oasis-engine/design"; +import { IClone } from "./IClone"; import { Vector3 } from "./Vector3"; /** diff --git a/packages/math/src/Quaternion.ts b/packages/math/src/Quaternion.ts index e83e355c0e..8c5b28fba4 100644 --- a/packages/math/src/Quaternion.ts +++ b/packages/math/src/Quaternion.ts @@ -1,4 +1,4 @@ -import { IClone } from "@oasis-engine/design"; +import { IClone } from "./IClone"; import { MathUtil } from "./MathUtil"; import { Matrix3x3 } from "./Matrix3x3"; import { Vector3 } from "./Vector3"; diff --git a/packages/math/src/Rect.ts b/packages/math/src/Rect.ts index 838bff501e..af371ebcf7 100644 --- a/packages/math/src/Rect.ts +++ b/packages/math/src/Rect.ts @@ -1,4 +1,4 @@ -import { IClone } from "@oasis-engine/design"; +import { IClone } from "./IClone"; // A 2d rectangle defined by x and y position, width and height. export class Rect implements IClone { diff --git a/packages/math/src/SphericalHarmonics3.ts b/packages/math/src/SphericalHarmonics3.ts index c9fe995659..e60db6c0a9 100644 --- a/packages/math/src/SphericalHarmonics3.ts +++ b/packages/math/src/SphericalHarmonics3.ts @@ -1,4 +1,4 @@ -import { IClone } from "@oasis-engine/design"; +import { IClone } from "./IClone"; import { Color } from "./Color"; import { Vector3 } from "./Vector3"; @@ -203,7 +203,8 @@ export class SphericalHarmonics3 implements IClone { * @param out - The specified SphericalHarmonics3 * @returns The specified SphericalHarmonics3 */ - cloneTo(out: SphericalHarmonics3): void { + cloneTo(out: SphericalHarmonics3): SphericalHarmonics3 { this.toArray(out.coefficients); + return out; } } diff --git a/packages/math/src/Vector2.ts b/packages/math/src/Vector2.ts index 12af206f42..a4ee1ec855 100644 --- a/packages/math/src/Vector2.ts +++ b/packages/math/src/Vector2.ts @@ -1,4 +1,4 @@ -import { IClone } from "@oasis-engine/design"; +import { IClone } from "./IClone"; import { MathUtil } from "./MathUtil"; /** diff --git a/packages/math/src/Vector3.ts b/packages/math/src/Vector3.ts index 381dd22a91..b238f9be8b 100644 --- a/packages/math/src/Vector3.ts +++ b/packages/math/src/Vector3.ts @@ -1,4 +1,4 @@ -import { IClone } from "@oasis-engine/design"; +import { IClone } from "./IClone"; import { MathUtil } from "./MathUtil"; import { Matrix } from "./Matrix"; import { Quaternion } from "./Quaternion"; diff --git a/packages/math/src/Vector4.ts b/packages/math/src/Vector4.ts index 60af696950..83f460daeb 100644 --- a/packages/math/src/Vector4.ts +++ b/packages/math/src/Vector4.ts @@ -1,4 +1,4 @@ -import { IClone } from "@oasis-engine/design"; +import { IClone } from "./IClone"; import { MathUtil } from "./MathUtil"; import { Matrix } from "./Matrix"; import { Quaternion } from "./Quaternion";