Example implementation

This commit is contained in:
UnlegitDqrk
2026-02-28 16:00:29 +01:00
parent cda595907f
commit c1fb1353e0
4 changed files with 51 additions and 2 deletions

View File

@@ -0,0 +1,9 @@
package org.openautonomousconnection.luascript.hosts;
import java.io.File;
public interface AudioHost {
void play(File audioFile);
}

View File

@@ -45,6 +45,8 @@ public interface HostServices {
*/
Optional<ConsoleHost> console();
Optional<AudioHost> audio();
/**
* Simple immutable implementation.
*/
@@ -54,6 +56,7 @@ public interface HostServices {
private final EventHost events;
private final ResourceHost resources;
private final ConsoleHost console;
private final AudioHost audioHost;
/**
* Creates a HostServices container.
@@ -64,12 +67,13 @@ public interface HostServices {
* @param resources resource host
* @param console console host
*/
public Default(UiHost ui, DomHost dom, EventHost events, ResourceHost resources, ConsoleHost console) {
public Default(UiHost ui, DomHost dom, EventHost events, ResourceHost resources, ConsoleHost console, AudioHost audioHost) {
this.ui = ui;
this.dom = dom;
this.events = events;
this.resources = resources;
this.console = console;
this.audioHost = audioHost;
}
@Override
@@ -96,6 +100,11 @@ public interface HostServices {
public Optional<ConsoleHost> console() {
return Optional.ofNullable(console);
}
@Override
public Optional<AudioHost> audio() {
return Optional.ofNullable(audioHost);
}
}
/**