Path: blob/main/public/games/files/garbage-collector/js/levels/level-03.js
1036 views
/*globals define*/1define(function( require ) {2'use strict';34var Utils = require( 'utils' );5var LevelUtils = require( 'levels/utils-level' );67var Door = require( 'entities/door' );8var Emitter = require( 'entities/emitter' );9var Trigger = require( 'entities/trigger' );10var TriggerWire = require( 'effects/trigger-wire' );1112var Material = require( 'config/material' );1314var DEG_TO_RAD = Utils.DEG_TO_RAD;1516var level03Data = require( 'text!../../json/level-03.json' );17var level04 = require( 'levels/level-04' );1819return function( game ) {20game.clear();2122game.player.x = 0;23game.player.y = -40;2425game.background.hueSpread = 20;2627LevelUtils.playerMaterialOn( game );28LevelUtils.addTrail( game );29LevelUtils.addBackground( game, 75, 44, 12, 1 );30LevelUtils.loadData( game, level03Data );3132game.camera.setHeight( 42, {33maintainAspectRatio: true34});3536// Trash.37var trashM = LevelUtils.normalTrash( Material.MATTER );38var trashAM = LevelUtils.normalTrash( Material.ANTIMATTER );3940// Emitters.41var em0 = new Emitter( 20, -20 );42em0.spawnArea = LevelUtils.normalSpawnArea(4);43em0.rate = 0.2;44em0.lifeTime = 2;45em0.speed = 200;46em0.angle = -120 * DEG_TO_RAD;4748em0.particle = trashM;49em0.properties = LevelUtils.normalTrashProperties( trashM, Material.MATTER );50// Reverse angular velocity so its easier to push.51em0.properties.body.angularVelocity = -em0.properties.body.angularVelocity;5253em0.start();54game.add( em0 );5556var em1 = new Emitter( -20, -20 );57em1.spawnArea = LevelUtils.normalSpawnArea(4);58em1.rate = 0.2;59em1.lifeTime = 2;60em1.speed = 200;61em1.angle = -60 * DEG_TO_RAD;6263em1.particle = trashAM;64em1.properties = LevelUtils.normalTrashProperties( trashAM, Material.ANTIMATTER );6566em1.start();67game.add( em1 );6869// Triggers.70var trig0 = new Trigger( 20, 20, 3, Material.ANTIMATTER );71game.add( trig0 );7273var trig1 = new Trigger( -20, 20, 3 , Material.MATTER );74game.add( trig1 );7576// Door.77var door = new Door( 0, 40, 3, {78callback: function() {79level04( game );80}81});82door.triggers.push( trig0 );83door.triggers.push( trig1 );84game.add( door );8586// Trigger wires.87var wire0 = new TriggerWire( trig0, door, {88vertices: [890, 0.5,900.5, 0.5,910.5, 192],93sourceDirection: TriggerWire.Direction.BOTTOM,94targetDirection: TriggerWire.Direction.RIGHT95});96game.add( wire0 );9798var wire1 = new TriggerWire( trig1, door, {99vertices: wire0.vertices.slice(),100sourceDirection: TriggerWire.Direction.BOTTOM,101targetDirection: TriggerWire.Direction.LEFT102});103game.add( wire1 );104};105});106107108