public int getTickCount() { return mMessageQueue.getTickCount(); }
public void post(Message message) { mMessageQueue.post(message); }
public void postAfterTicks(Message message, int ticks) { mMessageQueue.postAfterTicks(message, ticks); }
mMessageQueue.processMessages();
private void executeTick() { mMessageQueue.tick(); mEntityStore.tick(); for (TickListener listener : mTickListeners) { listener.tick(); } }
public void clear() { mMessageQueue.clear(); mEntityStore.clear(); mRenderer.clear(); mGameLoop.clear(); }
private void initializeEngine(Context context) { mViewport = new Viewport(); mEntityStore = new EntityStore(); mMessageQueue = new MessageQueue(); mGamePersister = new GamePersister(); mFrameRateLogger = new FrameRateLogger(); mRenderer = new Renderer(mViewport, mFrameRateLogger); mGameLoop = new GameLoop(mRenderer, mFrameRateLogger, mMessageQueue, mEntityStore); mThemeManager = new ThemeManager(context, mRenderer); mSoundManager = new SoundManager(context); mSpriteFactory = new SpriteFactory(context, mThemeManager); mSoundFactory = new SoundFactory(context, mSoundManager); mGameEngine = new GameEngine(mSpriteFactory, mThemeManager, mSoundFactory, mEntityStore, mMessageQueue, mRenderer, mGameLoop); mEntityRegistry = new EntityRegistry(mGameEngine); }
private void executeCycle() { mRenderer.lock(); for (int i = 0; i < mGameTicksPerLoop; i++) { executeTick(); mMessageQueue.processMessages(); } mRenderer.unlock(); mFrameRateLogger.incrementLoopCount(); mFrameRateLogger.outputFrameRate(); }
public synchronized void post(Message message) { postAfterTicks(message, 0); }
public void postDelayed(Message message, float delay) { mMessageQueue.postAfterTicks(message, Math.round(delay * TARGET_FRAME_RATE)); }