protected Sound loadSound(String path) { Sound sound = game.assets.getSound(path); sound.state.onFailure(logFailure("Sound loading error: " + path)); return sound; }
protected Sound loadMusic(String path) { Sound sound = game.assets.getMusic(path); sound.state.onFailure(logFailure("Music loading error: " + path)); return sound; }
@Override public void init() { final Image tile = game.assets.getImage("images/tile.png"); final Image orange = game.assets.getImage("images/orange.png"); Slot<Throwable> onError = new Slot<Throwable>() { float errY = 0; public void onEmit (Throwable err) { addDescrip("Error: " + err.getMessage(), 10, errY, game.graphics.viewSize.width()-20); errY += 30; } }; tile.state.onFailure(onError); orange.state.onFailure(onError); RFuture.collect(Arrays.asList(tile.state, orange.state)). onSuccess(imgs -> addTests(orange, tile)); }
protected void loadURL (String url) { displayText("Loading: " + url); try { game.net.req(url).execute().onSuccess(this::displayResult).onFailure(this::displayError); } catch (Exception e) { displayText(e.toString()); } }
result.succeed(new Library(frameRate, movies, textures)); }).onFailure(result.failer());
/** Syncs the supplied database with this session's server. */ public void sync (final SyncDB db) { final Map<String,Integer> mods = db.getMods(); _server.sendSync(db.version(), db.getDelta()).onSuccess(new Slot<Response>() { public void onEmit (Response rsp) { onSyncSuccess(db, mods, rsp); } }).onFailure(new Slot<Throwable>() { public void onEmit (Throwable cause) { onSyncFailure(db, cause); } }); }
@Override public Image getRemoteImage(final String url, int width, int height) { final ImageImpl image = createImage(true, width, height, url); plat.net().req(url).execute(). onSuccess(new Slot<Net.Response>() { public void onEmit (Net.Response rsp) { try { image.succeed(toData(Scale.ONE, new UIImage(new NSData(rsp.payload())))); } catch (Throwable t) { plat.log().warn("Failed to decode remote image [url=" + url + "]", t); image.fail(t); } } }). onFailure(new Slot<Throwable>() { public void onEmit (Throwable cause) { image.fail(cause); } }); return image; }
b.addHeader("playn-test", "we love to test!"); b.execute().onFailure(this::displayError).onSuccess(rsp -> { String[] lines = rsp.payloadString().split("[\r\n]+"); String urlPre = "View it at "; if (lastPostURL == null) displayText("Click 'Post Test' to post some data first."); else game.net.req(lastPostURL).execute(). onFailure(this::displayError). onSuccess(this::displayResult); });
}).onFailure(logFailure("Failed to load orange image"));
@Override public void init() { Image orange = game.assets.getImage("images/orange.png"); ImageLayer l1 = new ImageLayer(orange); game.rootLayer.addAt(l1.setScale(2).setRotation(FloatMath.PI/8), 50, 50); l1.events().connect(new Mover(l1).listener(game.input)); ImageLayer l2 = new ImageLayer(orange); game.rootLayer.addAt(l2.setScale(1.5f).setRotation(FloatMath.PI/4), 150, 50); l2.events().connect(new Mover(l2).listener(game.input)); Image mdb = game.assets.getRemoteImage("https://www.samskivert.com/images/headshot.jpg"); ImageLayer l3 = new ImageLayer(mdb); game.rootLayer.addAt(l3.setRotation(-FloatMath.PI/4), 50, 150); l3.events().connect(new Mover(l3).listener(game.input)); String l4url = "https://www.samskivert.com/images/2012/12/spellwood-app-icon.png"; game.net.req(l4url).execute().onSuccess(rsp -> { try { Image icon = rsp.payloadImage(new Scale(2)); ImageLayer l4 = new ImageLayer(icon); game.rootLayer.addAt(l4.setRotation(FloatMath.PI/4), 150, 150); l4.events().connect(new Mover(l4).listener(game.input)); } catch (Exception e) { game.log.warn("Failed to decode image: " + e); } }).onFailure(t -> game.log.warn("Failed to load image: " + l4url, t)); }