override public void destroy() { base.destroy(); mMap.destroy(); mMap = null; mAndy.destroy(); mAndy = null; mEnemyManager.destroy(); mEnemyManager = null; mItemManager.destroy(); mItemManager = null; mBulletManager.destroy(); mBulletManager = null; mParticleManger.destroy(); mParticleManger = null; mTierra.destroy(); mTierra = null; }
override public void init() { base.init(); //CGame.inst ().setPlayer (mPlayer); mMap = new CTileMap(); CGame.inst().setMap(mMap); mEnemyManager = new CEnemyManager(); mBulletManager = new CBulletManager(); mParticleManger = new CParticleManager(); mAndy = new CAndy(); mAndy.setXY(400, 400); CGame.inst().setAndy(mAndy); //createAsteroids (); /*CEnemyShip e = new CEnemyShip (); * e.setXY (200, 200); * CEnemyManager.inst ().add (e);*/ CScorpion s = new CScorpion(CScorpion.TYPE_DONT_FALL); s.setXY(550, 300); CEnemyManager.inst().add(s); s = new CScorpion(CScorpion.TYPE_FALL); s.setXY(700, 300); CEnemyManager.inst().add(s); }
override public void init() { base.init(); //CGame.inst ().setPlayer (mPlayer); mEnemyManager = new CEnemyManager(); mItemManager = new CItemManager(); mBulletManager = new CBulletManager(); mParticleManger = new CParticleManager(); mTierra = new Tierra(); // El mapa crea enemigos. Crear los managers antes que el mapa. mMap = new CTileMap(); CGame.inst().setMap(mMap); mAndy = new CAndy(); mAndy.setXY(400, 400); //createAsteroids (); /*CEnemyShip e = new CEnemyShip (); * e.setXY (200, 200); * CEnemyManager.inst ().add (e);*/ }
override public void init() { base.init(); //CGame.inst ().setPlayer (mPlayer); mEnemyManager = new CEnemyManager(); mItemManager = new CItemManager(); mBulletManager = new CBulletManager(); mParticleManger = new CParticleManager(); // El mapa crea enemigos. Crear los managers antes que el mapa. mMap = new CTileMap("Assets/Resources/Map/Map.tmx"); CGame.inst().setMap(mMap); mAndy = new CAndy(); mAndy.muestro = mMap; mAndy.setXY(400, 400); mAndy.setCheckpoint(400, 400); CGame.inst().setPlayer(mAndy); mBackground = new CSprite(); mBackground.setImage(Resources.Load <Sprite>("Sprites/background/background")); mBackground.setName("Background"); mBackground.setRegistration(CSprite.REG_CENTER); mBackground.setParent(CCamera.inst().getTransform()); CCamera.inst().setSize(mMap.getTileHeight() * 8); CCamera.inst().setBounds(0, 0, mMap.getMapWidth() * mMap.getTileWidth(), mMap.getMapHeight() * mMap.getTileHeight()); }
private void registerSingleton() { if (mInst == null) { mInst = this; } else { throw new UnityException("ERROR: Cannot create another instance of singleton class CParticleManager."); } }
override public void destroy() { base.destroy(); mBackground.destroy(); mBackground = null; mPlayer.destroy(); mPlayer = null; mEnemyManager.destroy(); mEnemyManager = null; mBulletManager.destroy(); mBulletManager = null; mParticleManger.destroy(); mParticleManger = null; }
// Se llama desde CPlayerBullet cuando una bala nos toca. public void hit() { setDead(true); int t = 0; // Si es un asteroide grande, se crean asteroides medianos. if (getType() == TYPE_BIG) { t = TYPE_MEDIUM; } // Si el asteroide es mediano, se crean asteroides chicos. else if (getType() == TYPE_MEDIUM) { t = TYPE_SMALL; } // Si el asteroide es chico, se saltea esta parte. // No se crean asteroides. if (getType() != TYPE_SMALL) { for (int i = 0; i < 2; i++) { // Crear los asteroides: se le pasa como parámetro el tipo y color (el color es el mismo). CAsteroid asteroid = new CAsteroid(t, mColor); asteroid.setXY(getX(), getY()); asteroid.setVelX(CMath.randomFloatBetween(-500, 500)); asteroid.setVelY(CMath.randomFloatBetween(-500, 500)); CEnemyManager.inst().add(asteroid); } } CExplosion explosion = new CExplosion(); explosion.setXY(getX(), getY()); CParticleManager.inst().add(explosion); }
override public void init() { base.init(); mBackground = new CBackground(); mBackground.setXY(0, 0); mPlayer = new CAndy(); mPlayer.setXY(CGameConstants.SCREEN_WIDTH / 2, CGameConstants.SCREEN_HEIGHT / 2); mPlayer.setRotation(45); CGame.inst().setPlayer(mPlayer); mEnemyManager = new CEnemyManager(); mBulletManager = new CBulletManager(); mParticleManger = new CParticleManager(); createAsteroids(); CEnemyShip e = new CEnemyShip(); e.setXY(200, 200); CEnemyManager.inst().add(e); }
override public void update() { int tileWidth = CGame.inst().getMap().getTileWidth(); int tileHeight = CGame.inst().getMap().getTileHeight(); //Debug.Log (getState ()); // Guardar la posicion anterior del objeto. setOldYPosition(); base.update(); if (getState() == STATE_STAND) { /* * * // En stand no deberia pasar nunca que quede metido en una pared. * // Si estamos en una pared, corregirnos. * if (isWallLeft (getX (), getY ())) { * // Reposicionar el personaje contra la pared. * setX ((mLeftX + 1) * tileWidth); * } * if (isWallRight (getX (), getY ())) { * // Reposicionar el personaje contra la pared. * setX (((mRightX) * tileWidth) - getWidth ()); * } * * // Si en el pixel de abajo del jugador no hay piso, caemos. * if (!isFloor (getX (), getY () + 1)) { * setState (STATE_FALLING); * return; * } * * if (!isWallRight (getX () + 1, getY ())) * { * setVelX (400); * setState (STATE_WALKING); * return; * } * * if (!isWallLeft (getX () - 1, getY ())) * { * setVelX (-400); * setState (STATE_WALKING); * return; * } * */ } else if (getState() == STATE_WALKING) { if (isWallLeft(getX(), getY())) { // Reposicionar el personaje contra la pared. setX((mLeftX + 1) * tileWidth); setVelX(getVelX() * -1); } if (isWallRight(getX(), getY())) { // Reposicionar el personaje contra la pared. setX(((mRightX) * tileWidth) - getWidth()); setVelX(getVelX() * -1); } // Si en el pixel de abajo del jugador no hay piso, caemos. if (!isFloor(getX(), getY() + 1)) { setState(STATE_FALLING); return; } if (getVelX() < 0) { // Chequear pared a la izquierda. // Si hay pared a la izquierda vamos a stand. if (isWallLeft(getX(), getY())) { // Reposicionar el personaje contra la pared. //setX((((int) getX ()/tileWidth)+1)*tileWidth); setX((mLeftX + 1) * tileWidth); setVelX(getVelX() * -1); return; } else { // No hay pared, se puede mover. setVelX(-400); setFlip(true); if (getType() == TYPE_DONT_FALL) { checkPoints(getX(), getY() + 1); if (mTileDownLeft) { setVelX(getVelX() * -1); } } } } else if (getVelX() > 0) { // Chequear pared a la derecha. // Si hay pared a la derecha vamos a stand. if (isWallRight(getX(), getY())) { // Reposicionar el personaje contra la pared. setX(((mRightX) * tileWidth) - getWidth()); setVelX(getVelX() * -1); return; } else { // No hay pared, se puede mover. setVelX(400); setFlip(false); if (getType() == TYPE_DONT_FALL) { checkPoints(getX(), getY() + 1); if (mTileDownRight) { setVelX(getVelX() * -1); } } } } } else if (getState() == STATE_FALLING) { controlMoveHorizontal(); if (isFloor(getX(), getY() + 1)) { setY(mDownY * tileHeight - getHeight()); setState(STATE_STAND); return; } } // Spark emmiter. if (CMath.randomIntBetween(1, 50) == 1) { CSpark spark = new CSpark(); CVector pos = new CVector(getX() + getWidth() / 2, getY() + getHeight() / 2); spark.setPos(pos + new CVector(CMath.randomIntBetween(-10, 10), CMath.randomIntBetween(-10, 10))); CParticleManager.inst().add(spark); } }
override public void destroy() { base.destroy(); mInst = null; }
private void Awake() { CParticleManager._inst = this; this._ParticuleAsset = Resources.Load <GameObject>("Explosion"); this._ParticleList = new List <CParticuleSystem>(); }