Пример #1
0
    override public void init()
    {
        base.init();

        mBackground = new CSprite();
        mBackground.setImage(Resources.Load <Sprite> ("Sprites/ui/menu/fondo"));
        mBackground.setXY(0, 0);
        mBackground.setSortingLayerName("Background");
        mBackground.setName("background");



        mButtonPlay = new CButtonSprite("Play");
        mButtonPlay.setFrames(Resources.LoadAll <Sprite>("Sprites/ui/menu/button"));
        mButtonPlay.setName("PlayImage");
        mButtonPlay.setXY(CGameConstants.SCREEN_WIDTH / 2 + 700, CGameConstants.SCREEN_HEIGHT / 2 - 150);
        mButtonPlay.setScale(500);



        exitButton = new CButtonSprite("Exit");
        exitButton.setFrames(Resources.LoadAll <Sprite>("Sprites/ui/menu/button"));
        exitButton.setName("ExitImage");
        exitButton.setXY(mButtonPlay.getX(), CGameConstants.SCREEN_HEIGHT / 3 * 2 - 10);



        logo = new CText(" ");
        logo.setXY(CGameConstants.SCREEN_WIDTH / 2, CGameConstants.SCREEN_HEIGHT / 4 * 1);
        logo.setFontSize(1000f);
        logo.setPivot(0.5f, 0.5f);
        logo.setWidth(CGameConstants.SCREEN_WIDTH);
        logo.setAlignment(TMPro.TextAlignmentOptions.Center);
    }
Пример #2
0
    override public void render()
    {
        base.render();

        // MOSTRAR TODA EL AREA DEL DIBUJO.

        /*mRect.setXY (getX(), getY());
         *      mRect.setScaleX(WIDTH);
         *      mRect.setScaleY(HEIGHT);
         *      mRect.update ();
         *
         *      mRect.render ();*/

        // Bounding box.
        mRect2.setXY(getX() + X_OFFSET_BOUNDING_BOX, getY() + Y_OFFSET_BOUNDING_BOX);
        mRect2.setScaleX(WIDTH - (X_OFFSET_BOUNDING_BOX * 2));
        mRect2.setScaleY(HEIGHT - Y_OFFSET_BOUNDING_BOX);
        mRect2.update();

        mRect2.render();

        /*if (box != null)
         * {
         *  box.render();
         * }*/
        mHitBoxManager.render();
    }
Пример #3
0
    public static void init()
    {
        if (mInitialized)
        {
            return;
        }
        mInitialized = true;

        dialogs = new List <Dialog>();

        shadow = new CSprite();
        //Esta tambien el shadow solo que llena toda la pantalla
        shadow.setImage(Resources.Load <Sprite>("Sprites/dialogShadow/shadow"));
        shadow.setName("Dialog - Background");
        shadow.setSortingLayerName("UI");
        shadow.setXY(0, CGameConstants.SCREEN_HEIGHT / 3 * 2);
        shadow.setWidth(CGameConstants.SCREEN_WIDTH);
        shadow.setVisible(false);

        characterPortrait = new CSprite();
        characterPortrait.setName("Character - Portrait");
        characterPortrait.setSortingLayerName("UI");
        characterPortrait.setXY(shadow.getX() + MARGIN, shadow.getY() + MARGIN);
        characterPortrait.setVisible(false);
        characterPortrait.setSortingOrder(1);

        text = new CText("");
        text.setFontSize(500.0f);
        text.setVisible(false);
        text.setXY(CGameConstants.SCREEN_WIDTH / 4 + MARGIN, shadow.getY() + MARGIN);
        text.setWidth(CGameConstants.SCREEN_WIDTH / 4 * 3 - MARGIN * 2);
    }
Пример #4
0
    override public void update()
    {
        base.update();


        //Si el perosnaje se esta quemando
        if (burning)
        {
            //Seteo el poder en el medio del personaje
            shield.setXY(player.getX() + player.getWidth() / 2 - WIDTH / 2, player.getY() - (HEIGHT - player.getHeight()));
            if (currentTime < BURNING_TIME)
            {
                currentTime++;
            }
            else
            {
                //Si el tiempo se pone en 0 se pone no visiblee el cuadradodo

                shield.setVisible(false);
                burning     = false;
                currentTime = 0;
            }
        }


        shield.update();
    }
Пример #5
0
    override public void update()
    {
        base.update();

        if (getState() == STATE_STAND || getState() == STATE_WALKING)
        {
            //Obtener los dos tiles (en vertical) que están adelante mío
            List <CTile> frontTiles = new List <CTile>();
            CAndy        player     = CGame.inst().getPlayer();
            int          yFrom      = (int)(getY() + getHeight() - verticalDetectRange * CTileMap.Instance.getTileHeight());
            int          xFrom      = 0;

            if (getFlip())
            {
                xFrom = (int)((getX() - getRightOffsetBoundingBox() + getWidth()));
            }
            else
            {
                xFrom = (int)(getX() + getLeftOffsetBoundingBox() - CTileMap.Instance.getTileWidth() * horizontalDetectRange);
            }

            attackRange.setXY(xFrom, yFrom);
            attackRange.setWidth(horizontalDetectRange * CTileMap.Instance.getTileWidth());
            attackRange.setHeight(verticalDetectRange * CTileMap.Instance.getTileHeight());
            attackRange.setScaleX(horizontalDetectRange * CTileMap.Instance.getTileWidth());
            attackRange.setScaleY(verticalDetectRange * CTileMap.Instance.getTileHeight());

            if (attackRange.collidesRect(player))
            {
                setState(STATE_ATTACKING);
                return;
            }
        }
    }
Пример #6
0
    override public void render()
    {
        base.render();

        // MOSTRAR TODA EL AREA DEL DIBUJO.
        if (this.debug)
        {
            mRect.setXY(getX(), getY());
            mRect.setScaleX(this.getWidth());
            mRect.setScaleY(this.getHeight());
            mRect.update();

            mRect.render();

            // Bounding box.
            mRect2.setXY(getX() + this.getLeftOffsetBoundingBox(), getY() + this.getTopOffsetBoundingBox());
            mRect2.setScaleX(this.getWidth() - this.getRightOffsetBoundingBox() - this.getLeftOffsetBoundingBox());
            mRect2.setScaleY(this.getHeight() - this.getBottomOffsetBoundingBox() - this.getTopOffsetBoundingBox());
            mRect2.update();

            mRect2.render();
        }

        attackRange.render();
    }
    public CKaijuSelectionState()
    {
        SoundList.instance.playSelection();
        CGame.inst().setImage("Sprites/Menu-Sin-Logo");
        CGame.inst().getBakcground().setX(0);
        CGame.inst().getBakcground().setY(0);

        dinoBtn = new KaijuSelectButton();
        dinoBtn.setImage(Resources.Load <Sprite>("Sprites/KaijuSelection/dinoBtn"));
        dinoBtn.setPosition(-dinoBtn.getWidth(), 0, 0, 0);
        dinoBtn.setSortingLayer("Icons");

        kongBtn = new KaijuSelectButton();
        kongBtn.setImage(Resources.Load <Sprite>("Sprites/KaijuSelection/kongBtn"));
        kongBtn.setPosition(kongBtn.getWidth(), dinoBtn.getHeight(), 0, dinoBtn.getHeight());
        kongBtn.setSortingLayer("Icons");

        krakenBtn = new KaijuSelectButton();
        krakenBtn.setImage(Resources.Load <Sprite>("Sprites/KaijuSelection/krakenbtn"));
        krakenBtn.setPosition(-krakenBtn.getWidth(), kongBtn.getY() + kongBtn.getHeight(), 0, kongBtn.getY() + kongBtn.getHeight());
        krakenBtn.setSortingLayer("Icons");

        backBtn = new CSprite();
        backBtn.setImage(Resources.Load <Sprite>("Sprites/Buttons/back_button"));
        backBtn.setXY(650, 1220);
        backBtn.setSortingLayer("TextUI");
    }
Пример #8
0
    public SkillBar(int aType)
    {
        currentState = STATE_NORMAL;
        scale        = 0;
        scaleCounter = 0;
        button01     = new CSprite();
        button01.setImage(Resources.Load <Sprite>("Sprites/SkillBar/Button-Skill1-Unable"));
        button01.setSortingLayer("TextUI");
        button01.setXY(40, 410);

        button02    = new CSprite();
        button2Type = aType;
        button02.setImage(Resources.Load <Sprite>("Sprites/SkillBar/Button-Skill2-Unable0" + button2Type.ToString()));
        button02.setSortingLayer("TextUI");
        button02.setXY(40, 510);

        barFill = new CSprite();
        barFill.setImage(Resources.Load <Sprite>("Sprites/SkillBar/Energy_BarFull2"));
        barFill.setX(40);
        barFill.setY(300);
        barFill.setScaleY(scale);


        emptyBar = new CSprite();
        emptyBar.setImage(Resources.Load <Sprite>("Sprites/SkillBar/Energy_Bar2"));
        emptyBar.setX(40);
        emptyBar.setY(300);
    }
Пример #9
0
    override public void render()
    {
        base.render();

        if (this.debug)
        {
            // MOSTRAR TODA EL AREA DEL DIBUJO.
            mRect.setXY(getX(), getY());
            mRect.setScaleX(WIDTH);
            mRect.setScaleY(HEIGHT);
            mRect.update();

            mRect.render();

            // Bounding box.
            mRect2.setXY(getX() + this.getLeftOffsetBoundingBox(), getY() + this.getTopOffsetBoundingBox());
            mRect2.setScaleX(WIDTH - this.getRightOffsetBoundingBox() - this.getLeftOffsetBoundingBox());
            mRect2.setScaleY(HEIGHT - this.getBottomOffsetBoundingBox() - this.getTopOffsetBoundingBox());
            mRect2.update();

            mRect2.render();
        }

        textoPoderes.render();

        for (int i = 0; i < this.powers.Count; i++)
        {
            this.powers[i].render();
        }
    }
Пример #10
0
    public CSurvivalState(CInfo stageInfo)
    {
        CGame.inst().setImage("Sprites/level_Background00");
        CurrentStageData.clearData();
        SoundList.instance.playLevelMusic();
        tryAgainInfo = stageInfo;
        switch (stageInfo.Kaiju)
        {
        case 1:
            monster = new Dinosaur(stageInfo.startStage, stageInfo.firstStage, stageInfo.secondStage);
            break;

        case 2:
            monster = new Kong(stageInfo.startStage, stageInfo.firstStage, stageInfo.secondStage);
            break;

        case 3:
            monster = new Kraken(stageInfo.startStage, stageInfo.firstStage, stageInfo.secondStage);
            break;
        }
        current_state = STATE_PLAYING;
        CurrentStageData.difficulty = 0;
        mBoard = new Board(1);

        building = new Enemy(0);


        timeLeft = new CText("Time: ", CText.alignment.TOP_CENTER);
        timeLeft.setX(0);
        timeLeft.setY(0);
        timeLeft.setColor(Color.black);

        scoreText = new CText("SCORE :", CText.alignment.TOP_CENTER);
        scoreText.setX(400);
        scoreText.setY(0);
        scoreText.setColor(Color.black);
        btnNextScreen = new CSprite();
        btnNextScreen.setSortingLayer("TextUI");

        mBoard.targetScore = stageInfo.TargetScore; // MOVE TO CLASS
        float scoreCoefficient = (float)70 / (float)mBoard.targetScore;

        skills = new SkillBar(stageInfo.Kaiju);
        mTimer = new Timer();
        CurrentStageData.assignData(monster, mBoard, scoreCoefficient, skills);
        CurrentStageData.assignTimer(mTimer);
        screenDim = new CSprite();
        screenDim.setSortingLayer("ScreenShade");
        screenDim.setName("Sombra");
        backMenuBttn = new CSprite();
        backMenuBttn.setSortingLayer("TextUI");
        tryAgainBttn = new CSprite();
        tryAgainBttn.setSortingLayer("TextUI");
        optionsBttn = new CSprite();
        optionsBttn.setImage(Resources.Load <Sprite>("Sprites/Buttons/Pause_Button"));
        optionsBttn.setXY(680, 40);
        optionsBttn.setSortingLayer("TextUI");
    }
Пример #11
0
    override public void render()
    {
        base.render();

        mRect.setXY(getX(), getY());
        mRect.setScaleX(getWidth());
        mRect.setScaleY(getHeight());
        mRect.setRotation(getRotation());


        mRect.render();
    }
Пример #12
0
    public CLevelState(int stageNumber)
    {
        SoundList.instance.playLevelMusic();
        CInfo stageInfo = LevelsInfo.getLevel(stageNumber);

        CGame.inst().setImage("Sprites/level_Background0" + stageInfo.building.ToString());
        CurrentStageData.currentStage = stageNumber;
        switch (stageInfo.Kaiju)
        {
        case 1:
            monster = new Dinosaur(stageInfo.startStage, stageInfo.firstStage, stageInfo.secondStage);
            break;

        case 2:
            monster = new Kong(stageInfo.startStage, stageInfo.firstStage, stageInfo.secondStage);
            break;

        case 3:
            monster = new Kraken(stageInfo.startStage, stageInfo.firstStage, stageInfo.secondStage);
            break;
        }
        current_state = STATE_PLAYING;
        CurrentStageData.difficulty = stageInfo.dif;
        mBoard = new Board(0);
        //monster = new Kong(1, 53, 76);
        building = new Enemy(stageInfo.building);
        mText    = new CText("TEST", CText.alignment.TOP_CENTER);
        mText.setX(0);
        mText.setY(0);
        mText.setColor(Color.black);



        mBoard.movementsLeft = stageInfo.movements;   // MOVE TO CLASS
        mBoard.targetScore   = stageInfo.TargetScore; // MOVE TO CLASS
        float scoreCoefficient = (float)70 / (float)mBoard.targetScore;

        skills = new SkillBar(stageInfo.Kaiju);
        CurrentStageData.assignData(monster, mBoard, scoreCoefficient, skills);
        screenDim = new CSprite();
        screenDim.setSortingLayer("ScreenShade");
        screenDim.setName("Sombra");
        backMenuBttn = new CSprite();
        backMenuBttn.setSortingLayer("TextUI");
        tryAgainBttn = new CSprite();
        tryAgainBttn.setSortingLayer("TextUI");
        btnNextScreen = new CSprite();
        btnNextScreen.setSortingLayer("TextUI");
        optionsBttn = new CSprite();
        optionsBttn.setImage(Resources.Load <Sprite>("Sprites/Buttons/Pause_Button"));
        optionsBttn.setXY(680, 40);
        optionsBttn.setSortingLayer("TextUI");
    }
Пример #13
0
    override public void update()
    {
        base.update();

        if (getState() == STATE_STAND)
        {
            if (CKeyboard.pressed(CKeyboard.LEFT) && !isLeft(getX() - 1, getY()))
            {
                setState(STATE_WALKING);
                return;
            }
            if (CKeyboard.pressed(CKeyboard.RIGHT) && !isRight(getX() + 1, getY()))
            {
                setState(STATE_WALKING);
                return;
            }
            if (CKeyboard.pressed(CKeyboard.UP) && !isNorth(getX(), getY() - 1))
            {
                setState(STATE_WALKING);
                return;
            }
            if (CKeyboard.pressed(CKeyboard.DOWN) && !isSouth(getX(), getY() + 1))
            {
                setState(STATE_WALKING);
                return;
            }
        }
        else if (getState() == STATE_WALKING)
        {
            if (!(CKeyboard.pressed(CKeyboard.LEFT) || CKeyboard.pressed(CKeyboard.RIGHT) || CKeyboard.pressed(CKeyboard.UP) || CKeyboard.pressed(CKeyboard.DOWN)))
            {
                setState(STATE_STAND);
                return;
            }
            moveHorizontal();
            moveVertical();
        }
        // MOSTRAR TODA EL AREA DEL DIBUJO.
        mRect.setXY(getX(), getY());
        mRect.setScaleX(WIDTH);
        mRect.setScaleY(HEIGHT);
        mRect.update();
    }
Пример #14
0
    override public void init()
    {
        base.init();

        mBackground = new CSprite();
        mBackground.setImage(Resources.Load <Sprite> ("Sprites/menu/menu_background"));
        mBackground.setXY(0, 0);
        mBackground.setSortingLayerName("Background");
        mBackground.setName("background");

        mButtonPlay = new CButtonSprite();
        mButtonPlay.setFrames(Resources.LoadAll <Sprite> ("Sprites/ui"));
        mButtonPlay.gotoAndStop(1);
        mButtonPlay.setXY(CGameConstants.SCREEN_WIDTH / 2, CGameConstants.SCREEN_HEIGHT / 2);
        mButtonPlay.setWidth(190);
        mButtonPlay.setHeight(50);
        mButtonPlay.setSortingLayerName("UI");
        mBackground.setName("button");
    }
Пример #15
0
    override public void render()
    {
        base.render();

        // MOSTRAR TODA EL AREA DEL DIBUJO.
        mRect.setXY(getX(), getY());
        mRect.setScaleX(WIDTH);
        mRect.setScaleY(HEIGHT);
        mRect.update();

        mRect.render();

        // Bounding box.
        mRect2.setXY(getX() + X_OFFSET_BOUNDING_BOX, getY() + Y_OFFSET_BOUNDING_BOX);
        mRect2.setScaleX(WIDTH - (X_OFFSET_BOUNDING_BOX * 2));
        mRect2.setScaleY(HEIGHT - Y_OFFSET_BOUNDING_BOX);
        mRect2.update();

        mRect2.render();
    }
Пример #16
0
    public CMenuState()
    {
        CGame.inst().setImage("Sprites/Menu");
        CGame.inst().getBakcground().setX(0);
        CGame.inst().getBakcground().setY(0);

        storyBtn = new CSprite();
        storyBtn.setImage(Resources.Load <Sprite>("Sprites/Buttons/Button_Story_Mode"));
        storyBtn.setXY(200, 732);
        storyBtn.setSortingLayer("Icons");
        endlessBtn = new CSprite();
        endlessBtn.setImage(Resources.Load <Sprite>("Sprites/Buttons/Button_Endless"));
        endlessBtn.setXY(200, 878);
        endlessBtn.setSortingLayer("Icons");
        exit = new CSprite();
        exit.setImage(Resources.Load <Sprite>("Sprites/Buttons/Button_Exit"));
        exit.setXY(200, 1020);
        exit.setSortingLayer("Icons");

        creditsBtn = new CSprite();
        creditsBtn.setImage(Resources.Load <Sprite>("Sprites/Buttons/Credits_button"));
        creditsBtn.setXY(650, 1220);
        creditsBtn.setSortingLayer("Icons");
    }
Пример #17
0
    override public void update()
    {
        base.update();
        //CSpriteManager.update();
        CMouse.update();
        if (current_state == STATE_PAUSE)
        {
            if (nextScreenClick())
            {
                screenDim.setImage(null);
                backMenuBttn.setImage(null);
                btnNextScreen.setImage(null);
                current_state = STATE_PLAYING;
            }
            if (backToMenuClick())
            {
                SoundList.instance.stopMusic();
                SoundList.instance.playMenuMusic();
                CGame.inst().setState(new CMenuState());
                return;
            }


            return;
        }
        mBoard.update();
        monster.update();
        building.update();
        screenDim.update();
        mTimer.update();
        optionsBttn.update();
        skills.update();
        backMenuBttn.update();
        tryAgainBttn.update();
        btnNextScreen.update();
        timeLeft.setText("TIME: " + (int)(CurrentStageData.currentTimer.getTimeLeft()));
        timeLeft.update();
        scoreText.setText("SCORE: " + (CurrentStageData.score * 10));
        scoreText.update();
        switch (current_state)
        {
        case STATE_PLAYING:
            if (optionsClick())
            {
                current_state = STATE_PAUSE;
                backMenuBttn.setImage(Resources.Load <Sprite>("Sprites/BackMenuButton"));
                backMenuBttn.setXY(CGameConstants.SCREEN_WIDTH / 2, CGameConstants.SCREEN_HEIGHT / 2);
                screenDim.setImage(Resources.Load <Sprite>("Sprites/screenShade"));
                screenDim.setX(0);
                screenDim.setY(0);
                btnNextScreen.setImage(Resources.Load <Sprite>("Sprites/Buttons/Button_Continue"));
                btnNextScreen.setXY(CGameConstants.SCREEN_WIDTH / 2, CGameConstants.SCREEN_HEIGHT / 2 + 150);
                return;
            }
            if (mBoard.current_state == 0)
            {
                if (CurrentStageData.currentKaiju.scale >= 100)
                {
                    current_state = STATE_WIN;
                    SoundList.instance.stopMusic();
                    monster.setState(4);
                    building.setState(1);
                }
                else
                {
                    screenDim.setImage(Resources.Load <Sprite>("Sprites/screenShade"));
                    screenDim.setX(0);
                    screenDim.setY(0);

                    current_state = STATE_LOSE;

                    backMenuBttn.setImage(Resources.Load <Sprite>("Sprites/BackMenuButton"));
                    backMenuBttn.setXY(CGameConstants.SCREEN_WIDTH / 2, CGameConstants.SCREEN_HEIGHT / 2);
                    tryAgainBttn.setImage(Resources.Load <Sprite>("Sprites/tryAgainButton"));
                    tryAgainBttn.setXY(CGameConstants.SCREEN_WIDTH / 2, CGameConstants.SCREEN_HEIGHT / 2 + 100);
                    monster.setState(2);
                }
            }
            break;

        case STATE_WIN:
            CGameConstants.HIGH_SCORE = CurrentStageData.score;
            //System.IO.File.WriteAllText("score.txt", CurrentStageData.score.ToString());
            tryAgainInfo.TargetScore = CurrentStageData.score;
            if (!building.building.isEnded())
            {
                CurrentStageData.cameraShake();
            }
            else
            {
                screenDim.setImage(Resources.Load <Sprite>("Sprites/screenShade"));
                screenDim.setX(0);
                screenDim.setY(0);
                backMenuBttn.setImage(Resources.Load <Sprite>("Sprites/BackMenuButton"));
                backMenuBttn.setXY(CGameConstants.SCREEN_WIDTH / 2, CGameConstants.SCREEN_HEIGHT / 2);
                tryAgainBttn.setImage(Resources.Load <Sprite>("Sprites/tryAgainButton"));
                tryAgainBttn.setXY(CGameConstants.SCREEN_WIDTH / 2, CGameConstants.SCREEN_HEIGHT / 2 + 100);

                if (backToMenuClick())
                {
                    CurrentStageData.clearData();
                    SoundList.instance.stopMusic();
                    SoundList.instance.playMenuMusic();
                    CGame.inst().setState(new CMenuState());
                    return;
                }
                if (tryAgainClick())
                {
                    CurrentStageData.clearData();
                    CGame.inst().setState(new CSurvivalState(tryAgainInfo));
                    return;
                }


                if (Camera.main.transform.position.x > 360)
                {
                    Camera.main.transform.Translate(new Vector3(-15, 0, 0));
                }
                if (Camera.main.transform.position.x < 360)
                {
                    Camera.main.transform.Translate(new Vector3(15, 0, 0));
                }
            }
            break;

        case STATE_LOSE:
            if (backToMenuClick())
            {
                CurrentStageData.clearData();
                SoundList.instance.stopMusic();
                SoundList.instance.playMenuMusic();
                CGame.inst().setState(new CMenuState());
                return;
            }
            if (tryAgainClick())
            {
                CurrentStageData.clearData();
                CGame.inst().setState(new CSurvivalState(tryAgainInfo));
                return;
            }
            break;
        }
    }
Пример #18
0
    override public void update()
    {
        base.update();
        //CSpriteManager.update();
        CMouse.update();
        if (current_state == STATE_PAUSE)
        {
            if (nextScreenClick())
            {
                screenDim.setImage(null);
                backMenuBttn.setImage(null);
                btnNextScreen.setImage(null);
                current_state = STATE_PLAYING;
            }
            if (backToMenuClick())
            {
                SoundList.instance.stopMusic();
                SoundList.instance.playMenuMusic();
                CGame.inst().setState(new CMenuState());
                return;
            }


            return;
        }
        mBoard.update();
        monster.update();
        building.update();
        screenDim.update();
        mText.setText("Moves: " + mBoard.getMovementsLeft().ToString());
        mText.update();
        btnNextScreen.update();
        optionsBttn.update();
        skills.update();
        backMenuBttn.update();
        tryAgainBttn.update();
        switch (current_state)
        {
        case STATE_PLAYING:
            if (optionsClick())
            {
                current_state = STATE_PAUSE;
                backMenuBttn.setImage(Resources.Load <Sprite>("Sprites/BackMenuButton"));
                backMenuBttn.setXY(CGameConstants.SCREEN_WIDTH / 2, CGameConstants.SCREEN_HEIGHT / 2);
                screenDim.setImage(Resources.Load <Sprite>("Sprites/screenShade"));
                screenDim.setX(0);
                screenDim.setY(0);
                btnNextScreen.setImage(Resources.Load <Sprite>("Sprites/Buttons/Button_Continue"));
                btnNextScreen.setXY(CGameConstants.SCREEN_WIDTH / 2, CGameConstants.SCREEN_HEIGHT / 2 + 150);
                return;
            }
            if (mBoard.current_state == 0)
            {
                if (CurrentStageData.currentKaiju.scale >= 100)
                {
                    current_state = STATE_WIN;
                    SoundList.instance.stopMusic();

                    monster.setState(4);
                    building.setState(1);
                }
                else
                {
                    screenDim.setImage(Resources.Load <Sprite>("Sprites/screenShade"));
                    screenDim.setX(0);
                    screenDim.setY(0);
                    //nextScreen.setVisible(true);
                    current_state = STATE_LOSE;
                    backMenuBttn.setImage(Resources.Load <Sprite>("Sprites/BackMenuButton"));
                    backMenuBttn.setXY(CGameConstants.SCREEN_WIDTH / 2, CGameConstants.SCREEN_HEIGHT / 2);
                    tryAgainBttn.setImage(Resources.Load <Sprite>("Sprites/tryAgainButton"));
                    tryAgainBttn.setXY(CGameConstants.SCREEN_WIDTH / 2, CGameConstants.SCREEN_HEIGHT / 2 + 150);
                    monster.setState(2);
                }
            }
            break;

        case STATE_WIN:
            if (!building.building.isEnded())
            {
                CurrentStageData.cameraShake();
            }
            else
            {
                screenDim.setImage(Resources.Load <Sprite>("Sprites/screenShade"));
                screenDim.setX(0);
                screenDim.setY(0);
                btnNextScreen.setImage(Resources.Load <Sprite>("Sprites/Buttons/Button_Continue"));
                btnNextScreen.setXY(CGameConstants.SCREEN_WIDTH / 2, CGameConstants.SCREEN_HEIGHT / 2);

                if (nextScreenClick())
                {
                    CurrentStageData.clearData();
                    if (CurrentStageData.currentStage >= LevelsInfo.getLevelsAmount())
                    {
                        SoundList.instance.stopMusic();
                        SoundList.instance.playMenuMusic();
                        CGame.inst().setState(new CMenuState());
                    }
                    else
                    {
                        CGame.inst().setState(new CLevelState(CurrentStageData.currentStage + 1));
                    }
                }

                if (Camera.main.transform.position.x > 360)
                {
                    Camera.main.transform.Translate(new Vector3(-15, 0, 0));
                }
                if (Camera.main.transform.position.x < 360)
                {
                    Camera.main.transform.Translate(new Vector3(15, 0, 0));
                }
            }
            break;

        case STATE_LOSE:
            if (backToMenuClick())
            {
                backMenuBttn.setImage(Resources.Load <Sprite>("Sprites/BackMenuButton_P"));
                current_state = GO_BACKMENU;
                return;
            }
            if (tryAgainClick())
            {
                tryAgainBttn.setImage(Resources.Load <Sprite>("Sprites/tryAgainButton_P"));
                current_state = GO_TRYAGAIN;
                return;
            }
            break;

        case GO_BACKMENU:
            CurrentStageData.clearData();
            SoundList.instance.stopMusic();
            SoundList.instance.playMenuMusic();
            CGame.inst().setState(new CMenuState());
            return;

        case GO_TRYAGAIN:
            CurrentStageData.clearData();
            CGame.inst().setState(new CLevelState(CurrentStageData.currentStage));
            return;
        }
    }