package net.fourbytes.shadow; import com.badlogic.gdx.Gdx; import net.fourbytes.shadow.map.Converter; import net.fourbytes.shadow.mod.ModManager; import net.fourbytes.shadow.network.KryoNetClient; import net.fourbytes.shadow.network.KryoNetServer; /** * The initial loading level, also known as the first loading screen. */ public class InitLoadingLevel extends LoadingLevel { public InitLoadingLevel() { super(); steps = new Runnable[] { new Runnable() { public void run() { //Resize window Shadow.resize(); } }, new Runnable() { public void run() { //Load fonts Fonts.load(); } }, new Runnable() { public void run() { //Load textures Images.loadImages(); } }, new Runnable() { public void run() { //Load sounds Sounds.loadSounds(); } }, new Runnable() { public void run() { //Set up networking if (!Converter.convertOnly) { //TODO Set up streams Shadow.client = new KryoNetClient(); Shadow.server = new KryoNetServer(); } } }, new Runnable() { public void run() { //Load mods (with textures) on GL thread if (Thread.currentThread() != Shadow.thread) { Gdx.app.postRunnable(this); return; } ModManager.loader.init(null); ModManager.create(); } }, new Runnable() { public void run() { //Jump into first level (IntroLevel) //Shadow.level = new TitleLevel(); Shadow.level = new IntroLevel(); } } }; } }