com.jme3.system.JmeSystemDelegateImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mms-gdx Show documentation
Show all versions of mms-gdx Show documentation
A game engine compatible with MikuMikuDance.
The newest version!
package com.jme3.system;
import com.jme3.app.Application;
import com.jme3.asset.*;
import com.jme3.asset.gdx.GdxAssetManager;
import com.jme3.audio.*;
import com.jme3.system.gdx.GdxAudioRenderer;
import com.jme3.system.gdx.GdxContext;
//import com.jme3.audio.DummyAudioRenderer;
import com.jme3.system.JmeContext.Type;
import com.jme3.util.JmeFormatter;
import java.io.InputStream;
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.net.URL;
public class JmeSystemDelegateImpl implements JmeSystemDelegate {
private static final Logger logger = Logger.getLogger(JmeSystemDelegateImpl.class.getName());
private boolean initialized = false;
private boolean lowPermissions = false;
private static ThreadLocal app = new ThreadLocal();
public void initialize(AppSettings settings) {
if (initialized) {
return;
}
initialized = true;
try {
JmeFormatter formatter = new JmeFormatter();
// Handler consoleHandler = new AndroidLogHandler();
// consoleHandler.setFormatter(formatter);
} catch (SecurityException ex) {
logger.log(Level.SEVERE, "Security error in creating log file", ex);
}
logger.log(Level.INFO, "Running on {0}", getFullName());
}
public String getFullName() {
return "MikuMikuStudio gdx 1.0.0";
}
public void setLowPermissions(boolean lowPerm) {
lowPermissions = lowPerm;
}
public boolean isLowPermissions() {
return lowPermissions;
}
public JmeContext newContext(AppSettings settings, Type contextType) {
initialize(settings);
if (settings.getRenderer().startsWith("LiveWallpaper")) {
}
return new GdxContext();
}
// TODO
public AudioRenderer newAudioRenderer(AppSettings settings) {
return new GdxAudioRenderer();
}
// public static void setResources(Resources res) {
// JmeSystem.res = res;
// }
// public static Resources getResources() {
// return res;
// }
// public static void setActivity(Context activity) {
// JmeSystem.activity = activity;
//
// }
public void setApplication(Application app) {
JmeSystem.app.set(app);
}
public Application getApplication() {
return app.get();
}
// public static Context getActivity() {
// return activity;
// }
public AssetManager newAssetManager() {
logger.log(Level.INFO, "newAssetManager()");
AssetManager am = new GdxAssetManager();
return am;
}
public AssetManager newAssetManager(URL url) {
logger.log(Level.INFO, "newAssetManager({0})", url);
AssetManager am = new GdxAssetManager();
return am;
}
public boolean showSettingsDialog(AppSettings settings, boolean loadSettings) {
return true;
}
public Platform getPlatform() {
String arch = System.getProperty("os.arch").toLowerCase();
if (arch.contains("arm")){
if (arch.contains("v5")){
return Platform.Android_ARM5;
}else if (arch.contains("v6")){
return Platform.Android_ARM6;
}else if (arch.contains("v7")){
return Platform.Android_ARM7;
}else{
return Platform.Android_ARM5; // unknown ARM
}
}else{
throw new UnsupportedOperationException("Unsupported Android Platform");
}
}
public InputStream getResourceAsStream(String name) {
return JmeSystem.class.getResourceAsStream(name);
}
public URL getResource(String name) {
return JmeSystem.class.getResource(name);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy