rngine 0.7.2 → 0.8.1
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.
- package/README.md +51 -26
- package/android/CMakeLists.txt +45 -2
- package/android/build.gradle +1 -3
- package/android/kls_database.db +0 -0
- package/android/src/main/cpp/game-view.cpp +29 -0
- package/android/src/main/java/com/margelo/nitro/rngine/GameEngine.kt +1 -28
- package/android/src/main/java/com/margelo/nitro/rngine/GameView.kt +22 -166
- package/android/src/main/java/com/margelo/nitro/rngine/SvgLoaderHelper.kt +24 -0
- package/lib/module/GameMethods.js +46 -2
- package/lib/module/GameMethods.js.map +1 -1
- package/lib/module/GameMethods.nitro.js.map +1 -1
- package/lib/module/index.js +0 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/GameMethods.d.ts +2 -1
- package/lib/typescript/src/GameMethods.d.ts.map +1 -1
- package/lib/typescript/src/GameMethods.nitro.d.ts +5 -2
- package/lib/typescript/src/GameMethods.nitro.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/nativeTypes.d.ts +12 -0
- package/lib/typescript/src/nativeTypes.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +7 -10
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/nitro.json +0 -10
- package/nitrogen/generated/android/rngine+autolinking.cmake +0 -2
- package/nitrogen/generated/android/rngineOnLoad.cpp +0 -16
- package/nitrogen/generated/ios/Rngine-Swift-Cxx-Bridge.cpp +0 -33
- package/nitrogen/generated/ios/Rngine-Swift-Cxx-Bridge.hpp +0 -96
- package/nitrogen/generated/ios/Rngine-Swift-Cxx-Umbrella.hpp +0 -9
- package/nitrogen/generated/ios/RngineAutolinking.mm +0 -8
- package/nitrogen/generated/ios/RngineAutolinking.swift +0 -12
- package/nitrogen/generated/shared/c++/Entity.hpp +10 -2
- package/nitrogen/generated/shared/c++/EntityUpdate.hpp +10 -2
- package/nitrogen/generated/shared/c++/HybridGameMethodsSpec.cpp +4 -1
- package/nitrogen/generated/shared/c++/HybridGameMethodsSpec.hpp +8 -1
- package/nitrogen/generated/shared/c++/World.hpp +91 -0
- package/package.json +4 -1
- package/shared/CollisionUtils.hpp +1 -6
- package/{android/src/main/cpp/ColorUtils.hpp → shared/ColorUtils.cpp} +8 -12
- package/shared/ColorUtils.hpp +7 -0
- package/shared/GameLoop.cpp +142 -51
- package/shared/GameLoop.hpp +10 -14
- package/shared/GameMethods.cpp +101 -10
- package/shared/GameMethods.hpp +19 -1
- package/shared/GameRenderer.cpp +420 -0
- package/shared/GameRenderer.hpp +65 -0
- package/shared/GameStats.hpp +3 -3
- package/shared/Overlap.hpp +9 -0
- package/shared/skia/include/android/AHardwareBufferUtils.h +26 -0
- package/shared/skia/include/android/GrAHardwareBufferUtils.h +97 -0
- package/shared/skia/include/android/SkAndroidFrameworkUtils.h +83 -0
- package/shared/skia/include/android/SkAnimatedImage.h +193 -0
- package/shared/skia/include/android/SkCanvasAndroid.h +20 -0
- package/shared/skia/include/android/SkImageAndroid.h +100 -0
- package/shared/skia/include/android/SkSurfaceAndroid.h +50 -0
- package/shared/skia/include/android/graphite/SurfaceAndroid.h +59 -0
- package/shared/skia/include/android/vk/AndroidVulkanMemoryAllocator.h +31 -0
- package/shared/skia/include/codec/SkAndroidCodec.h +302 -0
- package/shared/skia/include/codec/SkAvifDecoder.h +80 -0
- package/shared/skia/include/codec/SkBmpDecoder.h +44 -0
- package/shared/skia/include/codec/SkBmpRustDecoder.h +42 -0
- package/shared/skia/include/codec/SkCodec.h +1178 -0
- package/shared/skia/include/codec/SkCodecAnimation.h +61 -0
- package/shared/skia/include/codec/SkEncodedImageFormat.h +33 -0
- package/shared/skia/include/codec/SkEncodedOrigin.h +71 -0
- package/shared/skia/include/codec/SkGifDecoder.h +44 -0
- package/shared/skia/include/codec/SkIcoDecoder.h +44 -0
- package/shared/skia/include/codec/SkJpegDecoder.h +51 -0
- package/shared/skia/include/codec/SkJpegxlDecoder.h +44 -0
- package/shared/skia/include/codec/SkPixmapUtils.h +31 -0
- package/shared/skia/include/codec/SkPngChunkReader.h +45 -0
- package/shared/skia/include/codec/SkPngDecoder.h +51 -0
- package/shared/skia/include/codec/SkPngRustDecoder.h +30 -0
- package/shared/skia/include/codec/SkRawDecoder.h +50 -0
- package/shared/skia/include/codec/SkWbmpDecoder.h +44 -0
- package/shared/skia/include/codec/SkWebpDecoder.h +51 -0
- package/shared/skia/include/config/SkUserConfig.h +141 -0
- package/shared/skia/include/core/SkAlphaType.h +45 -0
- package/shared/skia/include/core/SkAnnotation.h +52 -0
- package/shared/skia/include/core/SkArc.h +69 -0
- package/shared/skia/include/core/SkBBHFactory.h +67 -0
- package/shared/skia/include/core/SkBitmap.h +1264 -0
- package/shared/skia/include/core/SkBlendMode.h +112 -0
- package/shared/skia/include/core/SkBlender.h +30 -0
- package/shared/skia/include/core/SkBlurTypes.h +20 -0
- package/shared/skia/include/core/SkCPUContext.h +31 -0
- package/shared/skia/include/core/SkCPURecorder.h +76 -0
- package/shared/skia/include/core/SkCanvas.h +2770 -0
- package/shared/skia/include/core/SkCanvasVirtualEnforcer.h +61 -0
- package/shared/skia/include/core/SkCapabilities.h +35 -0
- package/shared/skia/include/core/SkClipOp.h +19 -0
- package/shared/skia/include/core/SkColor.h +469 -0
- package/shared/skia/include/core/SkColorFilter.h +150 -0
- package/shared/skia/include/core/SkColorSpace.h +432 -0
- package/shared/skia/include/core/SkColorTable.h +62 -0
- package/shared/skia/include/core/SkColorType.h +159 -0
- package/shared/skia/include/core/SkContourMeasure.h +215 -0
- package/shared/skia/include/core/SkCoverageMode.h +28 -0
- package/shared/skia/include/core/SkCubicMap.h +47 -0
- package/shared/skia/include/core/SkData.h +225 -0
- package/shared/skia/include/core/SkDataTable.h +122 -0
- package/shared/skia/include/core/SkDocument.h +93 -0
- package/shared/skia/include/core/SkDrawable.h +178 -0
- package/shared/skia/include/core/SkExecutor.h +59 -0
- package/shared/skia/include/core/SkFlattenable.h +115 -0
- package/shared/skia/include/core/SkFont.h +536 -0
- package/shared/skia/include/core/SkFontArguments.h +116 -0
- package/shared/skia/include/core/SkFontMetrics.h +139 -0
- package/shared/skia/include/core/SkFontMgr.h +178 -0
- package/shared/skia/include/core/SkFontParameters.h +43 -0
- package/shared/skia/include/core/SkFontScanner.h +45 -0
- package/shared/skia/include/core/SkFontStyle.h +84 -0
- package/shared/skia/include/core/SkFontTypes.h +25 -0
- package/shared/skia/include/core/SkFourByteTag.h +19 -0
- package/shared/skia/include/core/SkGraphics.h +169 -0
- package/shared/skia/include/core/SkImage.h +918 -0
- package/shared/skia/include/core/SkImageFilter.h +119 -0
- package/shared/skia/include/core/SkImageGenerator.h +140 -0
- package/shared/skia/include/core/SkImageInfo.h +634 -0
- package/shared/skia/include/core/SkM44.h +442 -0
- package/shared/skia/include/core/SkMallocPixelRef.h +45 -0
- package/shared/skia/include/core/SkMaskFilter.h +45 -0
- package/shared/skia/include/core/SkMatrix.h +1887 -0
- package/shared/skia/include/core/SkMesh.h +429 -0
- package/shared/skia/include/core/SkMilestone.h +9 -0
- package/shared/skia/include/core/SkOpenTypeSVGDecoder.h +30 -0
- package/shared/skia/include/core/SkOverdrawCanvas.h +94 -0
- package/shared/skia/include/core/SkPaint.h +698 -0
- package/shared/skia/include/core/SkPath.h +1145 -0
- package/shared/skia/include/core/SkPathBuilder.h +1052 -0
- package/shared/skia/include/core/SkPathEffect.h +88 -0
- package/shared/skia/include/core/SkPathIter.h +90 -0
- package/shared/skia/include/core/SkPathMeasure.h +96 -0
- package/shared/skia/include/core/SkPathTypes.h +71 -0
- package/shared/skia/include/core/SkPathUtils.h +39 -0
- package/shared/skia/include/core/SkPicture.h +291 -0
- package/shared/skia/include/core/SkPictureRecorder.h +115 -0
- package/shared/skia/include/core/SkPixelRef.h +120 -0
- package/shared/skia/include/core/SkPixmap.h +736 -0
- package/shared/skia/include/core/SkPoint.h +560 -0
- package/shared/skia/include/core/SkPoint3.h +149 -0
- package/shared/skia/include/core/SkRRect.h +548 -0
- package/shared/skia/include/core/SkRSXform.h +71 -0
- package/shared/skia/include/core/SkRasterHandleAllocator.h +94 -0
- package/shared/skia/include/core/SkRecorder.h +49 -0
- package/shared/skia/include/core/SkRect.h +1419 -0
- package/shared/skia/include/core/SkRefCnt.h +391 -0
- package/shared/skia/include/core/SkRegion.h +701 -0
- package/shared/skia/include/core/SkSamplingOptions.h +107 -0
- package/shared/skia/include/core/SkScalar.h +148 -0
- package/shared/skia/include/core/SkSerialProcs.h +127 -0
- package/shared/skia/include/core/SkShader.h +123 -0
- package/shared/skia/include/core/SkSize.h +93 -0
- package/shared/skia/include/core/SkSpan.h +174 -0
- package/shared/skia/include/core/SkStream.h +524 -0
- package/shared/skia/include/core/SkStrikeRef.h +96 -0
- package/shared/skia/include/core/SkString.h +297 -0
- package/shared/skia/include/core/SkStrokeRec.h +160 -0
- package/shared/skia/include/core/SkSurface.h +689 -0
- package/shared/skia/include/core/SkSurfaceProps.h +122 -0
- package/shared/skia/include/core/SkSwizzle.h +21 -0
- package/shared/skia/include/core/SkTextBlob.h +541 -0
- package/shared/skia/include/core/SkTextureCompressionType.h +30 -0
- package/shared/skia/include/core/SkTileMode.h +41 -0
- package/shared/skia/include/core/SkTiledImageUtils.h +125 -0
- package/shared/skia/include/core/SkTraceMemoryDump.h +121 -0
- package/shared/skia/include/core/SkTypeface.h +468 -0
- package/shared/skia/include/core/SkTypes.h +193 -0
- package/shared/skia/include/core/SkUnPreMultiply.h +55 -0
- package/shared/skia/include/core/SkVertices.h +136 -0
- package/shared/skia/include/core/SkYUVAInfo.h +311 -0
- package/shared/skia/include/core/SkYUVAPixmaps.h +335 -0
- package/shared/skia/include/docs/SkMultiPictureDocument.h +53 -0
- package/shared/skia/include/docs/SkPDFDocument.h +277 -0
- package/shared/skia/include/docs/SkPDFJpegHelpers.h +41 -0
- package/shared/skia/include/docs/SkXPSDocument.h +43 -0
- package/shared/skia/include/effects/Sk1DPathEffect.h +40 -0
- package/shared/skia/include/effects/Sk2DPathEffect.h +33 -0
- package/shared/skia/include/effects/SkBlenders.h +27 -0
- package/shared/skia/include/effects/SkBlurMaskFilter.h +35 -0
- package/shared/skia/include/effects/SkColorMatrix.h +57 -0
- package/shared/skia/include/effects/SkColorMatrixFilter.h +22 -0
- package/shared/skia/include/effects/SkCornerPathEffect.h +32 -0
- package/shared/skia/include/effects/SkDashPathEffect.h +43 -0
- package/shared/skia/include/effects/SkDiscretePathEffect.h +37 -0
- package/shared/skia/include/effects/SkGradient.h +206 -0
- package/shared/skia/include/effects/SkHighContrastFilter.h +84 -0
- package/shared/skia/include/effects/SkImageFilters.h +641 -0
- package/shared/skia/include/effects/SkLumaColorFilter.h +37 -0
- package/shared/skia/include/effects/SkOverdrawColorFilter.h +33 -0
- package/shared/skia/include/effects/SkPerlinNoiseShader.h +53 -0
- package/shared/skia/include/effects/SkRuntimeEffect.h +503 -0
- package/shared/skia/include/effects/SkShaderMaskFilter.h +28 -0
- package/shared/skia/include/effects/SkTableMaskFilter.h +47 -0
- package/shared/skia/include/effects/SkTrimPathEffect.h +45 -0
- package/shared/skia/include/encode/SkEncoder.h +63 -0
- package/shared/skia/include/encode/SkICC.h +36 -0
- package/shared/skia/include/encode/SkJpegEncoder.h +127 -0
- package/shared/skia/include/encode/SkPngEncoder.h +132 -0
- package/shared/skia/include/encode/SkPngRustEncoder.h +121 -0
- package/shared/skia/include/encode/SkWebpEncoder.h +87 -0
- package/shared/skia/include/gpu/GpuTypes.h +98 -0
- package/shared/skia/include/gpu/MutableTextureState.h +68 -0
- package/shared/skia/include/gpu/ShaderErrorHandler.h +46 -0
- package/shared/skia/include/gpu/ganesh/GrBackendSemaphore.h +50 -0
- package/shared/skia/include/gpu/ganesh/GrBackendSurface.h +257 -0
- package/shared/skia/include/gpu/ganesh/GrContextOptions.h +384 -0
- package/shared/skia/include/gpu/ganesh/GrContextThreadSafeProxy.h +175 -0
- package/shared/skia/include/gpu/ganesh/GrDirectContext.h +1027 -0
- package/shared/skia/include/gpu/ganesh/GrDriverBugWorkarounds.h +53 -0
- package/shared/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h +49 -0
- package/shared/skia/include/gpu/ganesh/GrExternalTextureGenerator.h +54 -0
- package/shared/skia/include/gpu/ganesh/GrRecordingContext.h +300 -0
- package/shared/skia/include/gpu/ganesh/GrTypes.h +193 -0
- package/shared/skia/include/gpu/ganesh/GrYUVABackendTextures.h +130 -0
- package/shared/skia/include/gpu/ganesh/SkImageGanesh.h +361 -0
- package/shared/skia/include/gpu/ganesh/SkMeshGanesh.h +57 -0
- package/shared/skia/include/gpu/ganesh/SkSurfaceGanesh.h +218 -0
- package/shared/skia/include/gpu/ganesh/d3d/GrD3DBackendContext.h +35 -0
- package/shared/skia/include/gpu/ganesh/d3d/GrD3DBackendSemaphore.h +20 -0
- package/shared/skia/include/gpu/ganesh/d3d/GrD3DBackendSurface.h +59 -0
- package/shared/skia/include/gpu/ganesh/d3d/GrD3DDirectContext.h +28 -0
- package/shared/skia/include/gpu/ganesh/d3d/GrD3DTypes.h +248 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLAssembleHelpers.h +17 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLAssembleInterface.h +45 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLBackendSurface.h +64 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLConfig.h +69 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLDirectContext.h +30 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLExtensions.h +79 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLFunctions.h +313 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLInterface.h +337 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLMakeWebGLInterface.h +19 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLTypes.h +219 -0
- package/shared/skia/include/gpu/ganesh/gl/egl/GrGLMakeEGLInterface.h +23 -0
- package/shared/skia/include/gpu/ganesh/gl/epoxy/GrGLMakeEpoxyEGLInterface.h +20 -0
- package/shared/skia/include/gpu/ganesh/gl/glx/GrGLMakeGLXInterface.h +23 -0
- package/shared/skia/include/gpu/ganesh/gl/ios/GrGLMakeIOSInterface.h +20 -0
- package/shared/skia/include/gpu/ganesh/gl/mac/GrGLMakeMacInterface.h +20 -0
- package/shared/skia/include/gpu/ganesh/gl/win/GrGLMakeWinInterface.h +20 -0
- package/shared/skia/include/gpu/ganesh/mock/GrMockBackendSurface.h +59 -0
- package/shared/skia/include/gpu/ganesh/mock/GrMockTypes.h +166 -0
- package/shared/skia/include/gpu/ganesh/mtl/GrMtlBackendContext.h +21 -0
- package/shared/skia/include/gpu/ganesh/mtl/GrMtlBackendSemaphore.h +23 -0
- package/shared/skia/include/gpu/ganesh/mtl/GrMtlBackendSurface.h +44 -0
- package/shared/skia/include/gpu/ganesh/mtl/GrMtlDirectContext.h +30 -0
- package/shared/skia/include/gpu/ganesh/mtl/GrMtlTypes.h +61 -0
- package/shared/skia/include/gpu/ganesh/mtl/SkSurfaceMetal.h +73 -0
- package/shared/skia/include/gpu/ganesh/vk/GrBackendDrawableInfo.h +44 -0
- package/shared/skia/include/gpu/ganesh/vk/GrVkBackendSemaphore.h +20 -0
- package/shared/skia/include/gpu/ganesh/vk/GrVkBackendSurface.h +71 -0
- package/shared/skia/include/gpu/ganesh/vk/GrVkDirectContext.h +33 -0
- package/shared/skia/include/gpu/ganesh/vk/GrVkTypes.h +101 -0
- package/shared/skia/include/gpu/graphite/BackendSemaphore.h +60 -0
- package/shared/skia/include/gpu/graphite/BackendTexture.h +65 -0
- package/shared/skia/include/gpu/graphite/Context.h +440 -0
- package/shared/skia/include/gpu/graphite/ContextOptions.h +239 -0
- package/shared/skia/include/gpu/graphite/GraphiteTypes.h +315 -0
- package/shared/skia/include/gpu/graphite/Image.h +428 -0
- package/shared/skia/include/gpu/graphite/ImageProvider.h +68 -0
- package/shared/skia/include/gpu/graphite/PersistentPipelineStorage.h +45 -0
- package/shared/skia/include/gpu/graphite/PrecompileContext.h +109 -0
- package/shared/skia/include/gpu/graphite/Recorder.h +355 -0
- package/shared/skia/include/gpu/graphite/Recording.h +100 -0
- package/shared/skia/include/gpu/graphite/Surface.h +121 -0
- package/shared/skia/include/gpu/graphite/TextureInfo.h +133 -0
- package/shared/skia/include/gpu/graphite/YUVABackendTextures.h +148 -0
- package/shared/skia/include/gpu/graphite/dawn/DawnBackendContext.h +77 -0
- package/shared/skia/include/gpu/graphite/dawn/DawnGraphiteTypes.h +163 -0
- package/shared/skia/include/gpu/graphite/dawn/DawnTypes.h +9 -0
- package/shared/skia/include/gpu/graphite/dawn/DawnUtils.h +9 -0
- package/shared/skia/include/gpu/graphite/mtl/MtlBackendContext.h +34 -0
- package/shared/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +73 -0
- package/shared/skia/include/gpu/graphite/mtl/MtlGraphiteTypesUtils.h +10 -0
- package/shared/skia/include/gpu/graphite/mtl/MtlGraphiteTypes_cpp.h +50 -0
- package/shared/skia/include/gpu/graphite/mtl/MtlGraphiteUtils.h +9 -0
- package/shared/skia/include/gpu/graphite/precompile/PaintOptions.h +211 -0
- package/shared/skia/include/gpu/graphite/precompile/Precompile.h +59 -0
- package/shared/skia/include/gpu/graphite/precompile/PrecompileBase.h +76 -0
- package/shared/skia/include/gpu/graphite/precompile/PrecompileBlender.h +56 -0
- package/shared/skia/include/gpu/graphite/precompile/PrecompileColorFilter.h +95 -0
- package/shared/skia/include/gpu/graphite/precompile/PrecompileImageFilter.h +116 -0
- package/shared/skia/include/gpu/graphite/precompile/PrecompileMaskFilter.h +49 -0
- package/shared/skia/include/gpu/graphite/precompile/PrecompileRuntimeEffect.h +47 -0
- package/shared/skia/include/gpu/graphite/precompile/PrecompileShader.h +268 -0
- package/shared/skia/include/gpu/graphite/vk/VulkanGraphiteContext.h +31 -0
- package/shared/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +104 -0
- package/shared/skia/include/gpu/graphite/vk/precompile/VulkanPrecompileShader.h +39 -0
- package/shared/skia/include/gpu/mtl/MtlMemoryAllocator.h +41 -0
- package/shared/skia/include/gpu/vk/VulkanBackendContext.h +57 -0
- package/shared/skia/include/gpu/vk/VulkanExtensions.h +73 -0
- package/shared/skia/include/gpu/vk/VulkanMemoryAllocator.h +117 -0
- package/shared/skia/include/gpu/vk/VulkanMutableTextureState.h +26 -0
- package/shared/skia/include/gpu/vk/VulkanPreferredFeatures.h +225 -0
- package/shared/skia/include/gpu/vk/VulkanTypes.h +245 -0
- package/shared/skia/include/pathops/SkPathOps.h +150 -0
- package/shared/skia/include/ports/SkCFObject.h +180 -0
- package/shared/skia/include/ports/SkFontConfigInterface.h +112 -0
- package/shared/skia/include/ports/SkFontMgr_FontConfigInterface.h +24 -0
- package/shared/skia/include/ports/SkFontMgr_Fontations.h +20 -0
- package/shared/skia/include/ports/SkFontMgr_android.h +48 -0
- package/shared/skia/include/ports/SkFontMgr_android_ndk.h +27 -0
- package/shared/skia/include/ports/SkFontMgr_data.h +22 -0
- package/shared/skia/include/ports/SkFontMgr_directory.h +21 -0
- package/shared/skia/include/ports/SkFontMgr_empty.h +21 -0
- package/shared/skia/include/ports/SkFontMgr_fontconfig.h +24 -0
- package/shared/skia/include/ports/SkFontMgr_fuchsia.h +21 -0
- package/shared/skia/include/ports/SkFontMgr_mac_ct.h +27 -0
- package/shared/skia/include/ports/SkFontScanner_Fontations.h +15 -0
- package/shared/skia/include/ports/SkFontScanner_FreeType.h +15 -0
- package/shared/skia/include/ports/SkImageGeneratorCG.h +28 -0
- package/shared/skia/include/ports/SkImageGeneratorNDK.h +40 -0
- package/shared/skia/include/ports/SkImageGeneratorWIC.h +41 -0
- package/shared/skia/include/ports/SkTypeface_fontations.h +24 -0
- package/shared/skia/include/ports/SkTypeface_mac.h +44 -0
- package/shared/skia/include/ports/SkTypeface_win.h +63 -0
- package/shared/skia/include/private/SingleOwner.h +75 -0
- package/shared/skia/include/private/SkAPI.h +52 -0
- package/shared/skia/include/private/SkASAN.h +56 -0
- package/shared/skia/include/private/SkAlign.h +51 -0
- package/shared/skia/include/private/SkAlignedStorage.h +32 -0
- package/shared/skia/include/private/SkAnySubclass.h +79 -0
- package/shared/skia/include/private/SkAssert.h +203 -0
- package/shared/skia/include/private/SkAttributes.h +96 -0
- package/shared/skia/include/private/SkCPUTypes.h +25 -0
- package/shared/skia/include/private/SkContainers.h +54 -0
- package/shared/skia/include/private/SkDebug.h +27 -0
- package/shared/skia/include/private/SkDeque.h +138 -0
- package/shared/skia/include/private/SkEncodedInfo.h +249 -0
- package/shared/skia/include/private/SkEnumBitMask.h +92 -0
- package/shared/skia/include/private/SkExif.h +69 -0
- package/shared/skia/include/private/SkFeatures.h +173 -0
- package/shared/skia/include/private/SkFixed.h +143 -0
- package/shared/skia/include/private/SkFloatingPoint.h +183 -0
- package/shared/skia/include/private/SkGainmapInfo.h +140 -0
- package/shared/skia/include/private/SkGainmapShader.h +60 -0
- package/shared/skia/include/private/SkHdrMetadata.h +357 -0
- package/shared/skia/include/private/SkIDChangeListener.h +76 -0
- package/shared/skia/include/private/SkJpegGainmapEncoder.h +48 -0
- package/shared/skia/include/private/SkJpegMetadataDecoder.h +103 -0
- package/shared/skia/include/private/SkLoadUserConfig.h +64 -0
- package/shared/skia/include/private/SkLog.h +62 -0
- package/shared/skia/include/private/SkLogPriority.h +34 -0
- package/shared/skia/include/private/SkMacros.h +170 -0
- package/shared/skia/include/private/SkMalloc.h +152 -0
- package/shared/skia/include/private/SkMath.h +77 -0
- package/shared/skia/include/private/SkMutex.h +72 -0
- package/shared/skia/include/private/SkNoncopyable.h +30 -0
- package/shared/skia/include/private/SkOnce.h +55 -0
- package/shared/skia/include/private/SkPathRef.h +90 -0
- package/shared/skia/include/private/SkPixelStorage.h +52 -0
- package/shared/skia/include/private/SkSLSampleUsage.h +85 -0
- package/shared/skia/include/private/SkSafe32.h +49 -0
- package/shared/skia/include/private/SkSemaphore.h +84 -0
- package/shared/skia/include/private/SkTArray.h +823 -0
- package/shared/skia/include/private/SkTDArray.h +247 -0
- package/shared/skia/include/private/SkTFitsIn.h +92 -0
- package/shared/skia/include/private/SkTLogic.h +56 -0
- package/shared/skia/include/private/SkTPin.h +23 -0
- package/shared/skia/include/private/SkTemplates.h +500 -0
- package/shared/skia/include/private/SkThreadAnnotations.h +104 -0
- package/shared/skia/include/private/SkThreadID.h +23 -0
- package/shared/skia/include/private/SkTo.h +39 -0
- package/shared/skia/include/private/SkTypeTraits.h +53 -0
- package/shared/skia/include/private/SkWeakRefCnt.h +173 -0
- package/shared/skia/include/private/SkXmp.h +62 -0
- package/shared/skia/include/private/chromium/GrDeferredDisplayList.h +120 -0
- package/shared/skia/include/private/chromium/GrDeferredDisplayListRecorder.h +62 -0
- package/shared/skia/include/private/chromium/GrPromiseImageTexture.h +43 -0
- package/shared/skia/include/private/chromium/GrSurfaceCharacterization.h +211 -0
- package/shared/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +131 -0
- package/shared/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +150 -0
- package/shared/skia/include/private/chromium/SkCodecsICCProfileChromium.h +52 -0
- package/shared/skia/include/private/chromium/SkDiscardableMemory.h +70 -0
- package/shared/skia/include/private/chromium/SkExifChromium.h +26 -0
- package/shared/skia/include/private/chromium/SkImageChromium.h +117 -0
- package/shared/skia/include/private/chromium/SkPMColor.h +38 -0
- package/shared/skia/include/private/chromium/Slug.h +72 -0
- package/shared/skia/include/private/gpu/ganesh/GrContext_Base.h +104 -0
- package/shared/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +60 -0
- package/shared/skia/include/private/gpu/ganesh/GrImageContext.h +56 -0
- package/shared/skia/include/private/gpu/ganesh/GrTextureGenerator.h +66 -0
- package/shared/skia/include/private/gpu/ganesh/GrTypesPriv.h +959 -0
- package/shared/skia/include/private/gpu/vk/SkiaVulkan.h +36 -0
- package/shared/skia/include/sksl/SkSLDebugTrace.h +25 -0
- package/shared/skia/include/sksl/SkSLVersion.h +27 -0
- package/shared/skia/include/svg/SkSVGCanvas.h +62 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_icd.h +245 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_layer.h +192 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_platform.h +84 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std.h +394 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_decode.h +109 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_encode.h +143 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std.h +312 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_decode.h +77 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_encode.h +147 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std.h +446 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_decode.h +67 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_encode.h +157 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_vp9std.h +151 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_vp9std_decode.h +68 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codecs_common.h +36 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan.h +103 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_android.h +159 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_beta.h +375 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_core.h +25896 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_directfb.h +59 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_fuchsia.h +282 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_ggp.h +62 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_ios.h +50 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_macos.h +50 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_metal.h +244 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_ohos.h +120 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_screen.h +114 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_vi.h +50 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_wayland.h +59 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_win32.h +372 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_xcb.h +60 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_xlib.h +60 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_xlib_xrandr.h +50 -0
- package/shared/skia/include/utils/SkCamera.h +109 -0
- package/shared/skia/include/utils/SkCanvasStateUtils.h +81 -0
- package/shared/skia/include/utils/SkCustomTypeface.h +70 -0
- package/shared/skia/include/utils/SkEventTracer.h +93 -0
- package/shared/skia/include/utils/SkNWayCanvas.h +123 -0
- package/shared/skia/include/utils/SkNoDrawCanvas.h +78 -0
- package/shared/skia/include/utils/SkNullCanvas.h +22 -0
- package/shared/skia/include/utils/SkOrderedFontMgr.h +66 -0
- package/shared/skia/include/utils/SkPaintFilterCanvas.h +140 -0
- package/shared/skia/include/utils/SkParse.h +36 -0
- package/shared/skia/include/utils/SkParsePath.h +33 -0
- package/shared/skia/include/utils/SkShadowUtils.h +102 -0
- package/shared/skia/include/utils/SkTextUtils.h +43 -0
- package/shared/skia/include/utils/SkTraceEventPhase.h +19 -0
- package/shared/skia/include/utils/mac/SkCGUtils.h +90 -0
- package/shared/skia/modules/jsonreader/SkJSONReader.cpp +996 -0
- package/shared/skia/modules/jsonreader/SkJSONReader.h +389 -0
- package/shared/skia/modules/skcms/skcms.h +10 -0
- package/shared/skia/modules/skcms/src/Transform_inl.h +1600 -0
- package/shared/skia/modules/skcms/src/skcms_Transform.h +167 -0
- package/shared/skia/modules/skcms/src/skcms_internals.h +157 -0
- package/shared/skia/modules/skcms/src/skcms_public.h +496 -0
- package/shared/skia/modules/skottie/include/ExternalLayer.h +56 -0
- package/shared/skia/modules/skottie/include/Skottie.h +324 -0
- package/shared/skia/modules/skottie/include/SkottieProperty.h +190 -0
- package/shared/skia/modules/skottie/include/SlotManager.h +113 -0
- package/shared/skia/modules/skottie/include/TextShaper.h +197 -0
- package/shared/skia/modules/skottie/src/SkottieValue.h +56 -0
- package/shared/skia/modules/skottie/src/animator/Animator.h +89 -0
- package/shared/skia/modules/skottie/src/text/Font.h +82 -0
- package/shared/skia/modules/skottie/src/text/TextAdapter.h +155 -0
- package/shared/skia/modules/skottie/src/text/TextAnimator.h +122 -0
- package/shared/skia/modules/skottie/src/text/TextValue.h +28 -0
- package/shared/skia/modules/skparagraph/include/DartTypes.h +153 -0
- package/shared/skia/modules/skparagraph/include/FontArguments.h +46 -0
- package/shared/skia/modules/skparagraph/include/FontCollection.h +76 -0
- package/shared/skia/modules/skparagraph/include/Metrics.h +98 -0
- package/shared/skia/modules/skparagraph/include/Paragraph.h +289 -0
- package/shared/skia/modules/skparagraph/include/ParagraphBuilder.h +94 -0
- package/shared/skia/modules/skparagraph/include/ParagraphCache.h +52 -0
- package/shared/skia/modules/skparagraph/include/ParagraphPainter.h +63 -0
- package/shared/skia/modules/skparagraph/include/ParagraphStyle.h +160 -0
- package/shared/skia/modules/skparagraph/include/TextShadow.h +30 -0
- package/shared/skia/modules/skparagraph/include/TextStyle.h +392 -0
- package/shared/skia/modules/skparagraph/include/TypefaceFontProvider.h +78 -0
- package/shared/skia/modules/skresources/include/SkResources.h +291 -0
- package/shared/skia/modules/sksg/include/SkSGClipEffect.h +61 -0
- package/shared/skia/modules/sksg/include/SkSGColorFilter.h +135 -0
- package/shared/skia/modules/sksg/include/SkSGDraw.h +57 -0
- package/shared/skia/modules/sksg/include/SkSGEffectNode.h +50 -0
- package/shared/skia/modules/sksg/include/SkSGGeometryEffect.h +207 -0
- package/shared/skia/modules/sksg/include/SkSGGeometryNode.h +54 -0
- package/shared/skia/modules/sksg/include/SkSGGradient.h +108 -0
- package/shared/skia/modules/sksg/include/SkSGGroup.h +65 -0
- package/shared/skia/modules/sksg/include/SkSGImage.h +59 -0
- package/shared/skia/modules/sksg/include/SkSGInvalidationController.h +46 -0
- package/shared/skia/modules/sksg/include/SkSGMaskEffect.h +65 -0
- package/shared/skia/modules/sksg/include/SkSGMerge.h +74 -0
- package/shared/skia/modules/sksg/include/SkSGNode.h +128 -0
- package/shared/skia/modules/sksg/include/SkSGOpacityEffect.h +54 -0
- package/shared/skia/modules/sksg/include/SkSGPaint.h +112 -0
- package/shared/skia/modules/sksg/include/SkSGPath.h +68 -0
- package/shared/skia/modules/sksg/include/SkSGPlane.h +47 -0
- package/shared/skia/modules/sksg/include/SkSGRect.h +122 -0
- package/shared/skia/modules/sksg/include/SkSGRenderEffect.h +283 -0
- package/shared/skia/modules/sksg/include/SkSGRenderNode.h +157 -0
- package/shared/skia/modules/sksg/include/SkSGScene.h +47 -0
- package/shared/skia/modules/sksg/include/SkSGText.h +82 -0
- package/shared/skia/modules/sksg/include/SkSGTransform.h +127 -0
- package/shared/skia/modules/skshaper/include/SkShaper.h +318 -0
- package/shared/skia/modules/skshaper/include/SkShaper_coretext.h +26 -0
- package/shared/skia/modules/skshaper/include/SkShaper_factory.h +41 -0
- package/shared/skia/modules/skshaper/include/SkShaper_harfbuzz.h +39 -0
- package/shared/skia/modules/skshaper/include/SkShaper_skunicode.h +28 -0
- package/shared/skia/modules/skunicode/include/SkUnicode.h +321 -0
- package/shared/skia/modules/skunicode/include/SkUnicode_icu.h +18 -0
- package/shared/skia/modules/skunicode/include/SkUnicode_libgrapheme.h +19 -0
- package/shared/skia/modules/svg/include/SkSVGAttribute.h +110 -0
- package/shared/skia/modules/svg/include/SkSVGAttributeParser.h +170 -0
- package/shared/skia/modules/svg/include/SkSVGCircle.h +56 -0
- package/shared/skia/modules/svg/include/SkSVGClipPath.h +41 -0
- package/shared/skia/modules/svg/include/SkSVGContainer.h +52 -0
- package/shared/skia/modules/svg/include/SkSVGDOM.h +111 -0
- package/shared/skia/modules/svg/include/SkSVGDefs.h +23 -0
- package/shared/skia/modules/svg/include/SkSVGEllipse.h +51 -0
- package/shared/skia/modules/svg/include/SkSVGFe.h +93 -0
- package/shared/skia/modules/svg/include/SkSVGFeBlend.h +54 -0
- package/shared/skia/modules/svg/include/SkSVGFeColorMatrix.h +55 -0
- package/shared/skia/modules/svg/include/SkSVGFeComponentTransfer.h +82 -0
- package/shared/skia/modules/svg/include/SkSVGFeComposite.h +55 -0
- package/shared/skia/modules/svg/include/SkSVGFeDisplacementMap.h +56 -0
- package/shared/skia/modules/svg/include/SkSVGFeFlood.h +42 -0
- package/shared/skia/modules/svg/include/SkSVGFeGaussianBlur.h +50 -0
- package/shared/skia/modules/svg/include/SkSVGFeImage.h +44 -0
- package/shared/skia/modules/svg/include/SkSVGFeLightSource.h +93 -0
- package/shared/skia/modules/svg/include/SkSVGFeLighting.h +131 -0
- package/shared/skia/modules/svg/include/SkSVGFeMerge.h +63 -0
- package/shared/skia/modules/svg/include/SkSVGFeMorphology.h +55 -0
- package/shared/skia/modules/svg/include/SkSVGFeOffset.h +44 -0
- package/shared/skia/modules/svg/include/SkSVGFeTurbulence.h +49 -0
- package/shared/skia/modules/svg/include/SkSVGFilter.h +48 -0
- package/shared/skia/modules/svg/include/SkSVGFilterContext.h +69 -0
- package/shared/skia/modules/svg/include/SkSVGG.h +23 -0
- package/shared/skia/modules/svg/include/SkSVGGradient.h +56 -0
- package/shared/skia/modules/svg/include/SkSVGHiddenContainer.h +23 -0
- package/shared/skia/modules/svg/include/SkSVGIDMapper.h +19 -0
- package/shared/skia/modules/svg/include/SkSVGImage.h +67 -0
- package/shared/skia/modules/svg/include/SkSVGLine.h +53 -0
- package/shared/skia/modules/svg/include/SkSVGLinearGradient.h +47 -0
- package/shared/skia/modules/svg/include/SkSVGMask.h +49 -0
- package/shared/skia/modules/svg/include/SkSVGNode.h +235 -0
- package/shared/skia/modules/svg/include/SkSVGOpenTypeSVGDecoder.h +37 -0
- package/shared/skia/modules/svg/include/SkSVGPath.h +46 -0
- package/shared/skia/modules/svg/include/SkSVGPattern.h +61 -0
- package/shared/skia/modules/svg/include/SkSVGPoly.h +56 -0
- package/shared/skia/modules/svg/include/SkSVGRadialGradient.h +48 -0
- package/shared/skia/modules/svg/include/SkSVGRect.h +56 -0
- package/shared/skia/modules/svg/include/SkSVGRenderContext.h +229 -0
- package/shared/skia/modules/svg/include/SkSVGSVG.h +60 -0
- package/shared/skia/modules/svg/include/SkSVGShape.h +40 -0
- package/shared/skia/modules/svg/include/SkSVGStop.h +36 -0
- package/shared/skia/modules/svg/include/SkSVGText.h +128 -0
- package/shared/skia/modules/svg/include/SkSVGTransformableNode.h +48 -0
- package/shared/skia/modules/svg/include/SkSVGTypes.h +740 -0
- package/shared/skia/modules/svg/include/SkSVGUse.h +49 -0
- package/shared/skia/modules/svg/include/SkSVGValue.h +85 -0
- package/shared/skia/src/core/SkArenaAlloc.h +371 -0
- package/shared/skia/src/core/SkAutoLocaleSetter.h +94 -0
- package/shared/skia/src/core/SkChecksum.h +118 -0
- package/shared/skia/src/core/SkLRUCache.h +143 -0
- package/shared/skia/src/core/SkMathPriv.h +225 -0
- package/shared/skia/src/core/SkTHash.h +714 -0
- package/shared/skia/src/core/SkTInternalLList.h +304 -0
- package/shared/skia/src/core/SkTLazy.h +216 -0
- package/shared/skia/src/core/SkUTF.h +102 -0
- package/shared/skia/src/gpu/ganesh/gl/GrGLDefines.h +1162 -0
- package/src/GameMethods.nitro.ts +12 -2
- package/src/GameMethods.ts +57 -2
- package/src/index.tsx +1 -1
- package/src/nativeTypes.ts +13 -0
- package/src/types.ts +7 -9
- package/android/src/main/cpp/GameLoopJNI.cpp +0 -132
- package/android/src/main/java/com/margelo/nitro/rngine/Asset.kt +0 -9
- package/android/src/main/java/com/margelo/nitro/rngine/GameAssets.kt +0 -61
- package/android/src/main/java/com/margelo/nitro/rngine/Screen.kt +0 -9
- package/android/src/main/java/com/margelo/nitro/rngine/Shape.kt +0 -26
- package/android/src/main/java/com/margelo/nitro/rngine/Snapshot.kt +0 -3
- package/android/src/main/java/com/margelo/nitro/rngine/SnapshotSerializer.kt +0 -53
- package/lib/module/GameAssets.js +0 -41
- package/lib/module/GameAssets.js.map +0 -1
- package/lib/module/GameAssets.nitro.js +0 -5
- package/lib/module/GameAssets.nitro.js.map +0 -1
- package/lib/typescript/src/GameAssets.d.ts +0 -2
- package/lib/typescript/src/GameAssets.d.ts.map +0 -1
- package/lib/typescript/src/GameAssets.nitro.d.ts +0 -12
- package/lib/typescript/src/GameAssets.nitro.d.ts.map +0 -1
- package/nitrogen/generated/android/c++/JHybridGameAssetsSpec.cpp +0 -86
- package/nitrogen/generated/android/c++/JHybridGameAssetsSpec.hpp +0 -65
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngine/HybridGameAssetsSpec.kt +0 -63
- package/nitrogen/generated/ios/c++/HybridGameAssetsSpecSwift.cpp +0 -11
- package/nitrogen/generated/ios/c++/HybridGameAssetsSpecSwift.hpp +0 -99
- package/nitrogen/generated/ios/swift/Func_void.swift +0 -46
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +0 -46
- package/nitrogen/generated/ios/swift/HybridGameAssetsSpec.swift +0 -57
- package/nitrogen/generated/ios/swift/HybridGameAssetsSpec_cxx.swift +0 -176
- package/nitrogen/generated/shared/c++/HybridGameAssetsSpec.cpp +0 -23
- package/nitrogen/generated/shared/c++/HybridGameAssetsSpec.hpp +0 -65
- package/src/GameAssets.nitro.ts +0 -14
- package/src/GameAssets.ts +0 -47
package/src/GameMethods.nitro.ts
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import type { HybridObject } from 'react-native-nitro-modules';
|
|
2
|
-
import type {
|
|
2
|
+
import type {
|
|
3
|
+
Entity,
|
|
4
|
+
EntityUpdate,
|
|
5
|
+
System,
|
|
6
|
+
Screen,
|
|
7
|
+
World,
|
|
8
|
+
} from './nativeTypes';
|
|
3
9
|
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
10
|
|
|
5
11
|
interface GameMethods extends HybridObject<{
|
|
6
12
|
ios: 'c++';
|
|
7
13
|
android: 'c++';
|
|
8
14
|
}> {
|
|
9
|
-
|
|
15
|
+
setWorld(world: World): void;
|
|
10
16
|
setScreen(screen: Screen): void;
|
|
11
17
|
setEntities(entities: Entity[]): void;
|
|
12
18
|
setSystems(systems: System[]): void;
|
|
@@ -15,6 +21,10 @@ interface GameMethods extends HybridObject<{
|
|
|
15
21
|
spawn(entities: Entity[]): void;
|
|
16
22
|
despawn(id: string): void;
|
|
17
23
|
update(updates: EntityUpdate[]): void;
|
|
24
|
+
|
|
25
|
+
isAssetLoaded(id: number): boolean;
|
|
26
|
+
loadLottie(id: number, jsonStr: string): Promise<boolean>;
|
|
27
|
+
loadSvg(id: number, svgUri: string): Promise<boolean>;
|
|
18
28
|
}
|
|
19
29
|
|
|
20
30
|
export const gameMethods =
|
package/src/GameMethods.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { gameMethods } from './GameMethods.nitro';
|
|
2
2
|
import type { Entity, EntityUpdate, System } from './nativeTypes';
|
|
3
3
|
import type { Config } from './types';
|
|
4
|
+
import { Image } from 'react-native';
|
|
4
5
|
|
|
5
6
|
/** Sets up the game engine with the given configuration. Call this before anything else. */
|
|
6
7
|
export const configure = ({
|
|
7
|
-
|
|
8
|
+
world,
|
|
8
9
|
screen,
|
|
9
10
|
entities = [],
|
|
10
11
|
systems = [],
|
|
@@ -25,7 +26,7 @@ export const configure = ({
|
|
|
25
26
|
});
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
gameMethods.
|
|
29
|
+
gameMethods.setWorld(world);
|
|
29
30
|
gameMethods.setScreen(screen);
|
|
30
31
|
gameMethods.setEntities(entities);
|
|
31
32
|
gameMethods.setSystems(nativeSystems);
|
|
@@ -56,3 +57,57 @@ export const update = (updates: EntityUpdate | EntityUpdate[]) => {
|
|
|
56
57
|
const entityUpdateArray = Array.isArray(updates) ? updates : [updates];
|
|
57
58
|
gameMethods.update(entityUpdateArray);
|
|
58
59
|
};
|
|
60
|
+
|
|
61
|
+
const assetCache = new WeakMap<object, number>();
|
|
62
|
+
let nextId = -1;
|
|
63
|
+
|
|
64
|
+
const loadAsset = async (asset: unknown) => {
|
|
65
|
+
switch (typeof asset) {
|
|
66
|
+
case 'object':
|
|
67
|
+
if (asset === null) {
|
|
68
|
+
throw new Error('loadAssets: asset cannot be null');
|
|
69
|
+
}
|
|
70
|
+
if (assetCache.has(asset)) {
|
|
71
|
+
return assetCache.get(asset)!;
|
|
72
|
+
}
|
|
73
|
+
const assetId = nextId--;
|
|
74
|
+
assetCache.set(asset, assetId);
|
|
75
|
+
const isLottieLoaded = await gameMethods.loadLottie(
|
|
76
|
+
assetId,
|
|
77
|
+
JSON.stringify(asset)
|
|
78
|
+
);
|
|
79
|
+
if (!isLottieLoaded) {
|
|
80
|
+
throw new Error('loadAssets: Failed to load lottie asset');
|
|
81
|
+
}
|
|
82
|
+
return assetId;
|
|
83
|
+
|
|
84
|
+
case 'number':
|
|
85
|
+
if (gameMethods.isAssetLoaded(asset)) {
|
|
86
|
+
return asset;
|
|
87
|
+
}
|
|
88
|
+
const assetUri = Image.resolveAssetSource(asset)?.uri;
|
|
89
|
+
if (!assetUri) {
|
|
90
|
+
throw new Error(`loadAssets: could not resolve asset URI for ${asset}`);
|
|
91
|
+
}
|
|
92
|
+
const isSvgLoaded = await gameMethods.loadSvg(asset, assetUri);
|
|
93
|
+
if (!isSvgLoaded) {
|
|
94
|
+
throw new Error('loadAssets: Failed to load svg asset');
|
|
95
|
+
}
|
|
96
|
+
return asset;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
throw new Error(`loadAssets: unsupported asset type "${typeof asset}"`);
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
export const loadAssets = async <T extends Record<string, unknown>>(
|
|
103
|
+
assets: T
|
|
104
|
+
): Promise<{ [K in keyof T]: number }> => {
|
|
105
|
+
const keys = Object.keys(assets) as (keyof T)[];
|
|
106
|
+
const result = {} as { [K in keyof T]: number };
|
|
107
|
+
|
|
108
|
+
for (const key of keys) {
|
|
109
|
+
result[key] = await loadAsset(assets[key]);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
return result;
|
|
113
|
+
};
|
package/src/index.tsx
CHANGED
package/src/nativeTypes.ts
CHANGED
|
@@ -20,6 +20,8 @@ interface Circle {
|
|
|
20
20
|
interface Shaped {
|
|
21
21
|
/** Shape of the entity. */
|
|
22
22
|
shape: Rect | Circle;
|
|
23
|
+
/** Indicates whether the entity is a sensor. Sensors trigger collision events but don't react physically. */
|
|
24
|
+
isSensor?: boolean;
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
interface Renderable {
|
|
@@ -40,6 +42,17 @@ interface Kinematic {
|
|
|
40
42
|
ax?: number;
|
|
41
43
|
/** Vertical acceleration in game units per second squared. */
|
|
42
44
|
ay?: number;
|
|
45
|
+
/** Mass in arbitrary units. */
|
|
46
|
+
mass?: number;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface World {
|
|
50
|
+
/** Number of game logic updates per second. */
|
|
51
|
+
tickRate: number;
|
|
52
|
+
/** Horizontal gravitational acceleration in game units per second squared. */
|
|
53
|
+
gx?: number;
|
|
54
|
+
/** Vertical gravitational acceleration in game units per second squared. */
|
|
55
|
+
gy?: number;
|
|
43
56
|
}
|
|
44
57
|
|
|
45
58
|
export interface Screen extends Rect, Renderable {}
|
package/src/types.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type {
|
|
|
3
3
|
Collision,
|
|
4
4
|
Screen,
|
|
5
5
|
Entity,
|
|
6
|
+
World,
|
|
6
7
|
} from './nativeTypes';
|
|
7
8
|
|
|
8
9
|
export type System = Omit<NativeSystem, 'onTick'> & {
|
|
@@ -11,17 +12,14 @@ export type System = Omit<NativeSystem, 'onTick'> & {
|
|
|
11
12
|
};
|
|
12
13
|
|
|
13
14
|
export type Config = {
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
/** Screen dimensions and background
|
|
15
|
+
/** World settings: tick rate and gravity. */
|
|
16
|
+
world: World;
|
|
17
|
+
/** Screen dimensions and background. */
|
|
17
18
|
screen: Screen;
|
|
18
|
-
/**
|
|
19
|
+
/** Entities to spawn when the game starts. */
|
|
19
20
|
entities?: Entity[];
|
|
20
|
-
/**
|
|
21
|
-
* Systems that define the game logic. Each system runs every tick
|
|
22
|
-
* and receives the entities matching its ids.
|
|
23
|
-
*/
|
|
21
|
+
/** Systems that define game logic, each running every tick against its subscribed entities and collisions. */
|
|
24
22
|
systems?: System[];
|
|
25
|
-
/** Whether
|
|
23
|
+
/** Whether the game starts paused. Defaults to true. */
|
|
26
24
|
paused?: boolean;
|
|
27
25
|
};
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
#include "ColorUtils.hpp"
|
|
2
|
-
#include "GameLoop.hpp"
|
|
3
|
-
#include <cstdint>
|
|
4
|
-
#include <jni.h>
|
|
5
|
-
#include <mutex>
|
|
6
|
-
#include <variant>
|
|
7
|
-
|
|
8
|
-
extern "C" {
|
|
9
|
-
JNIEXPORT jbyteArray JNICALL
|
|
10
|
-
Java_com_margelo_nitro_rngine_GameView_getSnapshot(JNIEnv *env, jobject) {
|
|
11
|
-
auto &gameLoop = margelo::nitro::rngine::GameLoop::getInstance();
|
|
12
|
-
auto &snapshotMutex = gameLoop.getSnapshotMutexInternal();
|
|
13
|
-
|
|
14
|
-
std::lock_guard<std::mutex> snapshotLock(snapshotMutex);
|
|
15
|
-
auto &screenSnapshot = gameLoop.getScreenSnapshotInternal();
|
|
16
|
-
auto &entitiesSnapshot = gameLoop.getEntitiesSnapshotInternal();
|
|
17
|
-
|
|
18
|
-
std::vector<uint8_t> buffer;
|
|
19
|
-
|
|
20
|
-
auto writeFloat = [&](float v) {
|
|
21
|
-
const auto *bytes = reinterpret_cast<const uint8_t *>(&v);
|
|
22
|
-
buffer.insert(buffer.end(), bytes, bytes + sizeof(float));
|
|
23
|
-
};
|
|
24
|
-
auto writeI32 = [&](int32_t v) {
|
|
25
|
-
const auto *bytes = reinterpret_cast<const uint8_t *>(&v);
|
|
26
|
-
buffer.insert(buffer.end(), bytes, bytes + sizeof(int32_t));
|
|
27
|
-
};
|
|
28
|
-
auto writeU32 = [&](uint32_t v) {
|
|
29
|
-
const auto *bytes = reinterpret_cast<const uint8_t *>(&v);
|
|
30
|
-
buffer.insert(buffer.end(), bytes, bytes + sizeof(uint32_t));
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const auto screenSnapshotWidth = static_cast<float>(screenSnapshot.width);
|
|
34
|
-
const auto screenSnapshotHeight = static_cast<float>(screenSnapshot.height);
|
|
35
|
-
const auto screenSnapshotColor =
|
|
36
|
-
margelo::nitro::rngine::parseHexColor(screenSnapshot.color);
|
|
37
|
-
const auto screenSnapshotAsset =
|
|
38
|
-
static_cast<int32_t>(screenSnapshot.asset.value_or(0));
|
|
39
|
-
|
|
40
|
-
writeFloat(screenSnapshotWidth);
|
|
41
|
-
writeFloat(screenSnapshotHeight);
|
|
42
|
-
writeU32(screenSnapshotColor);
|
|
43
|
-
writeI32(screenSnapshotAsset);
|
|
44
|
-
|
|
45
|
-
if (screenSnapshotAsset < 0) {
|
|
46
|
-
writeFloat(static_cast<float>(screenSnapshot.progress.value_or(0)));
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
for (const auto &[_, entitySnapshot] : entitiesSnapshot) {
|
|
50
|
-
uint8_t shapeType{0};
|
|
51
|
-
float entitySnapshotLeft{0}, entitySnapshotRight{0}, entitySnapshotTop{0},
|
|
52
|
-
entitySnapshotBottom{0}, circleRadius{0};
|
|
53
|
-
|
|
54
|
-
std::visit(
|
|
55
|
-
[&](const auto &shape) {
|
|
56
|
-
using T = std::decay_t<decltype(shape)>;
|
|
57
|
-
if constexpr (std::is_same_v<T, margelo::nitro::rngine::Rect>) {
|
|
58
|
-
shapeType = 0;
|
|
59
|
-
entitySnapshotLeft =
|
|
60
|
-
static_cast<float>(entitySnapshot.px - shape.width / 2.0);
|
|
61
|
-
entitySnapshotRight =
|
|
62
|
-
static_cast<float>(entitySnapshot.px + shape.width / 2.0);
|
|
63
|
-
entitySnapshotTop =
|
|
64
|
-
static_cast<float>(entitySnapshot.py - shape.height / 2.0);
|
|
65
|
-
entitySnapshotBottom =
|
|
66
|
-
static_cast<float>(entitySnapshot.py + shape.height / 2.0);
|
|
67
|
-
} else {
|
|
68
|
-
shapeType = 1;
|
|
69
|
-
circleRadius = static_cast<float>(shape.radius);
|
|
70
|
-
entitySnapshotLeft =
|
|
71
|
-
static_cast<float>(entitySnapshot.px - shape.radius);
|
|
72
|
-
entitySnapshotRight =
|
|
73
|
-
static_cast<float>(entitySnapshot.px + shape.radius);
|
|
74
|
-
entitySnapshotTop =
|
|
75
|
-
static_cast<float>(entitySnapshot.py - shape.radius);
|
|
76
|
-
entitySnapshotBottom =
|
|
77
|
-
static_cast<float>(entitySnapshot.py + shape.radius);
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
entitySnapshot.shape);
|
|
81
|
-
|
|
82
|
-
if (entitySnapshotRight < 0 || entitySnapshotLeft > screenSnapshot.width ||
|
|
83
|
-
entitySnapshotBottom < 0 || entitySnapshotTop > screenSnapshot.height) {
|
|
84
|
-
continue;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
const auto entitySnapshotColor =
|
|
88
|
-
margelo::nitro::rngine::parseHexColor(entitySnapshot.color);
|
|
89
|
-
const auto entitySnapshotAsset =
|
|
90
|
-
static_cast<int32_t>(entitySnapshot.asset.value_or(0));
|
|
91
|
-
|
|
92
|
-
buffer.push_back(shapeType);
|
|
93
|
-
|
|
94
|
-
if (shapeType == 0) {
|
|
95
|
-
writeFloat(entitySnapshotLeft);
|
|
96
|
-
writeFloat(entitySnapshotRight);
|
|
97
|
-
writeFloat(entitySnapshotTop);
|
|
98
|
-
writeFloat(entitySnapshotBottom);
|
|
99
|
-
} else {
|
|
100
|
-
writeFloat(static_cast<float>(entitySnapshot.px));
|
|
101
|
-
writeFloat(static_cast<float>(entitySnapshot.py));
|
|
102
|
-
writeFloat(circleRadius);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
writeU32(entitySnapshotColor);
|
|
106
|
-
writeI32(entitySnapshotAsset);
|
|
107
|
-
|
|
108
|
-
if (entitySnapshotAsset < 0) {
|
|
109
|
-
writeFloat(static_cast<float>(entitySnapshot.progress.value_or(0)));
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
auto bufferSize = static_cast<jsize>(buffer.size());
|
|
114
|
-
jbyteArray result = env->NewByteArray(bufferSize);
|
|
115
|
-
|
|
116
|
-
if (result == nullptr) {
|
|
117
|
-
return nullptr;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
env->SetByteArrayRegion(result, 0, bufferSize,
|
|
121
|
-
reinterpret_cast<const jbyte *>(buffer.data()));
|
|
122
|
-
|
|
123
|
-
return result;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
JNIEXPORT void JNICALL
|
|
127
|
-
Java_com_margelo_nitro_rngine_GameAssets_registerLottieDuration(
|
|
128
|
-
JNIEnv *, jobject, jdouble id, jdouble duration) {
|
|
129
|
-
margelo::nitro::rngine::GameLoop::getInstance().registerLottieDuration(
|
|
130
|
-
id, duration);
|
|
131
|
-
}
|
|
132
|
-
} // extern "C"
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
package com.margelo.nitro.rngine
|
|
2
|
-
|
|
3
|
-
import android.util.Log
|
|
4
|
-
import com.airbnb.lottie.LottieCompositionFactory
|
|
5
|
-
import com.airbnb.lottie.LottieDrawable
|
|
6
|
-
import com.caverock.androidsvg.SVG
|
|
7
|
-
import com.margelo.nitro.core.Promise
|
|
8
|
-
import java.net.URL
|
|
9
|
-
import com.margelo.nitro.NitroModules
|
|
10
|
-
|
|
11
|
-
class GameAssets : HybridGameAssetsSpec() {
|
|
12
|
-
private external fun registerLottieDuration(id: Double, duration: Double)
|
|
13
|
-
|
|
14
|
-
companion object {
|
|
15
|
-
private val assetCache = HashMap<Int, Asset>()
|
|
16
|
-
fun getAsset(id: Int): Asset? = assetCache[id]
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
override fun isAssetRegistered(id: Double): Boolean {
|
|
20
|
-
return id.toInt() in assetCache
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
override fun registerSvg(id: Double, uri: String): Promise<Unit> {
|
|
24
|
-
return Promise.async {
|
|
25
|
-
try {
|
|
26
|
-
val stream = if (uri.startsWith("http://") || uri.startsWith("https://")) {
|
|
27
|
-
URL(uri).openStream()
|
|
28
|
-
} else {
|
|
29
|
-
val context = NitroModules.applicationContext ?: throw Error("No Context available!")
|
|
30
|
-
val resId = context.resources.getIdentifier(uri, "raw", context.packageName)
|
|
31
|
-
if (resId == 0) {
|
|
32
|
-
throw IllegalStateException("Could not resolve drawable resource for asset: $uri")
|
|
33
|
-
}
|
|
34
|
-
context.resources.openRawResource(resId)
|
|
35
|
-
}
|
|
36
|
-
assetCache[id.toInt()] = Asset.Svg(SVG.getFromInputStream(stream).renderToPicture())
|
|
37
|
-
Log.d("GameAssets", "assetCache: $assetCache")
|
|
38
|
-
} catch (e: Exception) {
|
|
39
|
-
Log.e("GameAssets", "Failed to parse SVG: $uri", e)
|
|
40
|
-
throw e
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
override fun registerLottie(id: Double, json: String): Promise<Unit> {
|
|
46
|
-
return Promise.async {
|
|
47
|
-
try {
|
|
48
|
-
val composition = LottieCompositionFactory.fromJsonStringSync(json, null).value
|
|
49
|
-
?: throw IllegalStateException("Failed to parse Lottie JSON for id: $id")
|
|
50
|
-
val drawable = LottieDrawable()
|
|
51
|
-
drawable.composition = composition
|
|
52
|
-
assetCache[id.toInt()] = Asset.Lottie(drawable)
|
|
53
|
-
registerLottieDuration(id, composition.duration.toDouble() / 1000)
|
|
54
|
-
Log.d("GameAssets", "assetCache: $assetCache")
|
|
55
|
-
} catch (e: Exception) {
|
|
56
|
-
Log.e("GameAssets", "Failed to register Lottie: $id", e)
|
|
57
|
-
throw e
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
package com.margelo.nitro.rngine
|
|
2
|
-
|
|
3
|
-
sealed class Shape(
|
|
4
|
-
val color: Int,
|
|
5
|
-
val asset: Int,
|
|
6
|
-
val progress: Float?,
|
|
7
|
-
) {
|
|
8
|
-
class Rect(
|
|
9
|
-
val left: Float,
|
|
10
|
-
val right: Float,
|
|
11
|
-
val top: Float,
|
|
12
|
-
val bottom: Float,
|
|
13
|
-
color: Int,
|
|
14
|
-
asset: Int,
|
|
15
|
-
progress: Float?,
|
|
16
|
-
) : Shape(color, asset, progress)
|
|
17
|
-
|
|
18
|
-
class Circle(
|
|
19
|
-
val px: Float,
|
|
20
|
-
val py: Float,
|
|
21
|
-
val radius: Float,
|
|
22
|
-
color: Int,
|
|
23
|
-
asset: Int,
|
|
24
|
-
progress: Float?,
|
|
25
|
-
) : Shape(color, asset, progress)
|
|
26
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
package com.margelo.nitro.rngine
|
|
2
|
-
|
|
3
|
-
import android.util.Log
|
|
4
|
-
import java.nio.ByteBuffer
|
|
5
|
-
import java.nio.ByteOrder
|
|
6
|
-
|
|
7
|
-
object SnapshotSerializer {
|
|
8
|
-
fun decode(bytes: ByteArray): Snapshot {
|
|
9
|
-
val buffer = ByteBuffer.wrap(bytes).order(ByteOrder.nativeOrder())
|
|
10
|
-
|
|
11
|
-
val width = buffer.float
|
|
12
|
-
val height = buffer.float
|
|
13
|
-
val color = buffer.int
|
|
14
|
-
val asset = buffer.int
|
|
15
|
-
val progress = if (asset < 0) buffer.float else null
|
|
16
|
-
|
|
17
|
-
val screen = Screen(width, height, color, asset, progress)
|
|
18
|
-
val shapes = ArrayList<Shape>()
|
|
19
|
-
|
|
20
|
-
while (buffer.hasRemaining()) {
|
|
21
|
-
when (val shapeType = buffer.get().toInt()) {
|
|
22
|
-
0 -> {
|
|
23
|
-
val left = buffer.float
|
|
24
|
-
val right = buffer.float
|
|
25
|
-
val top = buffer.float
|
|
26
|
-
val bottom = buffer.float
|
|
27
|
-
|
|
28
|
-
val color = buffer.int
|
|
29
|
-
val asset = buffer.int
|
|
30
|
-
val progress = if (asset < 0) buffer.float else null
|
|
31
|
-
|
|
32
|
-
shapes.add(Shape.Rect(left, right, top, bottom, color, asset, progress))
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
1 -> {
|
|
36
|
-
val px = buffer.float
|
|
37
|
-
val py = buffer.float
|
|
38
|
-
val radius = buffer.float
|
|
39
|
-
|
|
40
|
-
val color = buffer.int
|
|
41
|
-
val asset = buffer.int
|
|
42
|
-
val progress = if (asset < 0) buffer.float else null
|
|
43
|
-
|
|
44
|
-
shapes.add(Shape.Circle(px, py, radius, color, asset, progress))
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
else -> Log.e("SnapshotSerializer", "Unknown shapeType: $shapeType")
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return Snapshot(screen, shapes)
|
|
52
|
-
}
|
|
53
|
-
}
|
package/lib/module/GameAssets.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { Image } from 'react-native';
|
|
4
|
-
import { gameAssets } from "./GameAssets.nitro.js";
|
|
5
|
-
const assetCache = new WeakMap();
|
|
6
|
-
let nextId = -1;
|
|
7
|
-
const loadAsset = async asset => {
|
|
8
|
-
switch (typeof asset) {
|
|
9
|
-
case 'object':
|
|
10
|
-
if (asset === null) {
|
|
11
|
-
throw new Error('loadAssets: asset cannot be null');
|
|
12
|
-
}
|
|
13
|
-
if (assetCache.has(asset)) {
|
|
14
|
-
return assetCache.get(asset);
|
|
15
|
-
}
|
|
16
|
-
const assetId = nextId--;
|
|
17
|
-
assetCache.set(asset, assetId);
|
|
18
|
-
await gameAssets.registerLottie(assetId, JSON.stringify(asset));
|
|
19
|
-
return assetId;
|
|
20
|
-
case 'number':
|
|
21
|
-
if (gameAssets.isAssetRegistered(asset)) {
|
|
22
|
-
return asset;
|
|
23
|
-
}
|
|
24
|
-
const assetUri = Image.resolveAssetSource(asset)?.uri;
|
|
25
|
-
if (!assetUri) {
|
|
26
|
-
throw new Error(`loadAssets: could not resolve asset URI for ${asset}`);
|
|
27
|
-
}
|
|
28
|
-
await gameAssets.registerSvg(asset, assetUri);
|
|
29
|
-
return asset;
|
|
30
|
-
}
|
|
31
|
-
throw new Error(`loadAssets: unsupported asset type "${typeof asset}"`);
|
|
32
|
-
};
|
|
33
|
-
export const loadAssets = async assets => {
|
|
34
|
-
const keys = Object.keys(assets);
|
|
35
|
-
const result = {};
|
|
36
|
-
for (const key of keys) {
|
|
37
|
-
result[key] = await loadAsset(assets[key]);
|
|
38
|
-
}
|
|
39
|
-
return result;
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=GameAssets.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Image","gameAssets","assetCache","WeakMap","nextId","loadAsset","asset","Error","has","get","assetId","set","registerLottie","JSON","stringify","isAssetRegistered","assetUri","resolveAssetSource","uri","registerSvg","loadAssets","assets","keys","Object","result","key"],"sourceRoot":"../../src","sources":["GameAssets.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,cAAc;AACpC,SAASC,UAAU,QAAQ,uBAAoB;AAE/C,MAAMC,UAAU,GAAG,IAAIC,OAAO,CAAiB,CAAC;AAChD,IAAIC,MAAM,GAAG,CAAC,CAAC;AAEf,MAAMC,SAAS,GAAG,MAAOC,KAAc,IAAK;EAC1C,QAAQ,OAAOA,KAAK;IAClB,KAAK,QAAQ;MACX,IAAIA,KAAK,KAAK,IAAI,EAAE;QAClB,MAAM,IAAIC,KAAK,CAAC,kCAAkC,CAAC;MACrD;MACA,IAAIL,UAAU,CAACM,GAAG,CAACF,KAAK,CAAC,EAAE;QACzB,OAAOJ,UAAU,CAACO,GAAG,CAACH,KAAK,CAAC;MAC9B;MACA,MAAMI,OAAO,GAAGN,MAAM,EAAE;MACxBF,UAAU,CAACS,GAAG,CAACL,KAAK,EAAEI,OAAO,CAAC;MAC9B,MAAMT,UAAU,CAACW,cAAc,CAACF,OAAO,EAAEG,IAAI,CAACC,SAAS,CAACR,KAAK,CAAC,CAAC;MAC/D,OAAOI,OAAO;IAEhB,KAAK,QAAQ;MACX,IAAIT,UAAU,CAACc,iBAAiB,CAACT,KAAK,CAAC,EAAE;QACvC,OAAOA,KAAK;MACd;MACA,MAAMU,QAAQ,GAAGhB,KAAK,CAACiB,kBAAkB,CAACX,KAAK,CAAC,EAAEY,GAAG;MACrD,IAAI,CAACF,QAAQ,EAAE;QACb,MAAM,IAAIT,KAAK,CAAC,+CAA+CD,KAAK,EAAE,CAAC;MACzE;MACA,MAAML,UAAU,CAACkB,WAAW,CAACb,KAAK,EAAEU,QAAQ,CAAC;MAC7C,OAAOV,KAAK;EAChB;EAEA,MAAM,IAAIC,KAAK,CAAC,uCAAuC,OAAOD,KAAK,GAAG,CAAC;AACzE,CAAC;AAED,OAAO,MAAMc,UAAU,GAAG,MACxBC,MAAS,IAC+B;EACxC,MAAMC,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACD,MAAM,CAAgB;EAC/C,MAAMG,MAAM,GAAG,CAAC,CAA+B;EAE/C,KAAK,MAAMC,GAAG,IAAIH,IAAI,EAAE;IACtBE,MAAM,CAACC,GAAG,CAAC,GAAG,MAAMpB,SAAS,CAACgB,MAAM,CAACI,GAAG,CAAC,CAAC;EAC5C;EAEA,OAAOD,MAAM;AACf,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["NitroModules","gameAssets","createHybridObject"],"sourceRoot":"../../src","sources":["GameAssets.nitro.ts"],"mappings":";;AACA,SAASA,YAAY,QAAQ,4BAA4B;AAWzD,OAAO,MAAMC,UAAU,GACrBD,YAAY,CAACE,kBAAkB,CAAa,YAAY,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GameAssets.d.ts","sourceRoot":"","sources":["../../../src/GameAssets.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,UAAU,GAAU,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,QAAQ,CAAC,KACR,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,GAAE,CASpC,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { HybridObject } from 'react-native-nitro-modules';
|
|
2
|
-
interface GameAssets extends HybridObject<{
|
|
3
|
-
ios: 'swift';
|
|
4
|
-
android: 'kotlin';
|
|
5
|
-
}> {
|
|
6
|
-
isAssetRegistered(id: number): boolean;
|
|
7
|
-
registerSvg(id: number, uri: string): Promise<void>;
|
|
8
|
-
registerLottie(id: number, json: string): Promise<void>;
|
|
9
|
-
}
|
|
10
|
-
export declare const gameAssets: GameAssets;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=GameAssets.nitro.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GameAssets.nitro.d.ts","sourceRoot":"","sources":["../../../src/GameAssets.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG/D,UAAU,UAAW,SAAQ,YAAY,CAAC;IACxC,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,QAAQ,CAAC;CACnB,CAAC;IACA,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAED,eAAO,MAAM,UAAU,YACoC,CAAC"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
///
|
|
2
|
-
/// JHybridGameAssetsSpec.cpp
|
|
3
|
-
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
-
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
-
///
|
|
7
|
-
|
|
8
|
-
#include "JHybridGameAssetsSpec.hpp"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
#include <NitroModules/Promise.hpp>
|
|
13
|
-
#include <NitroModules/JPromise.hpp>
|
|
14
|
-
#include <NitroModules/JUnit.hpp>
|
|
15
|
-
#include <string>
|
|
16
|
-
|
|
17
|
-
namespace margelo::nitro::rngine {
|
|
18
|
-
|
|
19
|
-
std::shared_ptr<JHybridGameAssetsSpec> JHybridGameAssetsSpec::JavaPart::getJHybridGameAssetsSpec() {
|
|
20
|
-
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
21
|
-
auto castHybridObject = std::dynamic_pointer_cast<JHybridGameAssetsSpec>(hybridObject);
|
|
22
|
-
if (castHybridObject == nullptr) [[unlikely]] {
|
|
23
|
-
throw std::runtime_error("Failed to downcast JHybridObject to JHybridGameAssetsSpec!");
|
|
24
|
-
}
|
|
25
|
-
return castHybridObject;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
jni::local_ref<JHybridGameAssetsSpec::CxxPart::jhybriddata> JHybridGameAssetsSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
29
|
-
return makeCxxInstance(jThis);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
std::shared_ptr<JHybridObject> JHybridGameAssetsSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
33
|
-
auto castJavaPart = jni::dynamic_ref_cast<JHybridGameAssetsSpec::JavaPart>(javaPart);
|
|
34
|
-
if (castJavaPart == nullptr) [[unlikely]] {
|
|
35
|
-
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridGameAssetsSpec::JavaPart!");
|
|
36
|
-
}
|
|
37
|
-
return std::make_shared<JHybridGameAssetsSpec>(castJavaPart);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
void JHybridGameAssetsSpec::CxxPart::registerNatives() {
|
|
41
|
-
registerHybrid({
|
|
42
|
-
makeNativeMethod("initHybrid", JHybridGameAssetsSpec::CxxPart::initHybrid),
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// Properties
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
// Methods
|
|
50
|
-
bool JHybridGameAssetsSpec::isAssetRegistered(double id) {
|
|
51
|
-
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean(double /* id */)>("isAssetRegistered");
|
|
52
|
-
auto __result = method(_javaPart, id);
|
|
53
|
-
return static_cast<bool>(__result);
|
|
54
|
-
}
|
|
55
|
-
std::shared_ptr<Promise<void>> JHybridGameAssetsSpec::registerSvg(double id, const std::string& uri) {
|
|
56
|
-
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(double /* id */, jni::alias_ref<jni::JString> /* uri */)>("registerSvg");
|
|
57
|
-
auto __result = method(_javaPart, id, jni::make_jstring(uri));
|
|
58
|
-
return [&]() {
|
|
59
|
-
auto __promise = Promise<void>::create();
|
|
60
|
-
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
61
|
-
__promise->resolve();
|
|
62
|
-
});
|
|
63
|
-
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
64
|
-
jni::JniException __jniError(__throwable);
|
|
65
|
-
__promise->reject(std::make_exception_ptr(__jniError));
|
|
66
|
-
});
|
|
67
|
-
return __promise;
|
|
68
|
-
}();
|
|
69
|
-
}
|
|
70
|
-
std::shared_ptr<Promise<void>> JHybridGameAssetsSpec::registerLottie(double id, const std::string& json) {
|
|
71
|
-
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(double /* id */, jni::alias_ref<jni::JString> /* json */)>("registerLottie");
|
|
72
|
-
auto __result = method(_javaPart, id, jni::make_jstring(json));
|
|
73
|
-
return [&]() {
|
|
74
|
-
auto __promise = Promise<void>::create();
|
|
75
|
-
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
76
|
-
__promise->resolve();
|
|
77
|
-
});
|
|
78
|
-
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
79
|
-
jni::JniException __jniError(__throwable);
|
|
80
|
-
__promise->reject(std::make_exception_ptr(__jniError));
|
|
81
|
-
});
|
|
82
|
-
return __promise;
|
|
83
|
-
}();
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
} // namespace margelo::nitro::rngine
|