OSDN Git Service

Change build system ant to sbt.
[mikumikustudio/MikuMikuStudio.git] / engine / src / desktop / com / jme3 / system / JmeSystem.java
1 /*
2  * Copyright (c) 2009-2010 jMonkeyEngine
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are
7  * met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  *   notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  *   notice, this list of conditions and the following disclaimer in the
14  *   documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
17  *   may be used to endorse or promote products derived from this software
18  *   without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 package com.jme3.system;
33
34 import com.jme3.asset.AssetManager;
35 import com.jme3.audio.AudioRenderer;
36
37 import java.io.InputStream;
38 import java.net.URL;
39 import java.util.logging.Logger;
40
41 public class JmeSystem {
42
43     private static final Logger logger = Logger.getLogger(JmeSystem.class.getName());
44     private static boolean initialized = false;
45
46     private static JmeSystemDelegate delegate;
47
48     static {
49         try {
50             delegate = (JmeSystemDelegate) Class.forName("com.jme3.system.JmeSystemDelegateImpl").newInstance();
51         } catch (Exception ex) {
52             throw new RuntimeException("initialize failed.", ex);
53         }
54     }
55
56     public static boolean trackDirectMemory() {
57         return false;
58     }
59
60     public static JmeSystemDelegate getDelegate() {
61         return delegate;
62     }
63
64     public static void setDelegate(JmeSystemDelegate delegate) {
65         JmeSystem.delegate = delegate;
66     }
67
68     public static void setLowPermissions(boolean lowPerm) {
69         delegate.setLowPermissions(lowPerm);
70     }
71
72     public static boolean isLowPermissions() {
73         return delegate.isLowPermissions();
74     }
75
76     public static AssetManager newAssetManager(URL configFile) {
77         return delegate.newAssetManager(configFile);
78     }
79
80     public static AssetManager newAssetManager() {
81         return delegate.newAssetManager(null);
82     }
83
84     public static boolean showSettingsDialog(AppSettings sourceSettings, final boolean loadFromRegistry) {
85         return delegate.showSettingsDialog(sourceSettings, loadFromRegistry);
86     }
87
88     public static Platform getPlatform() {
89         return delegate.getPlatform();
90     }
91
92     public static JmeContext newContext(AppSettings settings, JmeContext.Type contextType) {
93         return delegate.newContext(settings, contextType);
94     }
95
96     public static AudioRenderer newAudioRenderer(AppSettings settings) {
97         return delegate.newAudioRenderer(settings);
98     }
99
100     public static void initialize(AppSettings settings) {
101         delegate.initialize(settings);
102         initialized = true;
103     }
104
105     public static String getFullName() {
106         return delegate.getFullName();
107     }
108
109     public static InputStream getResourceAsStream(String name) {
110         return delegate.getResourceAsStream(name);
111     }
112
113     public static URL getResource(String name) {
114         return delegate.getResource(name);
115     }
116 }