UNPKG

seed-engine

Version:

A Lightweight 2D game engine using WebGL2. The engine is designed on the focus of creating a bridge between creating and publishing games to the Seed Network as modules.

72 lines (59 loc) 3.2 kB
import log from '../helper/Log'; import Test from '../helper/Test'; import Loader from '../../src/utils/Loader'; import { Scene, SceneManager, Viewport, GameObject, Point, Renderable2D, PersistentObject, PersistentManager, SceneObject, Component, Transform } from '../../src/entry'; export default class TransformComponentTest extends Test { constructor() { super('Transform Component Test', 9); } steps() { let scene = new Scene(); SceneManager.addScene(scene); let viewport = new Viewport(0, 0, 400, 400); let deregister = scene.registerViewport(viewport); let gameObject = new SceneObject(new Point(10, 10, 10), new Point(10, 10, 1), 45); let component = gameObject.getComponent('Transform'); // gameObject.addComponent(component); this.addStep('Transform Set Position', () => { component.setPosition(4, 5, 6); return this.equals(component.getPosition().x, 4) && this.equals(component.getPosition().y, 5) && this.equals(component.getPosition().z, 6); }); this.addStep('Transform Set Scale', () => { component.setScale(2, 3); return this.equals(component.getScale().x, 2) && this.equals(component.getScale().y, 3); }); this.addStep('Transform Set Rotation', () => { component.setRotation(45); return this.equals(component.getRotation(), 45); }); this.addStep('Transform Set Origin Offset', () => { component.setOriginOffset(20, 18, 16); return this.equals(component.getOriginOffset().x, 20) && this.equals(component.getOriginOffset().y, 18) && this.equals(component.getOriginOffset().z, 16); }); this.addStep('Transform Center Origin', () => { component.centerOrigin(); let isCentered = this.equals(component.getOriginOffset().x, -0.5) && this.equals(component.getOriginOffset().y, -0.5) && this.equals(component.getOriginOffset().z, -0.5) component.centerOrigin(false); return isCentered && this.equals(component.getOriginOffset().x, 0) && this.equals(component.getOriginOffset().y, 0) && this.equals(component.getOriginOffset().z, 0); }); this.addStep('Transform Translate', () => { component.translate(-8, -10, -12); return this.equals(component.getPosition().x, -4) && this.equals(component.getPosition().y, -5) && this.equals(component.getPosition().z, -6); }); this.addStep('Transform Scale', () => { component.scale(-4, -6); return this.equals(component.getScale().x, -2) && this.equals(component.getScale().y, -3); }); this.addStep('Transform Rotate', () => { component.rotate(-90); return this.equals(component.getRotation(), -45); }); this.addStep('Transform Flip X/Y', () => { component.flipX(); component.flipY(); component.flipX(); component.flipY(); return this.equals(component.getScale().x, -2) && this.equals(component.getScale().y, -3); }); } }