/* * Copyright (c) 2012, 2013 Hemanta Sapkota. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Hemanta Sapkota (laex.pearl@gmail.com) */ package com.laex.cg2d.render; import com.badlogic.gdx.physics.box2d.Body; import com.badlogic.gdx.physics.box2d.Fixture; import com.laex.cg2d.model.ScreenModel.CGScreenModel; /** * The Interface IGameScript. */ public interface ScreenControllerScript { /** * Can execute. * * @return true, if successful */ boolean canExecute(); /** * Execute init. * * @param screenModel * the screen model * @param screenMgr * the screen mgr */ void executeInit(CGScreenModel screenModel, ScreenManager screenMgr); /** * Execute init body. * * @param body * the body * @param bodyId * the body id */ void executeInitBody(Body body, String bodyId); /** * Execute update. * * @param body * the body * @param bodyId * the body id */ void executeUpdate(Body body, String bodyId); /** * Execute key pressed. * * @param key * the key */ void executeKeyPressed(String key); /** * Collision callback. * * @param idA * the id a * @param idB * the id b * @param bodyA * the body a * @param bodyB * the body b * @param fixA * the fix a * @param fixB * the fix b */ void collisionCallback(String idA, String idB, Body bodyA, Body bodyB, Fixture fixA, Fixture fixB); }