Package com.aqpproject.worldmodel.game.entity

Source Code of com.aqpproject.worldmodel.game.entity.WERaceEnd

/*
* AQP Project
* http://http://code.google.com/p/aqp-project/
* Alexandre Gomez - Clément Troesch - Fabrice Latterner
*/
package com.aqpproject.worldmodel.game.entity;

import com.aqpproject.game.Singleton;
import com.aqpproject.tools.Vector2D;
import java.util.ArrayList;
import java.util.HashMap;

/**
*
* @author Clément
*/
public class WERaceEnd extends WorldEntity {

    public WERaceEnd(int nbPlayers) {
        super("RaceEnd", "RaceEnd", new Vector2D(), 0, 1, true, true);
        Singleton.getVisualisation().getActor("RaceEnd").setAlpha(0);
        m_playersList = new ArrayList<String>();
        m_timeList = new ArrayList<Long>();
        m_txtList = new HashMap<String, WEAlphaTextButton>();
        m_activated = false;
        Vector2D size = Singleton.getVisualisation().getSpriteSize(m_spriteName);
        Vector2D screen = Singleton.getVisualisation().getResolution();
        m_position.x = 0;


        m_position.y = screen.y / 2 - size.y / 2;
        m_position.x = screen.x / 2 - size.x / 2;
        Singleton.getVisualisation().updateActor("RaceEnd", m_position.x, m_position.y, 0);
        m_nbPlayers = nbPlayers;

        for (int i = 1; i <= m_nbPlayers; i++) {
            m_txtList.put("position" + i, new WEAlphaTextButton("position" + i, m_position.x + 32, m_position.y + size.y - 32 * i, "", "ar30whi"));
            m_txtList.put("playerName" + i, new WEAlphaTextButton("playerName" + i, m_position.x + 64, m_position.y + size.y - 32 * i, "", "ar30whi"));
            m_txtList.put("playerTime" + i, new WEAlphaTextButton("playerTime" + i, m_position.x + 264, m_position.y + size.y - 32 * i, "", "ar30whi"));
        }

        m_txtList.put("quitRace", new WEAlphaTextButton("quitRace", m_position.x + 120, m_position.y + 32, "", "ar30whi"));


    }

    @Override
    public void destroy() {
        for (WEAlphaTextButton tb : m_txtList.values()) {
            tb.destroy();
        }
        super.destroy();
    }

    public void addPosition(String playerName, long time) {
        m_playersList.add(playerName);
        m_timeList.add(time);
    }

    public void update() {

        if (m_activated) {
            Singleton.getVisualisation().getActor("RaceEnd").setAlpha(1);
            m_txtList.get("quitRace").updateText("Press enter to quit");
        } else {
            Singleton.getVisualisation().getActor("RaceEnd").setAlpha(0);
            m_txtList.get("quitRace").updateText("");
        }
        for (int i = 1; i <= Math.min(m_playersList.size(), m_nbPlayers); i++) {
            m_txtList.get("position" + i).updateText(String.valueOf(i));
            m_txtList.get("playerName" + i).updateText(m_playersList.get(i - 1));
            int mn = (int) (m_timeList.get(i - 1) / 60000);
            String minutes = String.valueOf(mn);
            if (mn < 10) {
                minutes = '0' + minutes;
            }
            int sec = (int) (m_timeList.get(i - 1) - 60000 * mn) / 1000;
            String seconds = String.valueOf(sec);
            if (sec < 10) {
                seconds = '0' + seconds;
            }
            m_txtList.get("playerTime" + i).updateText(minutes + ":" + seconds);
        }


    }

    public void setActivated(boolean b) {
        m_activated = b;
    }

    public void setPlayerList(ArrayList<String> pl) {
        m_playersList = pl;
    }

    public void setTimeList(ArrayList<Long> tl) {
        m_timeList = tl;
    }
    private HashMap<String, WEAlphaTextButton> m_txtList;
    private ArrayList<String> m_playersList;
    private ArrayList<Long> m_timeList;
    private int m_nbPlayers;
    private boolean m_activated;
}
TOP

Related Classes of com.aqpproject.worldmodel.game.entity.WERaceEnd

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.