Beispiel #1
0
    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);
    }
Beispiel #3
0
    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());
    }
Beispiel #5
0
 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;
    }
Beispiel #7
0
    // 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);
    }
Beispiel #9
0
    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);
        }
    }
Beispiel #10
0
 override public void destroy()
 {
     base.destroy();
     mInst = null;
 }
Beispiel #11
0
 private void Awake()
 {
     CParticleManager._inst = this;
     this._ParticuleAsset   = Resources.Load <GameObject>("Explosion");
     this._ParticleList     = new List <CParticuleSystem>();
 }