package com.indyforge.twod.engine.graphics.rendering.scenegraph.timeout; import com.indyforge.twod.engine.graphics.rendering.scenegraph.Entity; import com.indyforge.twod.engine.graphics.rendering.scenegraph.timeout.Timeout.TimeoutEvent; /** * Simply detaches the parent of the timeout entity when the timeout is reached. * * @author Christopher Probst * */ public class DetachOnTimeout extends Entity { /** * */ private static final long serialVersionUID = 1L; @Override protected void onEvent(Entity source, Object event, Object... params) { super.onEvent(source, event, params); if (event instanceof TimeoutEvent) { switch ((TimeoutEvent) event) { case Timeout: // Detach the parent Entity entity = ((Entity) source).parent(); if (entity != null) { entity.detach(); } break; } } } }