diff options
| author | J08nY | 2016-04-29 00:09:43 +0200 |
|---|---|---|
| committer | J08nY | 2016-04-29 00:09:43 +0200 |
| commit | 7caff3e0edcf8982ec716143ed030b2790061b39 (patch) | |
| tree | 16673b30ff5fcb35c53bdcbeeea0cf0fa9b22d25 /src/cube.ts | |
| parent | e243829840896b29c2508d3984b229adc3074edc (diff) | |
| download | omniplex-master.tar.gz omniplex-master.tar.zst omniplex-master.zip | |
Diffstat (limited to 'src/cube.ts')
| -rw-r--r-- | src/cube.ts | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/src/cube.ts b/src/cube.ts index bcb2988..f80f07e 100644 --- a/src/cube.ts +++ b/src/cube.ts @@ -1,15 +1,41 @@ module Omni { - export class Cube extends Physijs.Scene implements Tickable{ - private elements:Block[]; + export class Cube extends Physijs.Scene implements Tickable { + private blocks:Block[]; private puzzles:Puzzle[]; - constructor() { + static SIZE:number = 4; + + constructor(private loader:BlockLoader) { super(); - let block = new LeverBlock(); - } + init(level?:number):void { + //cube size, 4*4*4 + //generate corners first + let half = Cube.SIZE / 2; + let corners = [ + new THREE.Vector3(-1, -1, -1), + new THREE.Vector3(1, -1, -1), + new THREE.Vector3(-1, -1, 1), + new THREE.Vector3(1, -1, 1), + new THREE.Vector3(-1, 1, -1), + new THREE.Vector3(1, 1, -1), + new THREE.Vector3(-1, 1, 1), + new THREE.Vector3(1, 1, 1) + ]; + for (let corner of corners) { + let vertex = corner.clone().multiplyScalar(half); + let block = new PlainBlock(this.loader); + block.setPosition(vertex.add(corner.clone().multiplyScalar(0.5))); + this.add(block.getObject()); + this.blocks.push(block); + } + + //then edges + //then fill in the rest + + } tick(delta:number):void { this.simulate(delta); |
