diff --git a/nui-gestalt/build.gradle b/nui-gestalt/build.gradle index 15e3fb2a67..40b8dc187c 100644 --- a/nui-gestalt/build.gradle +++ b/nui-gestalt/build.gradle @@ -10,6 +10,7 @@ dependencies { api group: 'org.terasology.gestalt', name: 'gestalt-asset-core', version: '8.0.0-SNAPSHOT' api group: 'org.terasology.gestalt', name: 'gestalt-di', version: '8.0.0-SNAPSHOT' + annotationProcessor "org.terasology.gestalt:gestalt-inject-java:8.0.0-SNAPSHOT" implementation "org.slf4j:slf4j-api:1.7.30" implementation group: 'com.google.code.gson', name: 'gson', version: '2.6.2' implementation group: 'com.google.guava', name: 'guava', version: '23.0' diff --git a/nui-gestalt/src/main/java/org/terasology/nui/reflection/WidgetLibrary.java b/nui-gestalt/src/main/java/org/terasology/nui/reflection/WidgetLibrary.java index 16219a2244..0810ef7604 100644 --- a/nui-gestalt/src/main/java/org/terasology/nui/reflection/WidgetLibrary.java +++ b/nui-gestalt/src/main/java/org/terasology/nui/reflection/WidgetLibrary.java @@ -25,13 +25,18 @@ import org.terasology.reflection.metadata.ModuleClassLibrary; import org.terasology.reflection.reflect.ReflectFactory; +import javax.inject.Inject; +import javax.inject.Provider; /** */ public class WidgetLibrary extends ModuleClassLibrary { private static final Logger logger = LoggerFactory.getLogger(WidgetLibrary.class); - public WidgetLibrary(ModuleEnvironment environment, ReflectFactory reflectFactory, CopyStrategyLibrary copyStrategyLibrary) { + + @Inject + public WidgetLibrary(Provider environment, ReflectFactory reflectFactory, CopyStrategyLibrary copyStrategyLibrary) { + super(environment, reflectFactory, copyStrategyLibrary); } diff --git a/nui-gestalt/src/main/java/org/terasology/reflection/metadata/DefaultModuleClassLibrary.java b/nui-gestalt/src/main/java/org/terasology/reflection/metadata/DefaultModuleClassLibrary.java index 3805c18754..e6baec041e 100644 --- a/nui-gestalt/src/main/java/org/terasology/reflection/metadata/DefaultModuleClassLibrary.java +++ b/nui-gestalt/src/main/java/org/terasology/reflection/metadata/DefaultModuleClassLibrary.java @@ -10,10 +10,13 @@ import org.terasology.reflection.copy.CopyStrategyLibrary; import org.terasology.reflection.reflect.ReflectFactory; +import javax.inject.Provider; + public class DefaultModuleClassLibrary extends ModuleClassLibrary { private static final Logger logger = LoggerFactory.getLogger(DefaultModuleClassLibrary.class); - public DefaultModuleClassLibrary(ModuleEnvironment environment, ReflectFactory reflectFactory, CopyStrategyLibrary copyStrategyLibrary) { + public DefaultModuleClassLibrary(Provider environment, ReflectFactory reflectFactory, CopyStrategyLibrary copyStrategyLibrary) { + super(environment, reflectFactory, copyStrategyLibrary); } diff --git a/nui-gestalt/src/main/java/org/terasology/reflection/metadata/ModuleClassLibrary.java b/nui-gestalt/src/main/java/org/terasology/reflection/metadata/ModuleClassLibrary.java index 92c38cd5af..9741b85b72 100644 --- a/nui-gestalt/src/main/java/org/terasology/reflection/metadata/ModuleClassLibrary.java +++ b/nui-gestalt/src/main/java/org/terasology/reflection/metadata/ModuleClassLibrary.java @@ -29,6 +29,8 @@ import org.terasology.reflection.copy.CopyStrategyLibrary; import org.terasology.reflection.reflect.ReflectFactory; +import javax.inject.Provider; + import java.util.Iterator; import java.util.List; import java.util.Map; @@ -45,12 +47,13 @@ public abstract class ModuleClassLibrary implements ClassLibrary { protected final CopyStrategyLibrary copyStrategyLibrary; private ReflectFactory reflectFactory; - private ModuleEnvironment environment; + + private Provider environment; private Map, ClassMetadata> classLookup = Maps.newHashMap(); private Table> urnLookup = HashBasedTable.create(); - public ModuleClassLibrary(ModuleEnvironment environment, ReflectFactory reflectFactory, CopyStrategyLibrary copyStrategyLibrary) { + public ModuleClassLibrary(Provider environment, ReflectFactory reflectFactory, CopyStrategyLibrary copyStrategyLibrary) { this.environment = environment; this.reflectFactory = reflectFactory; this.copyStrategyLibrary = copyStrategyLibrary; @@ -147,7 +150,8 @@ public TYPE copy(TYPE object) { } public ClassMetadata resolve(String name, Name context) { - Module moduleContext = environment.get(context); + + Module moduleContext = environment.get().get(context); if (moduleContext != null) { return resolve(name, moduleContext); } @@ -179,7 +183,9 @@ public TYPE copy(TYPE object) { default: if (context != null) { - Set dependencies = environment.getDependencyNamesOf(context.getId()); + + Set dependencies = environment.get().getDependencyNamesOf(context.getId()); + Iterator> iterator = possibilities.iterator(); while (iterator.hasNext()) { ClassMetadata metadata = iterator.next(); diff --git a/nui-libgdx/build.gradle b/nui-libgdx/build.gradle index eb9df61c8f..07f263b125 100644 --- a/nui-libgdx/build.gradle +++ b/nui-libgdx/build.gradle @@ -6,7 +6,7 @@ plugins { apply from: "$rootDir/gradle/common.gradle" ext { - gdxVersion = '1.9.8' + gdxVersion = '1.9.14' roboVMVersion = '2.3.3' } diff --git a/nui-libgdx/src/main/java/org/terasology/nui/backends/libgdx/GDXInputUtil.java b/nui-libgdx/src/main/java/org/terasology/nui/backends/libgdx/GDXInputUtil.java index 525fe1a3a5..17d30f9d65 100644 --- a/nui-libgdx/src/main/java/org/terasology/nui/backends/libgdx/GDXInputUtil.java +++ b/nui-libgdx/src/main/java/org/terasology/nui/backends/libgdx/GDXInputUtil.java @@ -34,106 +34,106 @@ private GDXInputUtil() { private NUIInputProcessor keyboardInputProcessor; static { - keyMap.put(/*ANY_KEY*/ -1, Keyboard.Key.NONE); - keyMap.put(/*NUM_0*/ 7, Keyboard.Key.KEY_0); - keyMap.put(/*NUM_1*/ 8, Keyboard.Key.KEY_1); - keyMap.put(/*NUM_2*/ 9, Keyboard.Key.KEY_2); - keyMap.put(/*NUM_3*/ 10, Keyboard.Key.KEY_3); - keyMap.put(/*NUM_4*/ 11, Keyboard.Key.KEY_4); - keyMap.put(/*NUM_5*/ 12, Keyboard.Key.KEY_5); - keyMap.put(/*NUM_6*/ 13, Keyboard.Key.KEY_6); - keyMap.put(/*NUM_7*/ 14, Keyboard.Key.KEY_7); - keyMap.put(/*NUM_8*/ 15, Keyboard.Key.KEY_8); - keyMap.put(/*NUM_9*/ 16, Keyboard.Key.KEY_9); - keyMap.put(/*A*/ 29, Keyboard.Key.A); - keyMap.put(/*ALT_LEFT*/ 57, Keyboard.Key.LEFT_ALT); - keyMap.put(/*ALT_RIGHT*/ 58, Keyboard.Key.RIGHT_ALT); - keyMap.put(/*APOSTROPHE*/ 75, Keyboard.Key.APOSTROPHE); - keyMap.put(/*AT*/ 77, Keyboard.Key.AT); - keyMap.put(/*B*/ 30, Keyboard.Key.B); + keyMap.put(Input.Keys.ANY_KEY, Keyboard.Key.NONE); + keyMap.put(Input.Keys.NUM_0, Keyboard.Key.KEY_0); + keyMap.put(Input.Keys.NUM_1, Keyboard.Key.KEY_1); + keyMap.put(Input.Keys.NUM_2, Keyboard.Key.KEY_2); + keyMap.put(Input.Keys.NUM_3, Keyboard.Key.KEY_3); + keyMap.put(Input.Keys.NUM_4, Keyboard.Key.KEY_4); + keyMap.put(Input.Keys.NUM_5, Keyboard.Key.KEY_5); + keyMap.put(Input.Keys.NUM_6, Keyboard.Key.KEY_6); + keyMap.put(Input.Keys.NUM_7, Keyboard.Key.KEY_7); + keyMap.put(Input.Keys.NUM_8, Keyboard.Key.KEY_8); + keyMap.put(Input.Keys.NUM_9, Keyboard.Key.KEY_9); + keyMap.put(Input.Keys.A, Keyboard.Key.A); + keyMap.put(Input.Keys.ALT_LEFT, Keyboard.Key.LEFT_ALT); + keyMap.put(Input.Keys.ALT_RIGHT, Keyboard.Key.RIGHT_ALT); + keyMap.put(Input.Keys.APOSTROPHE, Keyboard.Key.APOSTROPHE); + keyMap.put(Input.Keys.AT, Keyboard.Key.AT); + keyMap.put(Input.Keys.B, Keyboard.Key.B); //keyMap.put(/*BACK*/ 4, Keyboard.Key.BACKSPACE); - keyMap.put(/*BACKSLASH*/ 73, Keyboard.Key.BACKSLASH); - keyMap.put(/*C*/ 31, Keyboard.Key.C); - keyMap.put(/*CALL*/ 5, Keyboard.Key.NONE); - keyMap.put(/*CAMERA*/ 27, Keyboard.Key.NONE); - keyMap.put(/*CLEAR*/ 28, Keyboard.Key.CLEAR); - keyMap.put(/*COMMA*/ 55, Keyboard.Key.COMMA); - keyMap.put(/*D*/ 32, Keyboard.Key.D); + keyMap.put(Input.Keys.BACKSLASH, Keyboard.Key.BACKSLASH); + keyMap.put(Input.Keys.C, Keyboard.Key.C); + keyMap.put(Input.Keys.CALL, Keyboard.Key.NONE); + keyMap.put(Input.Keys.CAMERA, Keyboard.Key.NONE); + keyMap.put(Input.Keys.CLEAR, Keyboard.Key.CLEAR); + keyMap.put(Input.Keys.COMMA, Keyboard.Key.COMMA); + keyMap.put(Input.Keys.D, Keyboard.Key.D); //keyMap.put(/*DEL*/ 67, Keyboard.Key.NONE); - keyMap.put(/*BACKSPACE*/ 67, Keyboard.Key.BACKSPACE); - keyMap.put(/*FORWARD_DEL*/ 112, Keyboard.Key.DELETE); // NOTE: FORWARD_DEL is DELETE: see https://github.com/libgdx/libgdx/issues/5291 + keyMap.put(Input.Keys.BACKSPACE, Keyboard.Key.BACKSPACE); + keyMap.put(Input.Keys.FORWARD_DEL, Keyboard.Key.DELETE); // NOTE: FORWARD_DEL is DELETE: see https://github.com/libgdx/libgdx/issues/5291 //keyMap.put(/*DPAD_CENTER*/ 23, Keyboard.Key.NONE); //keyMap.put(/*DPAD_DOWN*/ 20, Keyboard.Key.NONE); //keyMap.put(/*DPAD_LEFT*/ 21, Keyboard.Key.NONE); //keyMap.put(/*DPAD_RIGHT*/ 22, Keyboard.Key.NONE); //keyMap.put(/*DPAD_UP*/ 19, Keyboard.Key.NONE); //keyMap.put(/*CENTER*/ 23, Keyboard.Key.NONE); - keyMap.put(/*DOWN*/ 20, Keyboard.Key.DOWN); - keyMap.put(/*LEFT*/ 21, Keyboard.Key.LEFT); - keyMap.put(/*RIGHT*/ 22, Keyboard.Key.RIGHT); - keyMap.put(/*UP*/ 19, Keyboard.Key.UP); - keyMap.put(/*E*/ 33, Keyboard.Key.E); + keyMap.put(Input.Keys.DOWN, Keyboard.Key.DOWN); + keyMap.put(Input.Keys.LEFT, Keyboard.Key.LEFT); + keyMap.put(Input.Keys.RIGHT, Keyboard.Key.RIGHT); + keyMap.put(Input.Keys.UP, Keyboard.Key.UP); + keyMap.put(Input.Keys.E, Keyboard.Key.E); //keyMap.put(/*ENDCALL*/ 6, Keyboard.Key.NONE); - keyMap.put(/*ENTER*/ 66, Keyboard.Key.ENTER); + keyMap.put(Input.Keys.ENTER, Keyboard.Key.ENTER); //keyMap.put(/*ENVELOPE*/ 65, Keyboard.Key.NONE); - keyMap.put(/*EQUALS*/ 70, Keyboard.Key.EQUALS); + keyMap.put(Input.Keys.EQUALS, Keyboard.Key.EQUALS); //keyMap.put(/*EXPLORER*/ 64, Keyboard.Key.NONE); - keyMap.put(/*F*/ 34, Keyboard.Key.F); + keyMap.put(Input.Keys.F, Keyboard.Key.F); //keyMap.put(/*FOCUS*/ 80, Keyboard.Key.NONE); - keyMap.put(/*G*/ 35, Keyboard.Key.G); - keyMap.put(/*GRAVE*/ 68, Keyboard.Key.GRAVE); - keyMap.put(/*H*/ 36, Keyboard.Key.H); + keyMap.put(Input.Keys.G, Keyboard.Key.G); + keyMap.put(Input.Keys.GRAVE, Keyboard.Key.GRAVE); + keyMap.put(Input.Keys.H, Keyboard.Key.H); //keyMap.put(/*HEADSETHOOK*/ 79, Keyboard.Key.NONE); - keyMap.put(/*HOME*/ 3, Keyboard.Key.HOME); - keyMap.put(/*I*/ 37, Keyboard.Key.I); - keyMap.put(/*J*/ 38, Keyboard.Key.J); - keyMap.put(/*K*/ 39, Keyboard.Key.K); - keyMap.put(/*L*/ 40, Keyboard.Key.L); - keyMap.put(/*LEFT_BRACKET*/ 71, Keyboard.Key.LEFT_BRACKET); - keyMap.put(/*M*/ 41, Keyboard.Key.M); + keyMap.put(Input.Keys.HOME, Keyboard.Key.HOME); + keyMap.put(Input.Keys.I, Keyboard.Key.I); + keyMap.put(Input.Keys.J, Keyboard.Key.J); + keyMap.put(Input.Keys.K, Keyboard.Key.K); + keyMap.put(Input.Keys.L, Keyboard.Key.L); + keyMap.put(Input.Keys.LEFT_BRACKET, Keyboard.Key.LEFT_BRACKET); + keyMap.put(Input.Keys.M, Keyboard.Key.M); //keyMap.put(/*MEDIA_FAST_FORWARD*/ 90, Keyboard.Key.NONE); //keyMap.put(/*MEDIA_NEXT*/ 87, Keyboard.Key.NONE); //keyMap.put(/*MEDIA_PLAY_PAUSE*/ 85, Keyboard.Key.NONE); //keyMap.put(/*MEDIA_PREVIOUS*/ 88, Keyboard.Key.NONE); //keyMap.put(/*MEDIA_REWIND*/ 89, Keyboard.Key.NONE); //keyMap.put(/*MEDIA_STOP*/ 86, Keyboard.Key.NONE); - keyMap.put(/*MENU*/ 82, Keyboard.Key.NONE); - keyMap.put(/*MINUS*/ 69, Keyboard.Key.MINUS); - keyMap.put(/*MUTE*/ 91, Keyboard.Key.NONE); - keyMap.put(/*N*/ 42, Keyboard.Key.N); - keyMap.put(/*NOTIFICATION*/ 83, Keyboard.Key.NONE); - keyMap.put(/*NUM*/ 78, Keyboard.Key.NONE); - keyMap.put(/*O*/ 43, Keyboard.Key.O); - keyMap.put(/*P*/ 44, Keyboard.Key.P); - keyMap.put(/*PERIOD*/ 56, Keyboard.Key.PERIOD); - keyMap.put(/*PLUS*/ 81, Keyboard.Key.NUMPAD_PLUS); - keyMap.put(/*POUND*/ 18, Keyboard.Key.NONE); - keyMap.put(/*POWER*/ 26, Keyboard.Key.POWER); - keyMap.put(/*Q*/ 45, Keyboard.Key.Q); - keyMap.put(/*R*/ 46, Keyboard.Key.R); - keyMap.put(/*RIGHT_BRACKET*/ 72, Keyboard.Key.RIGHT_BRACKET); - keyMap.put(/*S*/ 47, Keyboard.Key.S); - keyMap.put(/*SEARCH*/ 84, Keyboard.Key.NONE); - keyMap.put(/*SEMICOLON*/ 74, Keyboard.Key.SEMICOLON); - keyMap.put(/*SHIFT_LEFT*/ 59, Keyboard.Key.LEFT_SHIFT); - keyMap.put(/*SHIFT_RIGHT*/ 60, Keyboard.Key.RIGHT_SHIFT); - keyMap.put(/*SLASH*/ 76, Keyboard.Key.SLASH); + keyMap.put(Input.Keys.MENU, Keyboard.Key.NONE); + keyMap.put(Input.Keys.MINUS, Keyboard.Key.MINUS); + keyMap.put(Input.Keys.MUTE, Keyboard.Key.NONE); + keyMap.put(Input.Keys.N, Keyboard.Key.N); + keyMap.put(Input.Keys.NOTIFICATION, Keyboard.Key.NONE); + keyMap.put(Input.Keys.NUM, Keyboard.Key.NONE); + keyMap.put(Input.Keys.O, Keyboard.Key.O); + keyMap.put(Input.Keys.P, Keyboard.Key.P); + keyMap.put(Input.Keys.PERIOD, Keyboard.Key.PERIOD); + keyMap.put(Input.Keys.PLUS, Keyboard.Key.NUMPAD_PLUS); + keyMap.put(Input.Keys.POUND, Keyboard.Key.NONE); + keyMap.put(Input.Keys.POWER, Keyboard.Key.POWER); + keyMap.put(Input.Keys.Q, Keyboard.Key.Q); + keyMap.put(Input.Keys.R, Keyboard.Key.R); + keyMap.put(Input.Keys.RIGHT_BRACKET, Keyboard.Key.RIGHT_BRACKET); + keyMap.put(Input.Keys.S, Keyboard.Key.S); + keyMap.put(Input.Keys.SEARCH, Keyboard.Key.NONE); + keyMap.put(Input.Keys.SEMICOLON, Keyboard.Key.SEMICOLON); + keyMap.put(Input.Keys.SHIFT_LEFT, Keyboard.Key.LEFT_SHIFT); + keyMap.put(Input.Keys.SHIFT_RIGHT, Keyboard.Key.RIGHT_SHIFT); + keyMap.put(Input.Keys.SLASH, Keyboard.Key.SLASH); //keyMap.put(/*SOFT_LEFT*/ 1, Keyboard.Key.NONE); //keyMap.put(/*SOFT_RIGHT*/ 2, Keyboard.Key.NONE); - keyMap.put(/*SPACE*/ 62, Keyboard.Key.SPACE); - keyMap.put(/*STAR*/ 17, Keyboard.Key.NONE); - keyMap.put(/*SYM*/ 63, Keyboard.Key.NONE); - keyMap.put(/*T*/ 48, Keyboard.Key.T); - keyMap.put(/*TAB*/ 61, Keyboard.Key.TAB); - keyMap.put(/*U*/ 49, Keyboard.Key.U); - keyMap.put(/*UNKNOWN*/ 0, Keyboard.Key.NONE); - keyMap.put(/*V*/ 50, Keyboard.Key.V); - keyMap.put(/*VOLUME_DOWN*/ 25, Keyboard.Key.NONE); - keyMap.put(/*VOLUME_UP*/ 24, Keyboard.Key.NONE); - keyMap.put(/*W*/ 51, Keyboard.Key.W); - keyMap.put(/*X*/ 52, Keyboard.Key.X); - keyMap.put(/*Y*/ 53, Keyboard.Key.Y); - keyMap.put(/*Z*/ 54, Keyboard.Key.Z); + keyMap.put(Input.Keys.SPACE, Keyboard.Key.SPACE); + keyMap.put(Input.Keys.STAR, Keyboard.Key.NONE); + keyMap.put(Input.Keys.SYM, Keyboard.Key.NONE); + keyMap.put(Input.Keys.T, Keyboard.Key.T); + keyMap.put(Input.Keys.TAB, Keyboard.Key.TAB); + keyMap.put(Input.Keys.U, Keyboard.Key.U); + keyMap.put(Input.Keys.UNKNOWN, Keyboard.Key.NONE); + keyMap.put(Input.Keys.V, Keyboard.Key.V); + keyMap.put(Input.Keys.VOLUME_DOWN, Keyboard.Key.NONE); + keyMap.put(Input.Keys.VOLUME_UP, Keyboard.Key.NONE); + keyMap.put(Input.Keys.W, Keyboard.Key.W); + keyMap.put(Input.Keys.X, Keyboard.Key.X); + keyMap.put(Input.Keys.Y, Keyboard.Key.Y); + keyMap.put(Input.Keys.Z, Keyboard.Key.Z); //keyMap.put(/*META_ALT_LEFT_ON*/ 16, Keyboard.Key.NONE); //keyMap.put(/*META_ALT_ON*/ 2, Keyboard.Key.NONE); //keyMap.put(/*META_ALT_RIGHT_ON*/ 32, Keyboard.Key.NONE); @@ -141,13 +141,13 @@ private GDXInputUtil() { //keyMap.put(/*META_SHIFT_ON*/ 1, Keyboard.Key.NONE); //keyMap.put(/*META_SHIFT_RIGHT_ON*/ 128, Keyboard.Key.NONE); //keyMap.put(/*META_SYM_ON*/ 4, Keyboard.Key.NONE); - keyMap.put(/*CONTROL_LEFT*/ 129, Keyboard.Key.LEFT_CTRL); - keyMap.put(/*CONTROL_RIGHT*/ 130, Keyboard.Key.RIGHT_CTRL); - keyMap.put(/*ESCAPE*/ 131, Keyboard.Key.ESCAPE); - keyMap.put(/*END*/ 132, Keyboard.Key.END); - keyMap.put(/*INSERT*/ 133, Keyboard.Key.INSERT); - keyMap.put(/*PAGE_UP*/ 92, Keyboard.Key.PAGE_UP); - keyMap.put(/*PAGE_DOWN*/ 93, Keyboard.Key.PAGE_DOWN); + keyMap.put(Input.Keys.CONTROL_LEFT, Keyboard.Key.LEFT_CTRL); + keyMap.put(Input.Keys.CONTROL_RIGHT, Keyboard.Key.RIGHT_CTRL); + keyMap.put(Input.Keys.ESCAPE, Keyboard.Key.ESCAPE); + keyMap.put(Input.Keys.END, Keyboard.Key.END); + keyMap.put(Input.Keys.INSERT, Keyboard.Key.INSERT); + keyMap.put(Input.Keys.PAGE_UP, Keyboard.Key.PAGE_UP); + keyMap.put(Input.Keys.PAGE_DOWN, Keyboard.Key.PAGE_DOWN); //keyMap.put(/*PICTSYMBOLS*/ 94, Keyboard.Key.NONE); //keyMap.put(/*SWITCH_CHARSET*/ 95, Keyboard.Key.NONE); //keyMap.put(/*BUTTON_CIRCLE*/ 255, Keyboard.Key.NONE); @@ -167,30 +167,30 @@ private GDXInputUtil() { //keyMap.put(/*BUTTON_SELECT*/ 109, Keyboard.Key.NONE); //keyMap.put(/*BUTTON_MODE*/ 110, Keyboard.Key.NONE); - keyMap.put(/*NUMPAD_0*/ 144, Keyboard.Key.NUMPAD_0); - keyMap.put(/*NUMPAD_1*/ 145, Keyboard.Key.NUMPAD_1); - keyMap.put(/*NUMPAD_2*/ 146, Keyboard.Key.NUMPAD_2); - keyMap.put(/*NUMPAD_3*/ 147, Keyboard.Key.NUMPAD_3); - keyMap.put(/*NUMPAD_4*/ 148, Keyboard.Key.NUMPAD_4); - keyMap.put(/*NUMPAD_5*/ 149, Keyboard.Key.NUMPAD_5); - keyMap.put(/*NUMPAD_6*/ 150, Keyboard.Key.NUMPAD_6); - keyMap.put(/*NUMPAD_7*/ 151, Keyboard.Key.NUMPAD_7); - keyMap.put(/*NUMPAD_8*/ 152, Keyboard.Key.NUMPAD_8); - keyMap.put(/*NUMPAD_9*/ 153, Keyboard.Key.NUMPAD_9); - - keyMap.put(/*COLON*/ 243, Keyboard.Key.COLON); - keyMap.put(/*F1*/ 244, Keyboard.Key.F1); - keyMap.put(/*F2*/ 245, Keyboard.Key.F2); - keyMap.put(/*F3*/ 246, Keyboard.Key.F3); - keyMap.put(/*F4*/ 247, Keyboard.Key.F4); - keyMap.put(/*F5*/ 248, Keyboard.Key.F5); - keyMap.put(/*F6*/ 249, Keyboard.Key.F6); - keyMap.put(/*F7*/ 250, Keyboard.Key.F7); - keyMap.put(/*F8*/ 251, Keyboard.Key.F8); - keyMap.put(/*F9*/ 252, Keyboard.Key.F9); - keyMap.put(/*F10*/ 253, Keyboard.Key.F10); - keyMap.put(/*F11*/ 254, Keyboard.Key.F11); - keyMap.put(/*F12*/ 255, Keyboard.Key.F12); + keyMap.put(Input.Keys.NUMPAD_0, Keyboard.Key.NUMPAD_0); + keyMap.put(Input.Keys.NUMPAD_1, Keyboard.Key.NUMPAD_1); + keyMap.put(Input.Keys.NUMPAD_2, Keyboard.Key.NUMPAD_2); + keyMap.put(Input.Keys.NUMPAD_3, Keyboard.Key.NUMPAD_3); + keyMap.put(Input.Keys.NUMPAD_4, Keyboard.Key.NUMPAD_4); + keyMap.put(Input.Keys.NUMPAD_5, Keyboard.Key.NUMPAD_5); + keyMap.put(Input.Keys.NUMPAD_6, Keyboard.Key.NUMPAD_6); + keyMap.put(Input.Keys.NUMPAD_7, Keyboard.Key.NUMPAD_7); + keyMap.put(Input.Keys.NUMPAD_8, Keyboard.Key.NUMPAD_8); + keyMap.put(Input.Keys.NUMPAD_9, Keyboard.Key.NUMPAD_9); + + keyMap.put(Input.Keys.COLON, Keyboard.Key.COLON); + keyMap.put(Input.Keys.F1, Keyboard.Key.F1); + keyMap.put(Input.Keys.F2, Keyboard.Key.F2); + keyMap.put(Input.Keys.F3, Keyboard.Key.F3); + keyMap.put(Input.Keys.F4, Keyboard.Key.F4); + keyMap.put(Input.Keys.F5, Keyboard.Key.F5); + keyMap.put(Input.Keys.F6, Keyboard.Key.F6); + keyMap.put(Input.Keys.F7, Keyboard.Key.F7); + keyMap.put(Input.Keys.F8, Keyboard.Key.F8); + keyMap.put(Input.Keys.F9, Keyboard.Key.F9); + keyMap.put(Input.Keys.F10, Keyboard.Key.F10); + keyMap.put(Input.Keys.F11, Keyboard.Key.F11); + keyMap.put(Input.Keys.F12, Keyboard.Key.F12); // NOTE: Mouse mappings tested using Terasology's input dialog, so they may vary between mice mouseMap.put(Input.Buttons.LEFT, MouseInput.MOUSE_LEFT); @@ -201,7 +201,7 @@ private GDXInputUtil() { } public static Keyboard.Key GDXToNuiKey(int key) { - return keyMap.get(key); + return keyMap.getOrDefault(key, Keyboard.Key.NONE); } public static int NuiToGDXKey(int key) { diff --git a/nui-libgdx/src/main/java/org/terasology/nui/backends/libgdx/NUIInputProcessor.java b/nui-libgdx/src/main/java/org/terasology/nui/backends/libgdx/NUIInputProcessor.java index a778e36902..969aff1747 100644 --- a/nui-libgdx/src/main/java/org/terasology/nui/backends/libgdx/NUIInputProcessor.java +++ b/nui-libgdx/src/main/java/org/terasology/nui/backends/libgdx/NUIInputProcessor.java @@ -147,8 +147,8 @@ public boolean mouseMoved(int screenX, int screenY) { } @Override - public boolean scrolled(int amount) { - amount = (amount < 0 ? 1 : -1); + public boolean scrolled(float amountX, float amountY) { + int amount = (amountY < 0 ? 1 : -1); mouseActionQueue.add(new MouseAction(InputType.MOUSE_WHEEL.getInput(amount), amount, GDXInputUtil.GDXToNuiMousePosition(Gdx.input.getX(), Gdx.input.getY()))); return CONSUME_INPUT; } diff --git a/nui-reflect/build.gradle b/nui-reflect/build.gradle index 84de858409..c429364faf 100644 --- a/nui-reflect/build.gradle +++ b/nui-reflect/build.gradle @@ -18,6 +18,7 @@ dependencies { } api "org.terasology.gestalt:gestalt-inject:8.0.0-SNAPSHOT" + api "org.terasology.gestalt:gestalt-di:8.0.0-SNAPSHOT" annotationProcessor "org.terasology.gestalt:gestalt-inject-java:8.0.0-SNAPSHOT" api ('org.terasology.joml-ext:joml-geometry') { diff --git a/nui-reflect/src/main/java/org/terasology/reflection/copy/CopyStrategyLibrary.java b/nui-reflect/src/main/java/org/terasology/reflection/copy/CopyStrategyLibrary.java index 5615ab56fc..868925417f 100644 --- a/nui-reflect/src/main/java/org/terasology/reflection/copy/CopyStrategyLibrary.java +++ b/nui-reflect/src/main/java/org/terasology/reflection/copy/CopyStrategyLibrary.java @@ -28,6 +28,7 @@ import org.terasology.reflection.reflect.ReflectFactory; import org.terasology.reflection.ReflectionUtil; +import javax.inject.Inject; import java.lang.reflect.Modifier; import java.lang.reflect.Type; import java.util.List; @@ -51,6 +52,7 @@ public class CopyStrategyLibrary { private CopyStrategy defaultStrategy = new ReturnAsIsStrategy<>(); private ReflectFactory reflectFactory; + @Inject public CopyStrategyLibrary(ReflectFactory reflectFactory) { this.reflectFactory = reflectFactory; } diff --git a/nui-reflect/src/main/java/org/terasology/reflection/reflect/ReflectionReflectFactory.java b/nui-reflect/src/main/java/org/terasology/reflection/reflect/ReflectionReflectFactory.java index 0572fe5c4f..9d0058fc45 100644 --- a/nui-reflect/src/main/java/org/terasology/reflection/reflect/ReflectionReflectFactory.java +++ b/nui-reflect/src/main/java/org/terasology/reflection/reflect/ReflectionReflectFactory.java @@ -17,8 +17,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.terasology.context.annotation.Service; import org.terasology.reflection.ReflectionUtil; +import javax.inject.Inject; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; @@ -26,8 +28,8 @@ /** * Reflection based implementation of ReflectFactory. Uses standard Java reflection to provide the necessary reflection functionality. - * */ +@Service public class ReflectionReflectFactory implements ReflectFactory { private static final Logger logger = LoggerFactory.getLogger(ReflectionReflectFactory.class); @@ -66,7 +68,7 @@ private static class ReflectionConstructor implements ObjectConstructor { private Class type; private Constructor constructor; - ReflectionConstructor(Class type) throws NoSuchMethodException { + ReflectionConstructor(Class type) throws NoSuchMethodException { this.type = type; constructor = type.getDeclaredConstructor(); constructor.setAccessible(true); @@ -95,7 +97,7 @@ private static class ReflectionFieldAccessor implements FieldAccessor fieldType) { + ReflectionFieldAccessor(Field field, Class fieldType) { this.field = field; getter = ReflectionUtil.findGetter(field.getName(), field.getDeclaringClass(), fieldType); setter = ReflectionUtil.findSetter(field.getName(), field.getDeclaringClass(), fieldType); diff --git a/nui/src/main/java/org/terasology/nui/widgets/types/TypeWidgetFactory.java b/nui/src/main/java/org/terasology/nui/widgets/types/TypeWidgetFactory.java index 0c5d8bc1f8..c814fe6500 100644 --- a/nui/src/main/java/org/terasology/nui/widgets/types/TypeWidgetFactory.java +++ b/nui/src/main/java/org/terasology/nui/widgets/types/TypeWidgetFactory.java @@ -15,7 +15,7 @@ /** * Creates a {@link UIWidget} for objects sharing similar structure. *

- * Supports dependency injection via {@link org.terasology.registry.In}. + * Supports dependency injection via {@link javax.inject.Inject}. */ public interface TypeWidgetFactory { /** diff --git a/nui/src/main/java/org/terasology/nui/widgets/types/TypeWidgetLibrary.java b/nui/src/main/java/org/terasology/nui/widgets/types/TypeWidgetLibrary.java index f89fc6fba7..6e1cb5eef8 100644 --- a/nui/src/main/java/org/terasology/nui/widgets/types/TypeWidgetLibrary.java +++ b/nui/src/main/java/org/terasology/nui/widgets/types/TypeWidgetLibrary.java @@ -11,7 +11,7 @@ /** * Creates {@link UIWidget UIWidgets} to edit objects of various types. *

- * Instances can only be accessed via injection (see {@link org.terasology.registry.In}) in + * Instances can only be accessed via injection (see {@link javax.inject.Inject}) in * screens and overlays. */ public interface TypeWidgetLibrary { @@ -30,6 +30,10 @@ public interface TypeWidgetLibrary { * Returns a {@link UIWidget} that can be used to edit an object of the given type bound * by the given binding. * + * @param binding The {@link Binding} used to get and set the object to be edited. + * @param type The {@link TypeInfo} describing the type of the object to be edited. + * @param The type of the object to be edited. + * @return The generated {@link UIWidget}. * @see #getWidget(Binding, TypeInfo) */ Optional getWidget(Binding binding, Class type);