/** * File name: IGameManager.java * Version: 1.0 * Date: @date 13:09:55 * Author: Sawan J. Kapai Harpalani * Copyright: Copyright 200X Sawan J. Kapai Harpalani * * This file is part of Math Attack. * * Math Attack 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. * * Math Attack 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 along with Math Attack. If not, see * http://www.gnu.org/licenses/. */ package com.sawan.mathattack.interfaces; // TODO: Auto-generated Javadoc /** * The Interface IGameManager. */ public interface IGameManager { /** * Set up data that gathered from database (Server/TextFiles/SQLDB/Json/Xml * etc...) * */ public void setUpData(); /** * Set up pre-sub-managers that needs to be constructed before world * creation. */ public void setUpPreManagers(); /** * Set up post-sub-managers that needs to be constructed after world * creation. */ public void setUpPostManagers(); /** * Set up world and layers. */ public void setUpWorld(); /** * Start a level * *. * * @param levelNumber the level number */ public void startLevel(int levelNumber); /** * Use this in GameManager's updater(), check the game state for win, lose, * idle, over etc... * */ public void checkGameCondition(); /** * Use this method in SCREEN's render(). This can be used updating world, * game condition, chracters and many others, it can be also used for MVC * style development * * @param delta the delta */ public void update(float delta); /** * Save game, suggested use in Hide() and Pause() methods of Screen class. */ public void saveGame(); }