rngine 0.3.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +10 -7
  2. package/android/build.gradle +6 -4
  3. package/android/kls_database.db +0 -0
  4. package/android/src/main/cpp/GameLoopJNI.cpp +20 -9
  5. package/android/src/main/java/com/margelo/nitro/rngine/Asset.kt +9 -0
  6. package/android/src/main/java/com/margelo/nitro/rngine/GameAssets.kt +47 -0
  7. package/android/src/main/java/com/margelo/nitro/rngine/GameView.kt +46 -8
  8. package/android/src/main/java/com/margelo/nitro/rngine/Rect.kt +7 -5
  9. package/android/src/main/java/com/margelo/nitro/rngine/RectSerializer.kt +8 -6
  10. package/lib/module/GameAssets.nitro.js +5 -0
  11. package/lib/module/GameAssets.nitro.js.map +1 -0
  12. package/lib/module/GameMethods.js +1 -31
  13. package/lib/module/GameMethods.js.map +1 -1
  14. package/lib/module/GameMethods.nitro.js +2 -1
  15. package/lib/module/GameMethods.nitro.js.map +1 -1
  16. package/lib/module/Shared.js +72 -0
  17. package/lib/module/Shared.js.map +1 -0
  18. package/lib/module/index.js +1 -0
  19. package/lib/module/index.js.map +1 -1
  20. package/lib/module/nativeTypes.js +2 -0
  21. package/lib/module/nativeTypes.js.map +1 -0
  22. package/lib/module/types.js +2 -0
  23. package/lib/typescript/src/GameAssets.nitro.d.ts +12 -0
  24. package/lib/typescript/src/GameAssets.nitro.d.ts.map +1 -0
  25. package/lib/typescript/src/GameMethods.d.ts +0 -7
  26. package/lib/typescript/src/GameMethods.d.ts.map +1 -1
  27. package/lib/typescript/src/GameMethods.nitro.d.ts +4 -2
  28. package/lib/typescript/src/GameMethods.nitro.d.ts.map +1 -1
  29. package/lib/typescript/src/Shared.d.ts +8 -0
  30. package/lib/typescript/src/Shared.d.ts.map +1 -0
  31. package/lib/typescript/src/index.d.ts +2 -0
  32. package/lib/typescript/src/index.d.ts.map +1 -1
  33. package/lib/typescript/src/nativeTypes.d.ts +79 -0
  34. package/lib/typescript/src/nativeTypes.d.ts.map +1 -0
  35. package/lib/typescript/src/types.d.ts +11 -47
  36. package/lib/typescript/src/types.d.ts.map +1 -1
  37. package/nitro.json +10 -0
  38. package/nitrogen/generated/android/c++/JHybridGameAssetsSpec.cpp +61 -0
  39. package/nitrogen/generated/android/c++/JHybridGameAssetsSpec.hpp +65 -0
  40. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngine/HybridGameAssetsSpec.kt +62 -0
  41. package/nitrogen/generated/android/rngine+autolinking.cmake +2 -0
  42. package/nitrogen/generated/android/rngineOnLoad.cpp +16 -0
  43. package/nitrogen/generated/ios/Rngine-Swift-Cxx-Bridge.cpp +17 -0
  44. package/nitrogen/generated/ios/Rngine-Swift-Cxx-Bridge.hpp +37 -0
  45. package/nitrogen/generated/ios/Rngine-Swift-Cxx-Umbrella.hpp +8 -0
  46. package/nitrogen/generated/ios/RngineAutolinking.mm +8 -0
  47. package/nitrogen/generated/ios/RngineAutolinking.swift +12 -0
  48. package/nitrogen/generated/ios/c++/HybridGameAssetsSpecSwift.cpp +11 -0
  49. package/nitrogen/generated/ios/c++/HybridGameAssetsSpecSwift.hpp +94 -0
  50. package/nitrogen/generated/ios/swift/HybridGameAssetsSpec.swift +57 -0
  51. package/nitrogen/generated/ios/swift/HybridGameAssetsSpec_cxx.swift +160 -0
  52. package/nitrogen/generated/shared/c++/Collision.hpp +91 -0
  53. package/nitrogen/generated/shared/c++/CollisionPair.hpp +87 -0
  54. package/nitrogen/generated/shared/c++/Entity.hpp +13 -5
  55. package/nitrogen/generated/shared/c++/EntityUpdate.hpp +9 -1
  56. package/nitrogen/generated/shared/c++/HybridGameAssetsSpec.cpp +23 -0
  57. package/nitrogen/generated/shared/c++/HybridGameAssetsSpec.hpp +64 -0
  58. package/nitrogen/generated/shared/c++/Screen.hpp +14 -5
  59. package/nitrogen/generated/shared/c++/System.hpp +20 -9
  60. package/package.json +1 -1
  61. package/shared/ColorUtils.hpp +6 -3
  62. package/shared/GameLoop.cpp +75 -12
  63. package/shared/GameLoop.hpp +2 -0
  64. package/shared/GameMethods.cpp +20 -7
  65. package/shared/Rect.hpp +8 -5
  66. package/src/GameAssets.nitro.ts +14 -0
  67. package/src/GameMethods.nitro.ts +6 -2
  68. package/src/GameMethods.ts +1 -34
  69. package/src/Shared.ts +83 -0
  70. package/src/index.tsx +2 -0
  71. package/src/nativeTypes.ts +83 -0
  72. package/src/types.ts +17 -49
package/src/types.ts CHANGED
@@ -1,55 +1,23 @@
1
- export type Screen = {
2
- /** Width of the screen in game units. */
3
- width: number;
4
- /** Height of the screen in game units. */
5
- height: number;
6
- /** Background color of the screen as a hex string e.g. `'#1a1a1a'`. */
7
- color: string;
8
- };
1
+ import type {
2
+ Screen as NativeScreen,
3
+ Entity as NativeEntity,
4
+ EntityUpdate as NativeEntityUpdate,
5
+ System,
6
+ } from './nativeTypes';
9
7
 
10
- export type Entity = {
11
- /** Unique identifier. Use `_` as a separator for group queries e.g. `'enemy_1'`. */
12
- id: string;
13
- /** X position in game units. */
14
- px: number;
15
- /** Y position in game units. */
16
- py: number;
17
- /** Width in game units. */
18
- width: number;
19
- /** Height in game units. */
20
- height: number;
21
- /** Fill color as a hex string e.g. `'#00ff00'`. */
22
- color: string;
23
- /** Velocity on the X axis in game units per second. */
24
- vx?: number;
25
- /** Velocity on the Y axis in game units per second. */
26
- vy?: number;
27
- };
8
+ export type Asset = number | object;
28
9
 
29
- export type System = {
30
- /** Entity ids or prefixes this system subscribes to. */
31
- ids: string[];
32
- /** Called every tick with the resolved entities. */
33
- onTick: (entities: Entity[]) => void;
10
+ export type Screen = Omit<NativeScreen, 'asset'> & {
11
+ /** Asset to render, use `require` with the file path to get the id. */
12
+ asset?: Asset;
34
13
  };
35
-
36
- export type EntityUpdate = {
37
- /** Unique identifier or prefix of the entities to update. */
38
- id: string;
39
- /** X position in game units. */
40
- px?: number;
41
- /** Y position in game units. */
42
- py?: number;
43
- /** Width in game units. */
44
- width?: number;
45
- /** Height in game units. */
46
- height?: number;
47
- /** Fill color as a hex string e.g. `'#00ff00'`. */
48
- color?: string;
49
- /** Velocity on the X axis in game units per second. */
50
- vx?: number;
51
- /** Velocity on the Y axis in game units per second. */
52
- vy?: number;
14
+ export type Entity = Omit<NativeEntity, 'asset'> & {
15
+ /** Asset to render, use `require` with the file path to get the id. */
16
+ asset?: Asset;
17
+ };
18
+ export type EntityUpdate = Omit<NativeEntityUpdate, 'asset'> & {
19
+ /** Asset to render, use `require` with the file path to get the id. */
20
+ asset?: Asset;
53
21
  };
54
22
 
55
23
  export type Config = {