it.alcacoop.fourinaline.layers.BaseScreen.java Source code

Java tutorial

Introduction

Here is the source code for it.alcacoop.fourinaline.layers.BaseScreen.java

Source

/**
 ##################################################################
 #                     FOUR IN A LINE MOBILE                      #
 ##################################################################
 #                                                                #
 #  Authors: Domenico Martella - Francesco Valente                #
 #  E-mail: info@alcacoop.it                                      #
 #  Date:   18/10/2013                                            #
 #                                                                #
 ##################################################################
 #                                                                #
 #  Copyright (C) 2013   Alca Societa' Cooperativa                #
 #                                                                #
 #  This file is part of FOUR IN A LINE MOBILE.                   #
 #  FOUR IN A LINE MOBILE is free software: you can redistribute  # 
 #  it and/or modify it under the terms of the GNU General        #
 #  Public License as published by the Free Software Foundation,  #
 #  either version 3 of the License, or (at your option)          #
 #  any later version.                                            #
 #                                                                #
 #  FOUR IN A LINE MOBILE is distributed in the hope that it      #
 #  will be useful, but WITHOUT ANY WARRANTY; without even the    #
 #  implied warranty of MERCHANTABILITY or FITNESS FOR A          #
 #  PARTICULAR PURPOSE.  See the GNU General Public License       #
 #  for more details.                                             #
 #                                                                #
 #  You should have received a copy of the GNU General            #
 #  Public License v3 along with this program.                    #
 #  If not, see <http://http://www.gnu.org/licenses/>             #
 #                                                                #
 ##################################################################
 **/

package it.alcacoop.fourinaline.layers;

import it.alcacoop.fourinaline.FourInALine;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.graphics.g2d.NinePatch;
import com.badlogic.gdx.graphics.g2d.TextureAtlas.AtlasRegion;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.scenes.scene2d.ui.Image;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;

public class BaseScreen implements Screen {

    protected Stage stage;
    protected Image bgImg;
    public float animationTime = 0.2f;
    private Image alca, top;
    private TextButton alcaBtn;

    public BaseScreen() {
        // STAGE DIM = SCREEN RES
        stage = new Stage(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), false);
        // VIEWPORT DIM = VIRTUAL RES (ON SELECTED TEXTURE BASIS)
        stage.setViewport(FourInALine.Instance.resolution[0], FourInALine.Instance.resolution[1], false);

        TextureRegion bgRegion = FourInALine.Instance.atlas.findRegion("bg");
        bgImg = new Image(bgRegion);
        bgImg.setWidth(stage.getWidth());
        bgImg.setHeight(stage.getHeight());
        bgImg.setPosition(0, 0);

        NinePatch patch = null;
        TextureRegion r = FourInALine.Instance.atlas.findRegion("alca");
        int[] splits = ((AtlasRegion) r).splits;
        patch = new NinePatch(r, splits[0], splits[1], splits[2], splits[3]);

        alca = new Image(patch);
        alca.setWidth(stage.getWidth());
        alca.setPosition(0, 0);

        NinePatch patch2 = null;
        TextureRegion r2 = FourInALine.Instance.atlas.findRegion("topborder");
        splits = ((AtlasRegion) r2).splits;
        patch2 = new NinePatch(r2, splits[0], splits[1], splits[2], splits[3]);

        top = new Image(patch2);
        top.setWidth(stage.getWidth());
        top.setPosition(0, stage.getHeight() - top.getHeight());

        alcaBtn = new TextButton("", FourInALine.Instance.skin);
        alcaBtn.setWidth(alca.getHeight());
        alcaBtn.setHeight(alca.getHeight());
        alcaBtn.setX(stage.getWidth() - alcaBtn.getHeight());
        alcaBtn.setColor(0, 0, 0, 0);
        alcaBtn.addListener(new ClickListener() {
            @Override
            public void clicked(InputEvent event, float x, float y) {
                FourInALine.Instance.nativeFunctions.openURL("market://search?q=pub:Alca Soc. Coop.");
            }
        });

        stage.addActor(bgImg);
        stage.addActor(alca);
        stage.addActor(top);
        stage.addActor(alcaBtn);
    }

    @Override
    public void resize(int width, int height) {
        bgImg.setWidth(stage.getWidth());
        bgImg.setHeight(stage.getHeight());
    }

    @Override
    public void show() {
        alca.setColor(1, 1, 1, 1);
        top.setColor(1, 1, 1, 1);
        stage.addActor(alcaBtn);
        if (!FourInALine.Instance.snd.isBGPlaying())
            FourInALine.Instance.snd.playBGMusic();
    }

    public void initialize() {
    }

    public Stage getStage() {
        return stage;
    }

    public void fadeOut() {
    }

    @Override
    public void render(float delta) {
    }

    @Override
    public void hide() {
    }

    @Override
    public void pause() {
    }

    @Override
    public void resume() {
    }

    @Override
    public void dispose() {
    }
}