diff --git a/Assets/Editor/StarkBuilderSetting.asset b/Assets/Editor/StarkBuilderSetting.asset
index 5a2dd0ba..8b3c565b 100644
--- a/Assets/Editor/StarkBuilderSetting.asset
+++ b/Assets/Editor/StarkBuilderSetting.asset
@@ -14,12 +14,12 @@ MonoBehaviour:
m_EditorClassIdentifier:
a: 0
b: 0
- c: tt48073ebad739259407
+ c:
d:
e: 2
f: 1
g: 0
- h: 1
+ h: 0
i: 2
j: 0
k: 0
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk.meta
new file mode 100644
index 00000000..fd4ca0ed
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 733c4da56be4a44928cbf5886f920c7d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Android.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Android.meta
new file mode 100644
index 00000000..4ede01b0
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Android.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bfffc393e266340498dd1a597fbf910f
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Android/starkminiapk.aar b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Android/starkminiapk.aar
new file mode 100644
index 00000000..b4556378
Binary files /dev/null and b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Android/starkminiapk.aar differ
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Android/starkminiapk.aar.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Android/starkminiapk.aar.meta
new file mode 100644
index 00000000..821dd001
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Android/starkminiapk.aar.meta
@@ -0,0 +1,32 @@
+fileFormatVersion: 2
+guid: 9af3023969f5eef4cbfd6f436ad8c435
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Android: Android
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Android/starkvideolib.aar b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Android/starkvideolib.aar
new file mode 100644
index 00000000..5087dbfe
Binary files /dev/null and b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Android/starkvideolib.aar differ
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Android/starkvideolib.aar.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Android/starkvideolib.aar.meta
new file mode 100644
index 00000000..de3b7f58
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Android/starkvideolib.aar.meta
@@ -0,0 +1,32 @@
+fileFormatVersion: 2
+guid: b2cc872206b724a37ba6dcd121b39660
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Android: Android
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/ByteREC.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/ByteREC.meta
new file mode 100644
index 00000000..f2a7a877
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/ByteREC.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9ebd0939c953449aead728d125ec8392
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/ByteREC/readme.txt b/Assets/Plugins/ByteGame/com.bytedance.starksdk/ByteREC/readme.txt
new file mode 100644
index 00000000..c32e3fe2
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/ByteREC/readme.txt
@@ -0,0 +1,12 @@
+# 2021-07-08 Unity VERSION = 8
+- 修复切后台音频补帧逻辑异常问题(切后台场景不需要做补帧)
+
+# 2021-07-02 Unity VERSION = 7
+- 传递ColorSpace给Native解决LinearSpace下渲染颜色异常问题
+- 解决URP下录制时候游戏画面刷新问题
+
+# 2021-06-17 Unity VERSION = 6
+- 移除部分冗余逻辑
+- 增加异常日志
+- 支持将关键日志通过SendLogInfo抛给Native做后续上报
+- 支持将录制相关参数通过调用Native的startRecordV2带给Native
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/ByteREC/readme.txt.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/ByteREC/readme.txt.meta
new file mode 100644
index 00000000..37d38dd5
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/ByteREC/readme.txt.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 83dd72336f3e4b5cb2e23add525f9b88
+timeCreated: 1623940585
\ No newline at end of file
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Editor.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Editor.meta
new file mode 100644
index 00000000..df761fea
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c1c81f12ad1f54a85b1eefb3410c561c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Editor/starksdkEditor.dll b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Editor/starksdkEditor.dll
new file mode 100644
index 00000000..50d91f43
Binary files /dev/null and b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Editor/starksdkEditor.dll differ
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Editor/starksdkEditor.dll.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Editor/starksdkEditor.dll.meta
new file mode 100644
index 00000000..abc69190
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Editor/starksdkEditor.dll.meta
@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 32d2dd4746cb8421ea3b1e407a7e177c
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Editor/starksdkEditor.xml b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Editor/starksdkEditor.xml
new file mode 100644
index 00000000..5741e325
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Editor/starksdkEditor.xml
@@ -0,0 +1,13 @@
+
+
+
+ starksdkEditor
+
+
+
+
+ Returns the player build processor callback order.
+
+
+
+
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Editor/starksdkEditor.xml.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Editor/starksdkEditor.xml.meta
new file mode 100644
index 00000000..28f49b65
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Editor/starksdkEditor.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 704be7b645bd646b0b072b1dc6cccc22
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons.meta
new file mode 100644
index 00000000..f64502b1
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 26f23d3dcdf359f45a1ebe2c8a23b0a7
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/follow_icon.png b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/follow_icon.png
new file mode 100644
index 00000000..bf3daa8e
Binary files /dev/null and b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/follow_icon.png differ
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/follow_icon.png.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/follow_icon.png.meta
new file mode 100644
index 00000000..f48ac829
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/follow_icon.png.meta
@@ -0,0 +1,92 @@
+fileFormatVersion: 2
+guid: 1e2724df3ea619147bebbd5c1521815c
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: -1
+ wrapV: -1
+ wrapW: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/follow_icon_show.png b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/follow_icon_show.png
new file mode 100644
index 00000000..d1303a8b
Binary files /dev/null and b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/follow_icon_show.png differ
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/follow_icon_show.png.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/follow_icon_show.png.meta
new file mode 100644
index 00000000..acd6b983
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/follow_icon_show.png.meta
@@ -0,0 +1,92 @@
+fileFormatVersion: 2
+guid: fa3ff501750f9b64696656d444612abf
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: -1
+ wrapV: -1
+ wrapW: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_about.png b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_about.png
new file mode 100644
index 00000000..b913da6d
Binary files /dev/null and b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_about.png differ
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_about.png.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_about.png.meta
new file mode 100644
index 00000000..4c3d5c02
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_about.png.meta
@@ -0,0 +1,92 @@
+fileFormatVersion: 2
+guid: bbf64efbd59e3f647ad4ef4c55648c91
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: -1
+ wrapV: -1
+ wrapW: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_character.png b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_character.png
new file mode 100644
index 00000000..36d8fb23
Binary files /dev/null and b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_character.png differ
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_character.png.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_character.png.meta
new file mode 100644
index 00000000..d9270e2e
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_character.png.meta
@@ -0,0 +1,92 @@
+fileFormatVersion: 2
+guid: 6bd244034db8d444780a02c97ff6134c
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: -1
+ wrapV: -1
+ wrapW: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_character2.png b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_character2.png
new file mode 100644
index 00000000..0abc0470
Binary files /dev/null and b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_character2.png differ
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_character2.png.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_character2.png.meta
new file mode 100644
index 00000000..07615f04
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_character2.png.meta
@@ -0,0 +1,92 @@
+fileFormatVersion: 2
+guid: d2c52bb34e051cc4ab57b3a982c8f48a
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: -1
+ wrapV: -1
+ wrapW: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_show.png b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_show.png
new file mode 100644
index 00000000..dccb5424
Binary files /dev/null and b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_show.png differ
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_show.png.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_show.png.meta
new file mode 100644
index 00000000..8a8a5b43
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_show.png.meta
@@ -0,0 +1,92 @@
+fileFormatVersion: 2
+guid: bd520fd2822200f4dbf8567c6af443f2
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: -1
+ wrapV: -1
+ wrapW: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_show2.png b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_show2.png
new file mode 100644
index 00000000..21777877
Binary files /dev/null and b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_show2.png differ
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_show2.png.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_show2.png.meta
new file mode 100644
index 00000000..b19417aa
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Icons/official_icon_show2.png.meta
@@ -0,0 +1,92 @@
+fileFormatVersion: 2
+guid: 7a3ac82b0119ae045860cc2ec3d5efd5
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: -1
+ wrapV: -1
+ wrapW: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Resources.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Resources.meta
new file mode 100644
index 00000000..3326f3b3
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Resources.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 67672cc7de9954752be4a2d1f005c220
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Resources/ContainerConfig.json b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Resources/ContainerConfig.json
new file mode 100644
index 00000000..e0584893
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Resources/ContainerConfig.json
@@ -0,0 +1,7 @@
+{
+ "//": "注释:app之间互跳,配置appid,最少一个,最多5个",
+ "ttNavigateToMiniGameAppIdList": [
+ "tta8e5de5837cfcdb1"
+ ],
+ "example": "xxxx"
+}
\ No newline at end of file
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Resources/ContainerConfig.json.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Resources/ContainerConfig.json.meta
new file mode 100644
index 00000000..960ba8e7
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Resources/ContainerConfig.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 87a058d910ae749b0ae73a2b594c05db
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Runtime.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Runtime.meta
new file mode 100644
index 00000000..c033d4fd
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Runtime.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9cd0f6dbad72844268d78fd14078795c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Runtime/starksdkRuntime.dll b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Runtime/starksdkRuntime.dll
new file mode 100644
index 00000000..2260d875
Binary files /dev/null and b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Runtime/starksdkRuntime.dll differ
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Runtime/starksdkRuntime.dll.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Runtime/starksdkRuntime.dll.meta
new file mode 100644
index 00000000..809b467e
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Runtime/starksdkRuntime.dll.meta
@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 7e1ec893444594eaebabe42552238055
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Runtime/starksdkRuntime.xml b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Runtime/starksdkRuntime.xml
new file mode 100644
index 00000000..94d43d96
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Runtime/starksdkRuntime.xml
@@ -0,0 +1,4391 @@
+
+
+
+ starksdkRuntime
+
+
+
+
+ 宿主枚举
+
+
+
+
+ 入口枚举
+
+
+
+
+ SC的运行环境
+
+
+
+
+ Apk的版本环境
+
+
+
+
+ 保存宿主环境变量
+
+
+
+
+ 获取query字段,即小程序的启动参数,可能为空,使用时需判空
+
+
+
+
+ 获取小程序启动时的参数,里面的参数可能为空,使用时需判空; 可以在StarkSDK.init()之后调用,确保得到非空值
+
+
+
+
+ 加速器数据回调
+
+
+
+
+ 接入头条抖音能力的接口,在非宿主环境下,会对一些回调进行模拟
+ 如果调用的函数在宿主版本不被支持,则会抛出异常
+
+
+
+
+ SDK版本号
+
+
+
+
+ 游戏版本号,通过该接口替换Application.version获得正确的版本号信息
+
+
+
+
+ 游戏发布版本号,发布版本时发布工具中指定的版本号
+
+
+
+
+ 设置Container初始化成功的回调。获取宿主及入口信息
+ 需要在调用其他api之前调用
+ 非Container下不会有此回调
+ version : 1.0.0
+
+ 初始化完成的回调.
+
+
+
+ 获取录屏相关接口
+
+ StarkGameRecorder
+
+
+
+ 提前向用户发出授权请求。该方法不会调用对应接口,只会弹框咨询用户是否授权或者获取用户信息。如果用户之前有授权,该接口直接返回成功,不会跟用户产生交互。
+
+ 需要预授权的 scope,详见 https://microapp.bytedance.com/docs/zh-CN/mini-game/develop/open-capacity/user-information/authorization/authorization/
+ 接口调用成功的回调函数
+ 接口调用失败的回调函数
+
+
+
+ 需要白名单
+ 获取 RtcEngine 实例(包含音视频应用程序调用的主要方法的接口类实例),应当只调用一次。第二次调用getRtcEngine 时,实际获取的还是上次那个
+
+ StarkRTCManager
+
+
+
+ 广告相关接口
+
+ StarkAdManager
+
+
+
+ 网络请求接口
+
+ StarkAdManager
+
+
+
+ 控制sdk中的Log级别
+
+
+
+
+ 账号模块
+
+
+
+
+
+ 获取container sdk 版本号 like "1.0.0"
+
+
+
+
+ 关注抖音号
+ 需要在开发者平台-设置中绑定抖音号
+
+ 完成打开抖音号的回调。涉及用户信息,无法获取用户是否关注了抖音号的状态
+ 打开抖音号失败的回调。errCode:
+ 当关注抖音号失败,是否显示Toast弹窗提示,默认显示
+ CODE_ERROR = -1
+ CODE_NOT_SUPPORT = -2
+ CODE_NOT_LOGIN = -3
+ CODE_NO_ACTIVITY = -4
+ CODE_UID_ERROR = -5
+
+
+
+
+ 创建快捷方式
+
+ 创建快捷方式回调,参数为是否成功,true表示成功,false表示失败
+ 当创建失败,是否显示Toast弹窗提示,默认显示
+
+
+
+ 快捷方式是否已经创建
+
+ 是否存在的回调,参数表示是否已创建,true表示已创建,false表示未创建
+
+
+
+ 可以配置震动周期的手机震动接口,单位ms
+
+ 震动周期 like long[] pattern = {0, 100, 1000, 300}; 传入null则取消震动
+ 重复次数,为-1则不重复
+
+ 注意:WebGL平台下,只有两种震动:长和短。
+ pattern数组参数只能传入一个数值,传入小于1000则为短震动,否则为长震动。
+ 不支持取消和重复。即repeat参数无效。
+ >
+
+
+
+ 获取分享相关接口
+
+
+
+
+ 是否已关注抖音号
+
+ 是否关注的回调,参数表示是否已关注,true表示已关注,false表示未关注
+
+
+
+ 是否在小程序开发者后台绑定了抖音号
+
+ 是否绑定的回调,参数表示是否已绑定,true表示已绑定,false表示未绑定
+
+
+
+ 获取收藏引导接口
+
+
+
+
+ 接入sdk的debugpanel面板,注册一些debug命令的回调函数
+
+
+
+
+ 支付服务接口
+
+
+
+
+ 自定义分析数据上报接口,调用后,会将数据上报到小程序开发者平台,开发者可以在小程序开发者平台中查看上报数据。使用前,需要在小程序管理后台事件中新建事件,配置好事件名与字段。
+ 可参考文档 https://microapp.bytedance.com/docs/zh-CN/mini-app/data/advanced-analysis/events
+
+ 事件名
+ 上报的数据,默认为null key : 配置中的字段名. value(number|string|boolean) : 上报的数据
+
+
+
+ 保存游戏数据接口,所有游戏数据保存上限50M
+
+ 数据名
+ 可序列化的数据(存档类需标记为Serializable)[见以下的例子]
+ 保存成功返回true,否则返回false
+
+
+ [Serializable]
+ class SaveData
+ {
+ public int IntValue = 99;
+ private float FloatValue = 1.0f;
+ public string StrValue = "My String";
+ public Dictionary<String,bool> map;
+ public List<String> listStr;
+ }
+ SaveData sd = new SaveData();
+ sd.xx = yyy;
+ bool ret = StarkSDK.API.Save<SaveData>(sd);
+
+
+
+
+
+ 加载游戏数据接口,返回数据类型需为Serializable
+
+ 数据名
+
+
+ SaveData loaded = StarkSDK.API.LoadSaving<SaveData>();
+
+
+
+
+ 删除游戏数据接口
+
+ 数据名
+
+
+ StarkSDK.API.DeleteSaving<SaveData>();
+
+
+
+
+ 删除所有游戏数据
+
+
+
+
+ 获取游戏数据磁盘总大小
+
+ 数据名
+
+
+
+ 获取游戏跳转模块
+
+
+
+
+ 获取视频播放接口
+
+ StarkVideoManager
+
+
+
+ 打开客服聊天页
+
+ 打开客服聊天页回调,参数为是否成功,true表示成功,false表示失败
+
+
+
+ 跳转到抖音视频
+
+ 抖音视频videoId,复制抖音视频链接到浏览器即可得到
+ 跳转结果,参数为是否成功,true表示成功,false表示失败
+
+
+
+ 退出程序
+
+ 是否显示退出提示对话框,true为在退出前显示二次提示对话框架,false则不显示对话框而直接退出程序
+ 接口调用成功状态回调,true表示成功,false表示失败
+
+
+
+ 获取系统信息。类似小程序开发平台 tt.getSystemInfoSync 接口返回值。
+ https://microapp.bytedance.com/docs/zh-CN/mini-app/develop/api/device/system-information/tt-get-system-info-sync/
+
+ StarkSystemInfo 当前系统相关信息
+
+
+
+ 开始监听加速度数据
+
+ 加速度数据回调事件监听
+ 接口调用状态回调,(bool success, string errMsg) => {}
+
+
+
+ 停止监听加速度数据
+
+ 接口调用状态回调,(bool success, string errMsg) => {}
+
+
+
+ 获取键盘管理器(仅WebGL支持)
+
+ StarkKeyboard
+
+
+
+ 创建mock模块
+
+
+
+
+ 获取游戏记录的Mock
+
+
+
+
+
+ 获取广告的Mock
+
+
+
+
+
+ 获取分享的Mock
+
+
+
+
+
+ 收藏模块的Mock
+
+
+
+
+
+ 获取账号模块的Mock
+
+
+
+
+
+ 获取账号模块的Mock
+
+
+
+
+
+ 记录已判断支持的函数
+
+
+
+
+ 记录已判断不被支持的函数
+
+
+
+
+ Check if UNBridge android sdk is available
+
+
+
+
+
+ Validate the native method before calling it
+ 非Container环境下,都返回 true
+
+
+
+
+
+ Replacement for UNbridge.Call
+
+ native method object to be called
+
+
+
+ Replacement for UNBridge.Call with callback
+
+ native method object to be called
+ callback object passed in
+
+
+
+ 不使用Loom调用一个Android方法
+
+ 目标接口
+ 参数数据
+
+
+
+ 同步Call通讯接口
+
+ 消息类型0-call消息,1-listen消息,2-unlisten消息,3-event消息
+ 目标接口
+ 参数
+
+
+
+
+ Replacement for UNBridge.Call with callback
+
+ native method object to be called
+ callback object passed in
+
+
+
+ Replacement for UNBridge.Call with callback with timeout
+
+ native method object to be called
+ callback object passed in
+ callback timeout
+
+
+
+ Replacemenet for UNBridge.CallSync, return primitive values;
+ This API only support basic types: int, long, float, double, bool, string;
+ Default(T) will return if return type not supported!
+
+ Define Android code as following:
+
+ @UNBridgeMethod(sync = true)
+ public long testLong() { return 21474836470L; }
+
+
+ Only valide for basic types: int, long, float, double, bool, string
+ Native method object
+ return value
+
+
+
+
+
+ Convenient method to register c# API for Android
+
+
+
+
+
+
+ 关注抖音的回调
+ data 内容 :
+ {
+ "errCode" : 0, 成功时为0
+ “errMsg” : "", errCode不为0时,描述错误原因
+ “hasFollowed” : true?false 关注抖音号结果
+ }
+ errCode:
+ CODE_ERROR = -1
+ CODE_NOT_SUPPORT = -2
+ CODE_NOT_LOGIN = -3
+ CODE_NO_ACTIVITY = -4
+ CODE_UID_ERROR = -5
+
+ 关注回调,参数为是否关注
+ 错误回调,参数为错误码 和 错误描述
+
+
+
+ 创建快捷方式回调
+ data 内容 :
+ {
+ "errCode" : 0, 成功时为0
+ “errMsg” : "", errCode不为0时,描述错误原因
+ }
+ errCode:
+ 1 : 取消
+
+ 创建回调,参数为是否成功
+
+
+
+ 是否可以使用
+
+
+
+
+
+
+ 打印到文件
+
+
+
+
+ 初始化打印文件的变量
+
+
+
+
+ 结束打印
+
+
+
+
+ 文件名称
+
+
+
+
+
+ 是否需要打印栈信息
+
+
+
+
+
+
+ 是否在StarkContainer真机环境下
+
+
+
+
+ 是否显示调试Toast提示。当调用StarkSDK相关接口后,获得函数执行状态(主要是失败状态)的反馈。
+ 设置为true则在调用StarkSDK相关接口后,会自动弹出Toast提示。默认不显示。【建议只在调试状态下开启】
+
+
+
+
+ Stark_UnitySDK初始化函数
+
+ error code :
+ 0 , 无错误
+ 1, stark unity sdk 版本不支持
+ 2,unity engine 版本不被支持
+
+
+
+ 判断是否运行在StarkContainer
+
+
+
+
+ StarkSDK运行再错误的环境中
+
+
+
+
+ Hostid 转换
+ 对应关系 https://bytedance.feishu.cn/sheets/shtcn959RKBOao1tFJAwEBTI1lf
+
+ HostEnum
+
+
+
+ 从Java层传输来的数据和C#层的UC运行环境之间的转换
+
+
+
+
+
+
+ 从Java层传输来的数据和C#层版本类型枚举做转换
+
+
+
+
+
+
+ 当游戏第一次启动以及被其他游戏拉起,或者再次拉起时调用外部摄入的回调方法,并立即写入文件
+
+
+
+
+
+
+ 将Json解析成互跳信息对象
+
+
+
+
+
+
+ The android bridge of the Container SDK.
+
+
+
+
+ Make sure the UnityCache folder disk occupation is under the limit
+ Will be checked consquently since the Addressable or the developer might overwrite it.
+
+
+
+
+ 单例抽象类
+
+
+
+
+
+ 在竖屏正方向下的安全区域
+
+
+
+
+ 安全区域左上角横坐标
+
+
+
+
+ 安全区域右下角横坐标
+
+
+
+
+ 安全区域左上角纵坐标
+
+
+
+
+ 安全区域右下角纵坐标
+
+
+
+
+ 安全区域的宽度,单位逻辑像素
+
+
+
+
+ 安全区域的高度,单位逻辑像素
+
+
+
+
+ 机型性能评分
+
+
+
+
+ 屏幕方向
+
+
+
+
+ 竖屏
+
+
+
+
+ 横屏
+
+
+
+
+ 系统信息
+
+
+
+
+ 当前宿主名,如 Douyin
+
+
+
+
+ 当前宿主版本号,如 19.2.0
+
+
+
+
+ StarkContainer 底层框架版本号
+
+
+
+ ,如 Apple、samsung
+ 手机设备制造商
+
+
+
+
+ 手机品牌,如 iPhone 12、SM-G9880
+
+
+
+
+ 操作系统,如 ios、android
+
+
+
+
+ 系统版本,如 iOS 15.1.1、Android 11
+
+
+
+
+ 系统语言,如 zh_CN
+
+
+
+
+ 客户端基础库版本
+
+
+
+
+ 设备像素比
+
+
+
+
+ 屏幕高度,单位逻辑像素
+
+
+
+
+ 屏幕宽度,单位逻辑像素
+
+
+
+
+ 状态栏的高度
+
+
+
+
+ 在竖屏正方向下的安全区域
+
+
+
+
+ 机型性能评分
+
+
+
+
+ 性能数组实体
+
+
+
+
+ 判断是否运行在UC环境
+
+
+
+
+ 埋点上报到app_log
+ TODO : 分离 StarkInnelAPI
+
+
+
+
+ 埋点上报到app_log
+ TODO : 分离 StarkInnelAPI
+
+
+
+
+ 读取Java侧UnityContainerConfigCenter中的配置字段,目前返回的泛型数据只支持基本类型
+ bool
+ double
+ float
+ Int32
+ Int64
+ string
+
+ 配置字段的类型
+ 配置字段的key
+ 当该配置字段不存在时返回该值
+
+
+
+
+ 只埋点上报性能信息,由于性能信息一部分来自Java所以单独列出一个方法
+
+
+
+
+ 告知Java侧这时候可以手机CPU信息了
+
+
+
+
+ 新的上报游戏性能信息的接口
+
+
+
+
+
+ Custo onCommand method register
+
+
+
+
+
+ Default onCommand register
+
+
+
+
+
+ callback from onCommand panel
+
+
+
+
+
+ Default onCommand
+
+
+
+
+
+ 获取到当前的性能数据
+
+
+
+
+
+ 更新需要上报的数据
+
+ 当前统计到的最新的数据
+
+
+
+ 计算平均表现
+
+ 结果值
+
+
+
+ 获取用户存档空间
+
+
+
+
+ 判断当前SC版本是否大于等于给定的版本
+
+ 主版本号
+ 中间版本号
+
+
+
+
+ 获取小游戏Settings, 适用版本 >= 5.31.0
+
+ 获取的数据key
+ 是否使用缓存
+
+
+
+
+ 获取应用信息:schema、appid、接口黑白名单、应用版本、应用 pkg 类型、应用技术形态, 适用版本 > 5.32.0
+
+ 是否需要session字段
+
+
+
+
+ 游戏版本号是从AndroidManifest.xml解析出来
+
+
+
+
+ 游戏发布版本号,发布版本时发布工具中指定的版本号
+
+
+
+
+ 根据CI填写
+
+
+
+
+ Container的Version
+
+
+
+
+ RTC模块
+
+
+
+
+
+ 登录
+
+
+
+
+
+
+
+ 检查当前session是否有效
+
+
+
+
+
+
+ 获取当前的用户信息
+
+
+
+
+
+
+ 判断用户是否已经授权给当前游戏读取个人信息
+ 该API会调用宿主的代码,如果调用宿主代码成功则会调用onGetUserInfoAuth,并返回是否已经授权
+ 如果调用宿主代码失败则会调用onGetUserInfoAuthFail
+
+
+
+
+ 主动打开获取用户信息的授权界面
+ 该API会调用宿主的代码,如果调用宿主代码成功则会调用onGetUserInfoAuth,并返回最新的授权状态
+ 如果调用宿主代码失败则会调用onGetUserInfoAuthFail
+
+
+
+
+ 用户在实名认证弹窗完成实名认证后回调
+ 必须在游戏初始化阶段就调用
+
+
+
+
+ 广告管理模块,请求,播放激励视屏广告
+ 其他类型广告待实现
+
+
+
+
+ 设置激励视频广告的回调。获取完整的回调信息,一般处理都可以通过ShowVideoAd完成,评估必要性
+
+ 已播放时长.
+
+
+
+ video ad state.
+ Usually only state of `VideoAdState.Loaded` means it is properly loaded.
+
+
+
+
+ 根据广告错误判断是否需要retry
+
+
+
+
+ 广告是否加载完成
+
+
+
+
+ 初始化
+
+
+
+
+ 请求加载激励视频广告
+
+
+
+
+ 加载广告,并在某些错误情况下进行有限次重试
+
+
+
+
+ 异步请求并显示广告
+
+
+
+
+ 未进行视频裁剪
+
+
+
+
+ 视频裁剪中
+
+
+
+
+ 视频裁剪完成
+
+
+
+
+ 视频裁剪失败
+
+
+
+
+
+ 开始录屏回调
+
+
+
+
+ 录屏完成回调
+
+
+
+
+ 录屏失败回调
+
+
+
+
+ 录屏超时回调
+
+
+
+
+ 视频裁剪成功回调
+
+
+
+
+ 视频裁剪失败回调
+
+
+
+
+ 视频分享成功回调
+
+
+
+
+ 视频分享失败回调
+
+
+
+
+ 视频分享取消回调
+
+
+
+
+ 视频录制状态
+
+
+
+
+ 视频裁剪状态
+
+
+
+
+ 视频分享状态
+
+
+
+
+ 录制完成后的视频路径
+
+
+
+
+ 裁剪后的视频路径
+
+
+
+
+ 自助配乐
+
+
+
+
+ 录屏开启状态,-1未知,0未开启,1开启。
+
+
+
+
+ 设置录屏是否开启
+
+
+
+
+
+ 获取录屏开启状态
+
+ 返回true则表示录屏开启,返回false为录屏关闭
+
+
+
+ 开始录屏
+ 是否录制声音,默认为录制声音
+ 最大录制时长,单位 s。小于等于 0 则无限制。默认为10分钟
+ 视频录制开始回调
+ 视频录制失败回调
+ 录屏超时回调
+
+ 函数调用状态,调用成功返回true,否则返回false
+
+
+
+ WebGL开始录屏
+ 视频录制开始回调
+ 视频录制失败回调
+
+
+
+
+
+ 获取录屏时长
+
+ 返回录屏时长,单位 ms
+
+
+
+ 视频裁剪
+
+
+
+ 需要裁剪的时间片段,允许为null或空列表,如果列表为null或空,
+ 则默认使用RecordClip调用记录的时间片段,会对重合的时间进行合并,然后进行视频裁剪。
+ 如果不为空,则按传入的裁剪片段进行视频裁剪,时间片段重叠不会进行合并。主要用于乱序拼接。
+ 函数调用状态,调用成功返回true,否则返回false
+
+
+
+ 分享视频
+
+
+
+
+ 获取录屏状态
+
+ VideoRecordState
+
+
+
+ 获取视频分享状态
+
+ VideoShareState
+
+
+
+ 构造函数
+
+
+
+
+ 显示视频
+
+
+
+
+
+
+ 获取上一次的拉起信息
+
+
+
+
+
+ 判断自己本身是否被其他游戏拉起
+
+
+
+
+
+
+
+ 初始化
+
+
+
+
+ 跳转至某个游戏
+
+
+
+
+
+
+
+ 保存导航信息
+
+
+
+
+ 调用从互调返回时的回调函数
+
+ 游戏id
+ 游玩时间
+ 额外数据
+
+
+
+ 从服务器拉取互跳信息
+
+
+
+
+ 保存一个互跳信息
+
+ 游戏id
+ 自定义的query值
+ 额外数据
+ 视频链接
+ 这条互跳信息的来源
+
+
+
+ 保存自定义信息,用于传递给上一个拉起自己的游戏
+
+
+
+
+
+ 监听自己本身是否被其他游戏拉起
+
+
+
+
+
+ Dic的扩展方法
+
+
+
+
+ 当游戏Activity#OnResume的方法被调用时调用该C#方法
+
+
+
+
+
+
+ OK
+
+
+
+
+ 禁止录屏
+
+
+
+
+ 录屏SDK未初始化
+
+
+
+
+ 视频文件不存在
+
+
+
+
+ 开始录屏错误
+
+
+
+
+ 视频裁剪失败
+
+
+
+
+ 视频分享失败
+
+
+
+
+ 视频分享取消
+
+
+
+
+ 视频文件异常
+
+
+
+
+ 广告模块未初始化
+
+
+
+
+ 广告ID为空
+
+
+
+
+ 广告模块异常
+
+
+
+
+ 广告加载失败
+
+
+
+
+ 加速器数据回调
+
+
+
+
+ RTC连麦接口模块
+ rtc 连麦 接口文档:https://bytedance.feishu.cn/docx/doxcnKNEvQGmLTwupIvWDSqh1nd
+
+
+
+
+ 需要白名单
+ 获取 RtcEngine 实例(包含音视频应用程序调用的主要方法的接口类实例),应当只调用一次, 重复调用返回上次创建的,destroy后则重新创建。
+
+ rtc服务使用的appId
+
+
+
+ 销毁EtcEngine实例
+
+ 成功回调
+ 失败回调
+
+
+
+ 加入到通信房间
+
+ 加入语音频道的id
+ 加入语音频道用户的唯一标识,建议统一使用当前用户的 openId/匿名 openId
+ 成功回调
+ 失败回调
+
+
+
+ 离开当前频道
+
+ 成功回调
+ 失败回调
+ 执行结果,true为成功,false为失败
+
+
+
+ 开启内部音频采集。默认为关闭状态。
+
+ 成功回调
+ 失败回调
+ 执行结果,true为成功,false为失败
+
+
+
+ 关闭本地麦克风推流
+
+ 成功回调
+ 失败回调
+ 执行结果,true为成功,false为失败
+
+
+
+ 控制本地音频流的发送状态:不发送
+ 使用此方法后,房间中的其他用户会收到回调: OnUserMuteAudio
+
+ 执行结果,true为成功,false为失败
+
+
+
+ 控制本地音频流的发送状态:发送
+ 使用此方法后,房间中的其他用户会收到回调: OnUserMuteAudio
+
+ 成功回调
+ 失败回调
+ 执行结果,true为成功,false为失败
+
+
+
+ 针对当前设备,静音远端用户音频流
+
+ 成功回调
+ 失败回调
+ 执行结果,true为成功,false为失败
+
+
+
+ 针对当前设备,取消静音远端用户音频流
+
+ 成功回调
+ 失败回调
+ 执行结果,true为成功,false为失败
+
+
+
+ 针对当前设备,静音所有远端用户音频流
+
+ 成功回调
+ 失败回调
+ 执行结果,true为成功,false为失败
+
+
+
+ 针对当前设备,取消静音所有远端用户音频流
+
+ 成功回调
+ 失败回调
+ 执行结果,true为成功,false为失败
+
+
+
+ 调节播放音量(该方法只能加入房间成功后调用才生效)
+
+ 音量可在0~400范围内进行调节
+ - 0 : 静音
+ - 100 : 原始音量
+ - 400 : 最大可为原始音量的 2 倍(自带溢出保护)
+ 成功回调
+ 失败回调
+ 执行结果,true为成功,false为失败
+
+
+
+ 调节录音音量,采集麦克风的音量(该方法只能加入房间成功后调用才生效)
+
+ 音量可在0~400范围内进行调节
+ - 0 : 静音
+ - 100 : 原始音量
+ - 400 : 最大可为原始音量的 2 倍(自带溢出保护)
+ 成功回调
+ 失败回调
+ 执行结果,true为成功,false为失败
+
+
+
+ 该方法启用说话者音量提示。调用该方法后,将收到 audioVolumeIndication 事件回调。该方法只有在joinChannel之后才生效
+
+ 收到音量提示回调的时间间隔
+ + ≤ 0:禁用音量提示功能。
+ + > 0:启用音量提示功能,并设置收到音量提示回调的时间间隔。单位为毫秒。
+ 建议设置为大于等于 200 毫秒;小于 10 毫秒时,行为未定义。
+ 成功回调
+ 失败回调
+ 执行结果,true为成功,false为失败
+
+
+
+ 取消 RtcEngine,on 监听的所有event类型事件。当event 为空的时候,会移除所有RtcEngine上的事件监听。可传入参数如下,分别对应上面事件。当不传入时,默认移除所有事件监听
+
+
+
+
+ 监听列表
+
+
+
+
+ 首次加入房间成功。用户手动调用 JoinRoom,收到加入成功。
+ 加入房间失败没有单独的事件,需要通过onerror 判断
+
+
+
+
+ 重新加入房间。用户网络较差,失去与服务器的连接,进行重连时收到加入成功。
+
+
+
+
+ 当收到网络质量报告时回调该事件
+
+
+
+
+ 远端可见用户加入房间的回调。
+ 远端可见用户断网后重新连入房间时,房间内其他用户将收到该事件。
+ 新进房用户会收到进房前已在房内的可见用户的进房回调通知。
+
+
+
+
+ 远端可见用户离开房间,包含断网情况
+
+
+
+
+ rtc连接断开。和connectionLost类似,不过该方法是断开后立即触发
+
+
+
+
+ 网络连接断开超过 10 秒,仍然会继续重连。该事件和上面事件在类似,不过是超过10s 后触发
+
+
+
+
+ 当收到本地第一帧音频的时候上报该事件
+
+
+
+
+ 接收到来自远端某音频流的第一帧时,收到该回调。 用户刚收到房间内每一个用户音频流时,都会收到该回调。
+
+
+
+
+ 远端用户调用 muteLocalAudioStream
+ 改变本地音频推流状态时,房间内其他用户会收到此回调。
+ @param muted 是否被静音
+ true: 远端用户禁止推送音频数据;
+ false: 远端用户开启推送音数据
+
+
+
+
+ 远端用户enableLocalAudio/disableLocalAudio 开启/关闭音频设备采集时,房间内其他人会收到这个回调。
+ userMuteAudio 和 userEnableLocalAudio 分别代表开/关 本地麦克风采集 和开/关 推送本地数据。
+ 之所以有这样的区分,是因为 开/关 本地麦克风采集成本 的远大于 开/关 推送本地数据。因为麦克风采集需要调用系统接口,而 开/关推送数据只是标识位的改变。
+ enabled 用户是否开启了音频设备采集
+ true: 远端用户禁止推送音频数据;
+ false: 远端用户开启推送音数据
+
+
+
+
+ 当收到音量信息时回调该事件,需要调用 enableAudioVolumeIndication 后才可以
+ 对于本地用户:只要进行本地音频采集,回调内就会包含本地音频流的音量信息。
+ 对于远端用户:本地必须订阅某远端用户的音频流,回调内才会包含其发送的音频流的音量信息。
+
+
+
+
+ 当内部发生警告信息时回调该事件
+
+
+
+
+ 当内部发生不可逆转测错误时回调,比如加入房间失败
+
+
+
+
+ 首次加入房间成功。用户手动调用 JoinRoom,收到加入成功。
+ 加入房间失败没有单独的事件,需要通过onerror 判断
+
+ 从调用joinChannel开始到加入房间成功所经历的时间(毫秒单位)
+
+
+
+ 重新加入房间。用户网络较差,失去与服务器的连接,进行重连时收到加入成功。
+
+ 从用户掉线掉重新加入房间成功经历的时间(毫秒单位)
+
+
+
+ 当收到网络质量报告时回调该事件
+
+ 远端通话用户标识
+ 所属用户的媒体流上行网络质量
+ 所属用户的媒体流下行网络质
+
+
+
+ 远端可见用户加入房间的回调。
+ 远端可见用户断网后重新连入房间时,房间内其他用户将收到该事件。
+ 新进房用户会收到进房前已在房内的可见用户的进房回调通知。
+
+ 远端通话用户标识
+ 从加入房间到收到该事件经历的时间(毫秒单位)
+
+
+
+ 远端可见用户离开房间,包含断网情况。
+
+ 离线用户的标识
+ 用户离线的原因 0, quit normal , 1, user lost
+
+
+
+ rtc连接断开。和connectionLost类似,不过该方法是断开后立即触发
+
+
+
+
+ 网络连接断开超过 10 秒,仍然会继续重连。该事件和上面事件在类似,不过是超过10s 后触发
+
+
+
+
+ 当收到本地第一帧音频的时候上报该事件
+
+ 返回StreamIndex: 0-视频流;1-屏幕流
+
+
+
+ 当收到本地第一帧音频的时候上报该事件
+
+ 远端通话用户标识
+ 返回StreamIndex: 0-视频流;1-屏幕流
+
+
+
+ 远端用户调用 muteLocalAudioStream, 改变本地音频推流状态时,房间内其他用户会收到此回调。
+
+ 远端通话用户标识
+ 是否被静音 true: 远端用户禁止推送音频数据 false: 远端用户开启推送音数据
+
+
+
+ 远端用户enableLocalAudio/disableLocalAudio 开启/关闭音频设备采集时,房间内其他人会收到这个回调。
+ userMuteAudio 和 userEnableLocalAudio 分别代表开/关 本地麦克风采集 和开/关 推送本地数据。
+ 之所以有这样的区分,是因为 开/关 本地麦克风采集成本 的远大于 开/关 推送本地数据。因为麦克风采集需要调用系统接口,而 开/关推送数据只是标识位的改变。
+
+ 远端通话用户标识
+ 用户是否开启了音频设备采集 true: 远端用户允许开启音频设备 false: 远端用户禁止开启音频设备
+
+
+
+ 当收到音量信息时回调该事件,需要调用 enableAudioVolumeIndication 后才可以。
+ 对于本地用户:只要进行本地音频采集,回调内就会包含本地音频流的音量信息。
+ 对于远端用户:本地必须订阅某远端用户的音频流,回调内才会包含其发送的音频流的音量信息。
+
+ 用户id
+ 音量大小,范围[0,255]
+ 音频源数量
+
+
+
+ 当内部发生警告信息时回调该事件
+
+ 警告码,详情查看 https://bytedance.feishu.cn/docx/doxcnKNEvQGmLTwupIvWDSqh1nd
+
+
+
+ 当内部发生不可逆转测错误时回调,比如加入房间失败
+
+ 错误码,详情查看 https://bytedance.feishu.cn/docx/doxcnKNEvQGmLTwupIvWDSqh1nd
+
+
+ 首次加入房间成功。用户手动调用 JoinRoom,收到加入成功。
+
+
+ 重新加入房间。用户网络较差,失去与服务器的连接,进行重连时收到加入成功。
+
+
+ 当收到本地第一帧音频的时候上报该事件
+
+
+ 当收到本地第一帧音频的时候上报该事件
+
+
+ 远端用户调用 muteLocalAudioStream, 改变本地音频推流状态时,房间内其他用户会收到此回调。
+
+
+ 远端用户enableLocalAudio/disableLocalAudio 开启/关闭音频设备采集时,房间内其他人会收到这个回调。
+
+
+ 远端可见用户加入房间的回调
+
+
+ 远端可见用户离开房间,包含断网情况。
+
+
+ 远端用户enableLocalAudio/disableLocalAudio 开启/关闭音频设备采集时,房间内其他人会收到这个回调。
+
+
+ rtc连接断开。和connectionLost类似,不过该方法是断开后立即触发
+
+
+ 网络连接断开超过 10 秒,仍然会继续重连。该事件和上面事件在类似,不过是超过10s 后触发
+
+
+ 当收到音量信息时回调该事件,需要调用 enableAudioVolumeIndication 后才可以。
+
+
+ 当内部发生警告信息时回调该事件
+
+
+ 当内部发生不可逆转测错误时回调,比如加入房间失败
+
+
+
+ 当前的登录状态
+
+
+
+
+ 登录后获取登录的用户信息
+
+
+
+
+ Stark账号系统
+
+
+
+
+ 登录成功
+
+ 临时登录凭证, 有效期 3 分钟。可以通过在服务器端调用 登录凭证校验接口 换取 openid 和 session_key 等信息。
+ 用于标识当前设备, 无论登录与否都会返回, 有效期 3 分钟
+ 判断在当前 APP(头条、抖音等)是否处于登录状态
+
+
+
+ 登录失败
+ 错误消息
+
+
+
+
+ 检查Session接口调用失败的回调函数
+
+ 错误原因
+
+
+
+ 接口调用成功的回调函数
+
+
+
+
+ 获取用户信息失败的回调
+
+ 失败信息
+
+
+
+ 获取用户信息成功的回调
+
+ 目标用户信息
+
+
+
+ 用户实名认证成功的回调
+
+
+
+
+ 判断当前用户是否已经授权给游戏读取自身的信息
+
+ 是否授权
+
+
+
+ 调用接口判断当前用户是否已经授权时失败或者发生内部错误
+
+
+
+
+
+ 登录-获取临时登录凭证
+ 强制登录默认为true,即若当前未登录宿主,则会调起宿主的登录窗口, 如果用户点击取消则会调用 fail
+ 如果当前登录宿主,则直接返回success,获取到 code 和 anonymousCode
+ 若强制登录为false,当前登录了宿主则会返回success,可以获取到获取到 code 和 anonymousCode
+ 当前未登录宿主,则只有 anonymousCode
+ code 可以换取 openid, openid 是用户的唯一标识
+ anonymousCode 可以换取 anonymous_openid, 同一台手机 anonymous_openid 是相同的
+
+ 未登录时, 是否强制调起登录框
+ 登录成功的回调
+ 登陆失败的回调
+
+
+
+ 检查用户当前的 session 状态是否有效
+ 只有成功调用 login 才会生成 session,checkSession 才会进入 success 回调,当用户退出登录会清除 session
+ session_key 会随着login接口的调用被刷新。可以通过checkSession方法验证当前 session 是否有效,从而避免频繁登录。
+ 目前实际测试若使用匿名登录(forceLogin = false),则checkSession会一直返回 fail
+ 只有登录了宿主(forceLogin = true),checkSession才会返回success,下次不用login checkSession也可以返回true
+
+ 验证有效的回调
+ 验证无效或者验证失败的回调
+
+
+
+ 获取已登录用户的基本信息或特殊信息
+ 若匿名登录后 userinfo里面字段全部为默认值
+ 登录了宿主后可以获取账号数据,下次不用login GetScUserInfo也可以返回正确数据
+
+ 验证有效的回调
+ 验证无效或者验证失败的回调
+
+
+
+ 判断用户是否已经授权给当前游戏读取个人信息
+ 该API会调用宿主的代码,如果调用宿主代码成功则会调用onGetUserInfoAuth,并返回是否已经授权
+ 如果调用宿主代码失败则会调用onGetUserInfoAuthFail
+
+ 调用宿主代码成功,并返回是否已经授权读取用户信息
+ 调用宿主代码时发生错误
+
+
+
+ 主动打开获取用户信息的授权界面,在Setting界面关闭后返回最新的授权状态,该方法没有超时时间
+ 该API会调用宿主的代码,如果调用宿主代码成功则会调用onGetUserInfoAuth,并返回最新的授权状态
+ 如果调用宿主代码失败则会调用onGetUserInfoAuthFail
+
+
+
+
+ 用户在实名认证弹窗完成实名认证后回调
+ 需要在初始化时设置,回调时机为:游戏中弹出实名认证,用户完成了实名认证时触发
+
+
+
+
+ 广告管理模块
+ 支持激励视屏,banner 和 插屏广告。
+ 开通指南:https://microapp.bytedance.com/docs/zh-CN/mini-app/develop/functional-plug-in/advertising-component-access-guide/flow-main-open-process/
+
+
+
+
+ 是否显示广告加载提示,默认显示
+
+
+
+
+ 展示激励视频广告,在广告未加载时会发起异步请求,弱网情况下会进行重试。失败会调用errCallback
+ 激励视频广告只支持一个实例,申请多个激励视频广告位是无效的
+ 简单回调设置,激励视频完成和错误的回调函数
+ 与 SetVideoAdCallBack 不冲突,在结束时都会被调用到,会同时收到close和complete
+ 错误码由sdk传出,原因参考
+ https://bytedance.feishu.cn/docs/doccn1lAbZzMOqI5ueq1gCyPdcg#
+ https://microapp.bytedance.com/docs/zh-CN/mini-game/develop/open-capacity/ads/ads-error-code-description/
+ https://microapp.bytedance.com/docs/zh-CN/mini-app/develop/api/open-interface/ads/tt-create-interstitial-ad
+ 1004 可能是由于广告请求被限制了次数,需要跟广告投放沟通
+ 如果需要更详细的回调信息,可使用 SetVideoAdCallBack
+
+ 广告aid.
+ 视频广告关闭回调,参数含义 IsComplete,表明广告是否播放完成.
+ 视频广告错误回调,参数含义 errCode, errMsg 表明错误码和错误描述.
+ 视频广告详细过程回调,一般可以不关注.
+
+
+
+ 创建Banner广告,返回 BannerAd 实例。支持多实例,可以在一个页面下展示多个。也可以分页面展示
+ 竖屏情况下,Banner广告接受的宽度范围是 0.8*屏幕宽度,1.0*屏幕宽度。
+ 横屏情况下,Banner广告接受的最小宽度是 128,最大宽度是 208。
+ 开发者可以在这之间自由指定广告宽度。广告组件会自动等比例缩放素材。
+ 创建Banner示例后,要主动调用show来进行展示
+ 错误码由sdk传出,原因参考
+ https://microapp.bytedance.com/docs/zh-CN/mini-game/develop/open-capacity/ads/ads-error-code-description/
+
+ banner广告位的adid
+ 样式:"style":{"top":0, "left":0, "width":320}} width 在竖屏下会被限制在 [0.8*ScreenWidth,1.0*ScreenWidth],横屏下会被限制在[128, 208]
+ 广告自动刷新的间隔时间,单位为秒,参数值必须大于等于 30(该参数不传入时 Banner 广告不会自动刷新).
+ 广告错误回调,参数表明错误码和错误描述.
+ 广告加载回调.
+ 广告样式改变回调,第一个参数是width.第二个参数是height.
+
+
+
+ 创建并播放插屏广告,在广告模块启动15s内不允许展示插屏广告,在任何地方调用API.GetStarkAdManager,就会启动广告模块
+ 两个插屏广告展示间隔不能少于30s
+ 插屏广告支持多实例。简单回调设置,插屏广告完成和错误的回调函数
+ 插屏广告实例只支持展示一次,出现加载错误,或 展示成功,点击关闭按钮或视频广告外的其他地方,广告实例都会自动销毁。下一次需再次创建。
+ 提供接口可以手动销毁
+ 错误码由sdk传出,原因参考
+ https://microapp.bytedance.com/docs/zh-CN/mini-game/develop/open-capacity/ads/tt-create-interstitial-ad
+
+ 插屏广告位的adid
+ 是否自动展示
+ 广告视频错误回调,参数含义 errCode, errMsg 表明错误码和错误描述.
+ 广告视频关闭回调.
+ 广告加载回调.
+
+
+ ---------------------------------------------------------------------
+
+ BannerAd 对象
+
+
+
+
+ 显示。如果加载出错,会调用CreateBannerAd的参数 errCallback
+
+
+
+
+ 隐藏
+
+
+
+
+ 销毁
+
+
+
+
+ 改变样式
+ 成功后会调用CreateBannerAd的参数 resizeCallback
+ 横屏下可以更改位置和宽度,竖屏下只能更改位置。
+
+
+
+
+ 是否有效,bannerad在load出错的情况下,如果adInterval为-1,则无法再进行刷新。此时认为已失效,需要destory再重新创建
+
+
+
+
+ InterstitialAd 对象
+
+
+
+
+ 加载
+
+
+
+
+ 显示
+
+
+
+
+ 是否已加载
+
+
+
+
+ 销毁
+
+
+
+
+ Banner样式
+
+
+
+
+ 广告位区域左上角横坐标
+
+
+
+
+ 广告位区域左上角纵坐标
+
+
+
+
+ 广告位区域宽度
+
+
+
+
+ 广告位区域高度,受广告内容影响自主变化, 无法由外部指定
+
+
+
+
+ 广告的回调函数
+
+
+
+
+ 广告加载成功
+
+
+
+
+ 广告开始播放
+
+
+
+
+ 广告失败,错误码同 ShowVideoAd
+
+
+
+
+ 广告关闭回调
+
+ 已播放时长.
+ 有效播放时长(超过此时长可以授予激励).
+ 视频总时长.
+
+
+
+ 设置激励视频广告的回调。获取完整的回调信息,一般处理都可以通过ShowVideoAdWithId完成,需要时使用
+
+ 激励视频广告的回调.
+
+
+
+ 是否显示广告加载进度弹窗
+
+
+
+
+
+
+
+ 游戏收藏
+
+ 收藏回调,true表示成功,false表示失败
+
+
+
+ 取消游戏收藏
+
+ 取消收藏回调,true表示成功,false表示失败
+
+
+
+ 游戏是否已收藏
+
+ 是否已收藏,true表示已收藏,false表示未收藏
+
+
+
+ 收藏引导
+ 弹窗类型,默认为底部弹窗
+ 弹窗文案,仅style为 Tip 时可修改,最多显示 12 个字符。
+
+
+
+
+ 游戏内录屏模块
+
+
+
+
+ 是否显示视频分享Toast UI提示,默认显示
+
+
+
+
+ 开始录屏
+
+
+
+
+ 录屏错误
+ 错误码
+ 错误消息
+
+
+
+
+ 录屏完成
+ 实际视频路径
+
+
+
+
+ 视频分享成功
+
+
+
+
+ 视频分享失败
+ 错误消息
+
+
+
+
+ 视频分享取消
+
+
+
+
+ 是否显示视频分享Loading界面
+
+
+
+
+ 时间片段(用于视频裁剪)
+
+
+
+
+ 开始时间,单位ms
+
+
+
+
+ 结束时间,单位ms
+
+
+
+
+ 录屏状态枚举
+
+
+
+
+ 录制开始中
+
+
+
+
+ 录制已开始
+
+
+
+
+ 录制暂停中
+
+
+
+
+ 录制已暂停
+
+
+
+
+ 录制停止中
+
+
+
+
+ 录制已停止
+
+
+
+
+ 录制结束
+
+
+
+
+ 录制错误
+
+
+
+
+ 录制的视频时长太短
+
+
+
+
+ 视频分享状态枚举
+
+
+
+
+ 未进行视频分享
+
+
+
+
+ 视频分享中
+
+
+
+
+ 等待分享器回调
+
+
+
+
+ 视频分享成功
+
+
+
+
+ 视频分享失败
+
+
+
+
+ 视频分享取消
+
+
+
+
+ 设置录屏是否开启
+
+ 开启设置为true,禁止设置为false
+
+
+
+ 获取录屏开启状态
+
+ 返回true则表示录屏开启,返回false为录屏关闭
+
+
+
+ 设置录屏关键帧插帧间隔
+ 内部默认关键帧间隔1s,若需要更小的关键帧间隔精度,可通过该接口设置关键帧间隔
+ 插帧思路按照帧间隔在超过下述设置阈值后,将自动将对应到来的帧插成关键帧
+ 在录制前设置,在下次录制时候即生效
+
+ 视频关键帧插帧间隔 单位ms,默认值-1,为不插帧
+ 是否设置成功回调, true 成功 false 失败
+
+
+
+ 开始录屏
+ 是否录制声音,默认为录制声音
+ 最大录制时长,单位 s。小于等于 0 则无限制。默认为10分钟
+ 视频录制开始回调
+ 视频录制失败回调
+
+ 函数调用状态,调用成功返回true,否则返回false
+
+
+
+ 停止录屏
+ 视频录制完成回调
+ 视频录制失败回调
+ 停止后需要对视频进行裁剪的时间片段,如果为null或空列表,则不对视频进行裁剪
+ 是否对视频裁剪片段进行自动合并。
+ 合并规则:
+ 如果有两段重叠的时间片段,并且重叠部分小于等于1秒,则对这两段进行合并为一段
+ 若autoMerge为true,比如时间片段为{[1000, 5000], [4000, 7000]},会被合并为{[1000, 7000]}。
+ 若autoMerge为false,将按原始传入的时间片段进行裁剪,是否有重叠,由调用方保证。主要用于自定义裁剪。
+
+ 函数调用状态,调用成功返回true,否则返回false
+
+
+
+ 获取录屏时长
+
+ 返回录屏时长,单位 ms
+
+
+
+ 获取视频录制状态
+
+ VideoRecordState
+
+
+
+ 给录屏分享设置默认的配乐,若链接不符合要求则不生效,参考文档:https://bytedance.feishu.cn/docs/doccnlj9zMlqSbD0S0FEMonoJZd
+
+ 抖音PGC音乐的短链。形如 "https://v.douyin.com/JmcxWo8/", null 或者 “”表示取消默认配乐
+
+
+
+ 获取视频分享状态
+
+ VideoClipState
+
+
+
+ 分享视频。分享的视频文件是调用StopVideo后生成的文件。
+ 注意:视频分享需要录制至少3s的视频,低于3s的视频将会分享失败。
+
+ 分享成功回调
+ 分享失败回调
+ 分享取消回调
+ 函数调用状态,调用成功返回true,否则返回false
+
+
+
+ 带标题和话题的分享视频。分享的视频文件是调用StopVideo后生成的文件。
+ 注意:视频分享需要录制至少3s的视频,低于3s的视频将会分享失败。
+
+ 分享成功回调
+ 分享失败回调
+ 分享取消回调
+ 分享视频的标题,如不需要设置标题,可以传null或空字符串
+ 分享视频的话题,如不需要设置话题,可以传null或空列表
+ 函数调用状态,调用成功返回true,否则返回false
+
+
+
+ 带Json数据格式的分享视频。分享的视频文件是调用StopVideo后生成的文件。
+ 注意:视频分享需要录制至少3s的视频,低于3s的视频将会分享失败。
+
+ 分享成功回调
+ 分享失败回调
+ 分享取消回调
+ 视频分享的其它一些字段信息
+ (除videoPath、channel字段的其它字段信息,如分享话题、标题、描述等)。
+ 参考:https://microapp.bytedance.com/docs/zh-CN/mini-game/develop/api/retweet/tt-share-app-message/
+
+ 函数调用状态,调用成功返回true,否则返回false
+
+
+
+ 抖音好友邀请状态变化
+ 状态值, 参考@InviteState
+ 状态对应的信息
+
+
+
+
+ 监听邀请状态变化事件
+
+
+
+
+ 抖音好友邀请
+
+ 房间id
+ 用于放在schema 里面的信息,Key-Value形式。
+ 额外扩展信息, Key-Value形式。
+ 调用结果回调: (isSuccess, errMsg) => {}
+ Example
+ StarkSDK.API.GetStarkInvite().onInviteStateChanged = (state, msg) =>
+ {
+ Debug.Log($"onInviteStateChanged - state: {state}, msg: {msg}");
+ };
+ var roomId = "12345";
+ var query = new JsonData {["test"] = "query"};
+ JsonData extra = null;
+ StarkSDK.API.GetStarkInvite().CreateInvitePanel(roomId, query, extra, (isSuccess, errorMsg) =>
+ {
+ if (isSuccess)
+ {
+ Debug.Log("CreateInvitePanel success");
+ }
+ else
+ {
+ Debug.Log($"CreateInvitePanel failed, {errorMsg}");
+ }
+ });
+
+
+
+
+ 键盘输入事件
+ 键盘输入的当前值
+
+
+
+
+ 用户点击键盘确定按钮时的事件
+ 键盘输入的当前值
+
+
+
+
+ 键盘收起事件
+ 键盘输入的当前值
+
+
+
+
+ 监听键盘输入事件
+
+
+
+
+ 监听用户点击键盘确定按钮时的事件
+
+
+
+
+ 监听键盘收起事件
+
+
+
+
+ 显示软键盘(仅WebGL平台下支持)
+ 参考: https://microapp.bytedance.com/docs/zh-CN/mini-game/develop/api/interface/keyboard/tt-show-keyboard/
+ 键盘输入监听请设置 onKeyboardInputEvent 和 onKeyboardConfirmEvent
+
+ 显示键盘的参数
+ 显示软键盘成功回调: () => {}
+ 显示软键盘失败回调,(errMsg) => {}
+ Example:
+ using StarkSDKSpace;
+ using UnityEngine;
+ using UnityEngine.UI;
+
+ public class KeyboardTest : MonoBehaviour
+ {
+ public InputField input;
+
+ private void Start()
+ {
+ SetInputTexts();
+ RegisterKeyboardEvents();
+ }
+
+ private void SetInputTexts()
+ {
+ input.text = "done";
+ var comp = input.GetComponent<ClickableInputField>();
+ if (comp == null)
+ {
+ comp = input.gameObject.AddComponent<ClickableInputField>();
+ }
+ comp.multiple = false;
+ comp.confirmType = input.text;
+ }
+
+ private void OnDestroy()
+ {
+ UnregisterKeyboardEvents();
+ }
+
+ private void RegisterKeyboardEvents()
+ {
+ StarkSDK.API.GetStarkKeyboard().onKeyboardInputEvent += OnKeyboardInput;
+ StarkSDK.API.GetStarkKeyboard().onKeyboardConfirmEvent += OnKeyboardConfirm;
+ StarkSDK.API.GetStarkKeyboard().onKeyboardCompleteEvent += OnKeyboardComplete;
+ }
+
+ private void UnregisterKeyboardEvents()
+ {
+ StarkSDK.API.GetStarkKeyboard().onKeyboardInputEvent -= OnKeyboardInput;
+ StarkSDK.API.GetStarkKeyboard().onKeyboardConfirmEvent -= OnKeyboardConfirm;
+ StarkSDK.API.GetStarkKeyboard().onKeyboardCompleteEvent -= OnKeyboardComplete;
+ }
+
+ private void OnKeyboardInput(string value)
+ {
+ Debug.Log($"OnKeyboardInput: {value}");
+ if (input.isFocused)
+ {
+ input.text = value;
+ }
+ }
+
+ private void OnKeyboardConfirm(string value)
+ {
+ Debug.Log($"OnKeyboardConfirm: {value}");
+ }
+
+ private void OnKeyboardComplete(string value)
+ {
+ Debug.Log($"OnKeyboardComplete: {value}");
+ }
+ }
+ public class ClickableInputField : EventTrigger
+ {
+ public string confirmType = "done"; // 可选值有: "done", "next", "search", "go", "send"
+ public int maxInputLength = 100; // 最大输入长度
+ public bool multiple = false; // 是否多行输入
+ private InputField _inputField;
+ private void Start()
+ {
+ _inputField = GetComponent<InputField>();
+ }
+ public override void OnPointerClick(PointerEventData eventData)
+ {
+ if (_inputField != null)
+ {
+ if (_inputField.isFocused)
+ {
+ StarkSDK.API.GetStarkKeyboard().ShowKeyboard(new StarkKeyboard.ShowKeyboardOptions()
+ {
+ maxLength = maxInputLength,
+ multiple = multiple,
+ defaultValue = _inputField.text,
+ confirmType = confirmType
+ });
+ }
+ }
+ }
+ }
+
+
+
+
+ 收起软键盘(仅WebGL平台下支持)
+ 参考: https://microapp.bytedance.com/docs/zh-CN/mini-game/develop/api/interface/keyboard/tt-hide-keyboard/
+
+ 隐藏软键盘成功回调: () => {}
+ 隐藏软键盘失败回调,(errMsg) => {}
+
+
+
+ 更新键盘,只有当键盘处于拉起状态时才会产生效果。
+ 参考: https://microapp.bytedance.com/docs/zh-CN/mini-game/develop/api/interface/keyboard/tt-show-keyboard/
+ 键盘输入监听请设置 onKeyboardInputEvent 和 onKeyboardConfirmEvent
+
+ 键盘输入框的当前值
+ 更新软键盘成功回调: () => {}
+ 更新软键盘失败回调,(errMsg) => {}
+
+
+
+ 游戏跳转返回的跳转信息
+ 用处:
+ 1.A->B A游戏跳转到B游戏,再从B游戏返回到A时,若A游戏没有被杀死则实时收到该信息
+ 2.A->B A游戏跳转到B游戏,再从B游戏返回到A时,若A游戏被杀死则下次A启动时再获取该信息
+
+
+
+
+ 提供游戏互跳功能的模块
+ 本地配置互跳信息的方法:
+ 在Resources文件加下添加game.json
+ 内容如下:
+ [{
+ "navigate_app_id": "互跳游戏1的appid",
+ },
+ {
+ "navigate_app_id": "互跳游戏2的appid",
+ }]
+
+
+
+
+ 当从跳转的目标游戏返回时且自身进程存在没有被玩家杀死则自动调用该方法
+ A跳转B,B玩完返回A时,若A依旧存活则会自动调用该方法
+ 若A被用户杀死则下一次启动A时可以通过方法获取上次的拉起信息
+ 两种情况互斥,A依旧存活时,下次启动A就会获取不到信息;A被杀死,一定获取不到该回调,下次启动时会获取到拉起信息
+
+ 跳转的目标appid
+ 游玩时间
+
+
+
+ 跳转游戏时失败时调用这个回调
+
+
+
+
+ 当播放的视频被关闭时调用改接口
+
+
+
+
+ 显示一个游戏视频,当点击视频时跳转到对应游戏,只能在宿主抖音和头条下使用
+ 抖音极速版和头条极速版不支持,
+ 可通过获取当前的宿主类型。
+ 互跳的条目信息可有两个来源,网络动态拉取找对应QA同学配置,本地配置方法见类
+ StarkNavigateGame的注释。
+
+ 跳转返回时调用该方法
+ 跳转失败时调用该方法,如没有获取到跳转信息
+ 视频界面关闭时的回调
+ 跳转到对应游戏时传递的自定义参数
+
+
+
+ 直接跳转至目标索引号所代表的游戏
+ 互跳的条目信息可有两个来源,网络动态拉取找对应QA同学配置,本地配置方法见类
+ StarkNavigateGame的注释。
+
+ 在服务器配置的游戏索引号,从0开始
+ 跳转返回时调用该方法
+ 跳转失败时调用该方法,如没有获取到跳转信息
+ 跳转到对应游戏时传递的自定义参数
+
+
+
+ 拉起方读取被拉起方传递的信息,只有A拉起B后,A被杀死无法从B获取通知时该接口才会有数据
+ 该接口涉及到读文件、Native方法调用,比较耗时,不可频繁调用!
+
+
+
+
+ 是否查找到跳转信息
+
+
+
+ 判断当前游戏是否被另一个游戏拉起
+
+ 该游戏被该appid对应的游戏拉起,若不是被拉起的appid为""
+ 获取从拉起方传递来的自定义数据,若不是被拉起的navigateExtraParam为""
+ true:当前游戏是被其他游戏拉起的,false:当前游戏不是由其他游戏拉起的
+
+
+
+ 初始化,从服务器获取导航信息
+
+
+
+
+
+ 不开放给用户StarkSDK实现的调用SCPlugin的存储文件的方法
+
+
+
+
+ 当该游戏由其他游戏拉起时,设置的回调
+
+ 被哪个游戏拉起
+ 被拉起游戏设置的额外信息
+
+
+
+ CP自己设置的在本游戏中推荐的游戏
+
+ 目标appid
+ 设置的query值
+ 自定义的额外信息
+ 视频的url链接
+
+
+
+ 被拉起方的游戏设置传递给拉起方的信息,拉起方可以读取设置的该信息
+ 游戏A拉起了游戏B:
+ A若拉起B后在后台被杀死则通过接口可以获取到设置的信息
+ A若拉起B后依旧在后台则通过设置的接口通知设置的信息
+ 该接口涉及到写文件、Native方法调用,比较耗时,不可频繁调用!
+
+
+
+
+
+ 设置从其他游戏拉起的事件监听,从其他游戏拉起时会调用该回调
+ 一定要早于StarkSDK的初始化
+
+ 特定游戏的id
+
+
+
+ 供Java侧调用,获取保存到Unity本地的互跳信息
+
+
+
+
+ 非uc环境下运行
+
+
+
+
+ 当前uc环境不支持支付功能
+
+
+
+
+ 前一个支付未完成
+
+
+
+
+ orderInfo参数无效
+
+
+
+
+ 支付失败
+
+
+
+
+ 拉起微信支付失败
+
+
+
+
+ 微信未安装
+
+
+
+
+ 查询订单状态处理函数
+
+ 订单号(从orderInfo中读取的order_info值)
+ 交易时间(从orderInfo中读取的trade_time值)
+ PayStatus 订单支付状态
+
+
+
+ 支付状态
+
+
+
+
+ 支付成功
+
+
+
+
+ 支付超时
+
+
+
+
+ 支付失败
+
+
+
+
+ 支付关闭
+
+
+
+
+ 支付取消
+
+
+
+
+ 订单状态未知/未支付
+
+
+
+
+ 拉起支付服务类型
+
+
+
+
+ 小程序收银台,从收银台选择支付渠道
+
+
+
+
+ 调用微信 API 支付,不拉起小程序收银台
+
+
+
+
+ 调用支付宝 API 支付,不拉起小程序收银台
+
+
+
+
+ 支付渠道
+
+
+
+
+ 使用微信支付
+
+
+
+
+ 使用支付宝支付
+
+
+
+
+ 支付接口 (已废弃)
+ 参考文档:https://microapp.bytedance.com/docs/zh-CN/mini-app/develop/api/open-interface/pay/tt-pay/
+
+ json字符串。调起小程序支付收银台的签名订单信息。
+ 生成方式参考文档:https://microapp.bytedance.com/docs/zh-CN/mini-app/develop/server/ecpay/server-doc/
+ 拉起支付服务类型 (小程序收银台、微信、支付宝)
+ 默认勾选的支付方式(支付宝或微信),仅在 serviceType 值为 Checkout 时有效。
+ 注意:这个设置会依赖服务器端下发用户上次使用过的支付方式作为默认支付方式,所以这个设置可能不会生效。
+ (orderNo, tradeTime) => { return PayStatus; } 查询订单支付状态函数实现,仅在 serviceType 值为 Checkout 时需要实现。
+ 如果 serviceType 值为 Checkout ,需要由业务方实现 orderStatusHandler 接口,根据订单号从业务后台查询支付状态并返回支付状态结果,主要用于通知前端界面展示。
+ 注意:orderStatusHandler 这个回调函数会在底层轮循调用。如果查询不到支付结果状态,可以返回PayUnknown状态。
+ 支付回调 (payStatus) => {}
+ 当有错误发生时回调 (errCode, errMsg) => {}
+
+
+
+ 初始化支付接口,减少支付时卡顿时间
+
+
+
+
+ 小游戏平台的支付接口
+ 接口文档 https://microapp.bytedance.com/docs/zh-CN/mini-game/develop/api/payment/tt-request-game-payment
+ mode string 支付的类型, 目前仅为"game"
+ env int 环境配置,目前合法值仅为"0"
+ currencyType string 币种, 目前仅为"CNY"
+ platform string 申请接入时的平台,目前仅为"android"
+ buyQuantity int 金币购买数量
+ zoneId 选填 string 游戏服务区 id,
+ customId 选填 string 游戏开发者自定义的唯一订单号,订单支付成功后通过服务端支付结果回调回传
+ extraInfo string 游戏开发者自定义的其他信息,订单支付成功后通过服务端支付结果回调回传。字符串长度最大不能超过 256
+
+
+
+
+ 游戏内网络请求模块
+
+
+
+
+ 请求相关设置
+
+
+
+ 网络请求方法,支持 GET/POST/OPTIONS/PUT/HEAD/DELETE
+
+
+ 请求的参数
+
+
+ 请求header
+
+
+ 期望返回的数据类型
+
+
+ 期望响应的数据类型,支持 text 或 arraybuffer
+
+
+
+ 请求响应
+
+
+
+
+ 发起一个网络请求。网络相关的 API 在使用前需要配置域名白名单。
+ 请参考 https://microapp.bytedance.com/docs/zh-CN/mini-app/develop/guide/basic-ability/network/
+
+ 请求地址
+ 相关设置
+ 请求'成功'的回调
+ 请求失败的回调
+
+
+
+ (内部方法)发起一个网络请求。网络相关的 API 在使用前需要配置域名白名单。
+ 请参考 https://microapp.bytedance.com/docs/zh-CN/mini-app/develop/guide/basic-ability/network/
+
+ 请求地址
+ 相关设置
+ 请求'成功'的回调
+ 请求失败的回调
+
+
+
+
+ 分享成功
+
+
+
+
+ 分享失败
+ 错误消息
+
+
+
+
+ 分享取消
+
+
+
+
+ 通用分享
+
+ 分享成功回调
+ 分享失败回调
+ 分享取消回调
+ 可填的字段信息参考:https://microapp.bytedance.com/docs/zh-CN/mini-game/develop/api/retweet/tt-share-app-message/
+
+
+
+ 监听用户点击右上角菜单中的“转发”,"拍抖音"按钮时触发的事件 https://microapp.bytedance.com/docs/zh-CN/mini-game/develop/api/retweet/tt-on-share-app-message
+ 需要返回一个ShareParam 对象,用于分享 https://microapp.bytedance.com/docs/zh-CN/mini-game/develop/api/retweet/share-param
+
+ callback 接收一个 object 类型的参数,属性为:string: channel
+
+
+
+ 取消监听用户点击右上角菜单的“转发”按钮时触发的事件。 https://microapp.bytedance.com/docs/zh-CN/mini-game/develop/api/retweet/tt-off-share-app-message
+
+
+
+
+ 视频播放回调接口
+
+ 视频在列表中的位置(第一个位置从0开始)
+
+
+
+ 视频点击回调
+
+
+
+
+ 文本点击回调
+
+
+
+
+ 播放的视频页发生变化
+
+
+
+
+ 视频播放结束
+
+
+
+
+ 视频播放失败
+
+
+
+
+ 视频界面关闭回调
+
+
+
+
+ 视频播放模块
+
+
+
+
+ 抖音短视频分享链接
+
+
+
+
+ 用于显示的文本
+
+
+
+
+ 文本颜色,默认为白色
+
+
+
+
+ 抖音视频播放
+
+ 视频列表(如果之前有播放过视频,下次调用时可以传 null 或空列表)
+ 视频播放回调,具体参见 StarkVideoCallback 定义
+ 视频播放窗口的关闭按钮延迟显示时间,单位毫秒,小于等于0则表示立即显示。
+ 窗口横坐标位置(相对于屏幕左上角)
+ 窗口纵坐标位置(相对于屏幕左上角)
+ 视频播放窗口宽度,小于等于0则占满屏幕宽度
+ 视频播放窗口高度,小于等于0则占满屏幕高度
+
+
+ List<StarkVideoManager.StarkVideo> videos = new List<StarkVideoManager.StarkVideo>();
+ videos.Add(new StarkVideoManager.StarkVideo("https://v.douyin.com/JppLfuu/", "This is the first video"));
+ StarkVideoCallback callback = new StarkVideoCallback();
+ callback.OnVideoClickedCallback = index =>
+ {
+ Debug.Log("video clicked, index: " + index);
+ };
+ callback.OnTextClickedCallback = index =>
+ {
+ Debug.Log("text clicked, index: " + index);
+ };
+ callback.OnVideoPageChanged = index =>
+ {
+ Debug.Log("video page selected, index: " + index);
+ if (index + 1 == StarkSDK.API.GetStarkVideoManager().GetVideoCount())
+ {
+ var video = new StarkVideoManager.StarkVideo
+ {
+ VideoUrl = "https://v.douyin.com/Jpgo15A/",
+ VideoText = "This is a new video",
+ TextColor = 0xff00ff00,
+ };
+ StarkSDK.API.GetStarkVideoManager().AddVideo(video);
+ // if you want add multiple videos, you can call 'StarkSDK.API.GetStarkVideoManager().AddVideos' to add a video list
+ }
+ };
+ callback.OnVideoPlayCompleted = index =>
+ {
+ Debug.Log("video play completed, index: " + index);
+ };
+ callback.OnVideoPlayError = index =>
+ {
+ Debug.Log("video play error, index: " + index);
+ };
+
+
+
+
+
+ 关闭窗口
+
+
+
+
+ 添加视频到播放列表末尾
+
+ 视频信息
+
+
+
+ 添加多个视频到播放列表末尾
+
+ 视频列表信息
+
+
+
+ 获取当前列表中的视频数量
+
+ 视频数量
+
+
+
+ 开始播放当前页展示的视频
+
+
+
+
+ 暂停当前正在播放的视频
+
+
+
+
+ 视频是否正在播放
+
+ 正在播放返回 true ,否则返回 false
+
+
+
+ 广告模块的mock层
+
+
+
+
+ 登录的mock方法
+
+
+
+
+
+
+
+ 检查session是否有效的mock方法
+
+
+
+
+
+
+ 获取用户信息的mock方法
+
+
+
+
+
+
+ 获取用户授权状态
+
+
+
+
+
+
+ 主动打开授权界面,然后获取最新的授权状态
+
+
+
+
+
+
+ 用户在实名认证弹窗完成实名认证后回调
+ 必须在游戏初始化阶段就调用
+
+
+
+
+ Banner广告的Mock模块
+
+
+
+
+ 插屏广告的Mock模块
+
+
+
+
+ 广告模块的mock层
+
+
+
+
+ 收藏模块的Mock层
+
+
+
+
+ 录屏模块的mock层
+
+
+
+
+ Banner广告的Mock模块
+
+
+
+
+ 分享模块的mock层
+
+
+
+
+ 分享模块的mock层
+
+
+
+
+ 分享模块的mock层
+
+
+
+
+ 登录成功回调
+
+ 是否是断线重连,true表示断线重连,false表示正常登录
+
+
+
+ 登录失败回调
+
+ 客户端错误码
+ 客户端错误消息
+
+
+
+ 连接断开回调
+
+
+
+
+ 排队队列更新回调
+
+ 排队当前位置
+ 排队需要等待的时间,单位 s
+
+
+
+ 业务消息事件回调
+
+ 服务器端返回的数据
+
+
+
+ 登录事件回调
+
+ 是否是断线重连,1表示是断线重连,0表示是正常登录
+ 登录结果,0表示登录成功,失败则为客户端错误码
+ 服务器端结果,0表示成功,失败则为服务器返回的错误码
+ 注意:serverResult不为0,则loginResult一定不为0;loginResult为0,serverResult一定为0;loginResult不为0,serverResult可能为0
+
+
+
+ 登录成功回调
+
+
+
+
+ 登录失败回调
+
+
+
+
+ 断开连接回调
+
+
+
+
+ 排队队列更新回调
+
+
+
+
+ 业务消息事件回调
+
+
+
+
+ 设置登录回调
+
+ 登录成功回调
+ 登录失败回调
+
+
+
+ 创建一个上下文环境,用于初始化相关信息
+
+ Code ID
+ Code ID
+ 服务器主机地址
+ 服务器端口号
+ 与服务器连接超时时间
+ 返回错误码状态,0表示成功,非0表示失败。可以通过调用 GetErrorString 函数获取错误信息。或者直接调用 GetLastErrorString 获取错误信息。
+
+
+
+ 销毁上下文环境,清理数据
+
+
+
+
+ 开始与服务器端建立连接(包括登录流程)
+ 需要调用SetOnLoginEventCallback,监听登录状态
+
+ 返回错误码状态,0表示成功,非0表示失败。可以通过调用 GetErrorString 函数获取错误信息。或者直接调用 GetLastErrorString 获取错误信息。
+
+
+
+ 停止与服务器端的连接
+
+
+
+
+ 与服务器端连接是否已停止
+
+
+
+
+
+ 更新内部逻辑状态
+ !!!Note: 需要定期不断调用该函数(比如每隔100ms调用一次)
+
+
+
+
+ 向服务器端发送业务消息
+ 通过调用 SetOnMessageEventCallback 函数监听服务器端的业务消息回调
+
+
+ 返回错误码状态,0表示成功,非0表示失败。可以通过调用 GetErrorString 函数获取错误信息。或者直接调用 GetLastErrorString 获取错误信息。
+
+
+
+ 根据错误码获取错误信息
+
+
+ 返回错误信息文本
+
+
+
+ 获取最后一次错误的信息
+
+ 返回错误信息文本
+
+
+
+ 业务消息事件回调
+
+ 底层C接口的数据指针
+ 数据长度
+
+
+
+ 网络调用的封装
+
+
+
+
+ RPC调用成功时的回调,返回结果
+
+ 返回的结果
+
+
+
+ RPC调用失败时的回调,返回错误码
+
+ 错误码
+
+
+
+ 非鉴权的Post方法进行一次RPC
+
+ 域名
+ 服务
+ 数据
+ 成功回调
+ 失败回调
+
+
+
+
+ Android Toast提示
+ 类似于直接调用Toast.makeText(context, message, Toast.LENGTH_SHORT).show()
+
+ 提示信息
+
+
+
+ Android Toast提示
+ 类似于直接调用Toast.makeText(context, message, Toast.LENGTH_LONG).show()
+
+ 提示信息
+
+
+
+ Android 弹出式对话框
+
+ 标题
+ 内容
+ 确认按钮文本
+ 取消按钮文本
+ 对话框是否取消(点击空白区域关闭界面)
+ 点击确认按钮回调
+ 点击取消按钮回调
+
+
+
+ Android 进度加载弹窗
+
+ 提示信息
+ Loading弹窗是否取消(点击空白区域关闭界面)
+ Loading弹窗关闭回调
+
+
+
+ 隐藏进度加载弹窗
+
+
+
+
+ 以同步的隐藏一个弹框
+
+
+
+
+ Mock设置类
+
+
+
+
+ 用于记录开放了哪些模块
+
+
+
+
+ 是否屏蔽Mock的弹窗
+
+
+
+
+ 获取当前设置的每个模块是否开放
+
+
+
+
+
+ 打开所有的Mock模块,默认关闭所有模块
+
+
+
+
+ 关闭所有的Mock模块,默认关闭所有模块
+
+
+
+
+ 分模块设置各个功能模块对应的Mock UI开放和关闭,默认关闭所有模块
+ extraData 大部分模块默认填null即可,目前已知的应用场景如下:
+ module == MockModule.Host,enable == true,则extraData为的变量,模拟当前在何处启动等
+
+ 目标功能模块
+ 是否开放
+ 额外数据
+
+
+
+ 判断一个功能模块的Mock层是否已经打开
+
+ 目标模块
+ Mock层是否打开
+
+
+
+ 使用GUI绘制出Mock层的工具类
+
+
+
+
+ 初始化
+
+
+
+
+ 键值对显示mock选项
+
+ 要显示的内容
+ 当前显示的目标模块
+
+
+
+ 获取屏幕密度,和屏幕的英寸长度dpi = a*a+b*b然后开平方再除以 屏幕英寸。
+ dp = px * (dpi / 160)
+
+
+
+
+
+ 创建一个UI用于显示提示
+
+
+
+
+
+ 通用Unity单例
+
+
+
+
+
+ Toast提示
+
+ 提示信息
+
+
+
+ Toast提示
+
+ 提示信息
+
+
+
+ 时间工具类
+
+
+
+
+ 获取当前时间,单位ms
+
+
+
+
+
+ 创建用于视频裁剪的时间片段 (需要在开始录屏后调用)
+ 以调用时的录屏时刻为基准,指定前 x 毫秒,后 y 毫秒为将要裁剪的片段,可以多次调用,记录不同时刻。
+ 在结束录屏时,可以调用 ClipVideo 接口剪辑并合成记录的片段。
+
+ 记录那一刻前的毫秒数
+ 记录那一刻后的毫秒数
+ StarkGameRecorder.TimeRange
+
+
+
+ 处理Android通讯的工具类
+
+
+
+
+ 确保在主线程执行初始化。
+
+
+
+
+ 发送消息到Native
+
+
+
+
+
+
+ 异步Call通讯
+
+ 消息类型0-call消息,1-listen消息,2-unlisten消息,3-event消息
+ 目标接口
+ 参数
+
+
+
+
+
+ 混合Call通讯,调用直接返回一段String的数据,同时会有回调。
+
+ 目标API接口
+ 参数
+ 回调ID
+
+
+
+
+ 异步Call通讯
+
+
+
+
+
+ 同步Call通讯
+
+ 消息类型0-call消息,1-listen消息,2-unlisten消息,3-event消息
+ 目标接口
+ 参数
+
+
+
+
+ 同步Call通讯
+
+
+
+
+
+
+ 查询Native层是否支持某个API
+
+ 接口名
+
+
+
+
+ BridgeAPI的包装类
+
+
+
+
+ BridgeAPI的委托
+
+
+
+
+
+
+ 回调接口
+
+
+
+
+ 回调被添加的事件,ns
+
+
+
+
+ 默认Call超时,默认使用通用的超时,10秒
+
+
+
+
+ 回调成功
+
+
+
+
+
+ 回调失败
+
+ 失败码
+ 失败原因
+
+
+
+ 超时
+
+
+
+
+ UBridge的内部实现
+
+
+
+
+ 超时时间
+
+
+
+
+ 成功
+
+
+
+
+ 接口未支持
+
+
+
+
+ 接口不支持异步调用
+
+
+
+
+ 缺少参数
+
+
+
+
+ 接口不支持同步调用
+
+
+
+
+ 以callback_id为key维护回调。
+
+
+
+
+ 以接口名为key,维护回调
+
+
+
+
+ Unity侧以接口的形式实现的API,比委托优先
+
+
+
+
+ Unity侧以委托的形式实现的API
+
+
+
+
+ 本地注册的事件列表
+
+
+
+
+ Native端注册的事件列表
+
+
+
+
+ 超时定时器
+
+
+
+
+ 定时器是否已经启动,避免重复启动;
+
+
+
+
+ 超时时间,默认10秒
+
+
+
+
+ 启动超时定时器
+
+
+
+
+ 停止超时定时器
+
+
+
+
+ 重新设置Call的超时时间
+
+ 单位ms
+
+
+
+ Unity注册接口形式的API接口
+
+ 接口名
+ 接口实现
+
+
+
+ Unity注册委托形式的API
+
+ 接口名
+ 接口实现
+
+
+
+ Unity注销接口形式的API接口
+
+ 接口名
+
+
+
+ Unity注册事件
+
+
+
+
+
+ Unity发送事件消息
+
+ 目标事件
+ 数据
+
+
+
+ 异步调用native的方法
+
+ 目标接口
+ 参数数据
+ 回调
+
+
+
+
+ 异步调用native的方法
+
+ 目标接口
+ 参数数据
+ 回调
+
+
+
+
+ 监听事件
+
+ 目标接口
+ 新的监听是否覆盖旧的
+ 回调
+
+
+
+
+ 关闭监听事件
+
+
+ 目标接口
+
+
+
+
+ 处理Native调用过来的消息
+
+ 消息数据,JSON格式
+
+
+
+ 处理Native的调用消息。
+
+
+
+
+
+ 处理Unity调用Native回来的回包。
+
+
+
+
+
+ 消息的封装
+
+
+
+
+ 消息ID
+
+
+
+
+ 消息类型,消息类型0-call消息,1-listen消息,2-unListen消息,3-event消息
+
+
+
+
+ 回调,唯一
+
+
+
+
+ 错误码
+
+
+
+
+ 消息来源
+
+
+
+
+ 目标接口或者事件
+
+
+
+
+ 错误消息
+
+
+
+
+ 数据
+
+
+
+
+ 参数
+
+
+
+
+ Unity侧的SDK版本号
+
+
+
+
+ Native侧的SDK版本号
+
+
+
+
+ SDK的版本信息
+
+
+
+
+ SDK版本号
+
+
+
+
+ 从JsonData中安全的读取数据的帮助类
+
+
+
+
+ 读取int
+
+
+
+
+
+
+
+ 读取string
+
+
+
+
+
+
+
+ 读取JsonData
+
+
+
+
+
+
+
+ 读取Object
+
+
+
+
+
+
+
+ Bridge接口
+
+
+
+
+ iOS的通信接口
+
+
+
+
+ 确保在主线程执行初始化。
+
+
+
+
+ 发送消息到Native
+
+
+
+
+
+
+ 异步Call通讯
+
+ 消息类型0-call消息,1-listen消息,2-unlisten消息,3-event消息
+ 目标接口
+ 参数
+
+
+
+
+
+ 异步Call通讯,确保调用在主线程执行
+
+
+
+
+
+ 同步Call通讯
+
+ 消息类型0-call消息,1-listen消息,2-unlisten消息,3-event消息
+ 目标接口
+ 参数
+
+
+
+
+ 同步Call通讯
+
+
+
+
+
+
+ 混合Call通讯,调用直接返回一段String的数据,同时会有回调。
+
+ 目标API接口
+ 参数
+ 回调ID
+
+
+
+
+ 查询Native层是否支持某个API
+
+ 接口名
+
+
+
+
+ 日志辅助类
+
+
+
+
+ 线程调度
+
+
+
+
+ 处理消息
+
+
+
+
+ 打包成功的回包
+
+ 请求的消息
+ 回包的数据
+
+
+
+
+ 打包失败的回包
+
+ 请求的消息
+ 错误码
+ 错误信息
+
+
+
+
+ 打包异步Call消息
+
+ 消息类型0-call消息,1-listen消息,2-unListen消息,3-event消息
+ 目标接口
+ 参数
+ 回调的id
+
+
+
+
+ 打包同步Call消息
+
+ 消息类型0-call消息,1-listen消息,2-unListen消息,3-event消息
+ 目标接口
+ 参数
+
+
+
+
+ 打包事件的消息
+
+ 目标事件
+ 数据
+
+
+
+
+ 解析消息
+
+ JSON格式的消息
+
+
+
+
+ 同步调用的结果转换
+
+ JSON字符串
+
+
+
+
+ Bridge的上下文
+
+
+
+
+ 回调成功
+
+ 数据
+
+
+
+ 回调失败
+
+ 错误码
+ 错误信息
+
+
+
+ webgl的通讯接口
+
+
+
+
+ 确保在主线程执行初始化。
+
+
+
+
+ 发送消息到Native
+
+
+
+
+
+
+ 异步Call通讯
+
+ 消息类型0-call消息,1-listen消息,2-unlisten消息,3-event消息
+ 目标接口
+ 参数
+
+
+
+
+
+ 异步Call通讯,确保调用在主线程执行
+
+
+
+
+
+ 同步Call通讯
+
+ 消息类型0-call消息,1-listen消息,2-unlisten消息,3-event消息
+ 目标接口
+ 参数
+
+
+
+
+ 同步Call通讯
+
+
+
+
+
+
+ 查询h5是否支持某个接口
+
+
+
+
+
+
+ 混合Call通讯,确保调用在主线程执行
+
+ 目标API接口
+ 参数
+ 回调ID
+
+
+
+ Determines whether the json contains an element that has the specified key.
+
+ The key to locate in the json.
+ true if the json contains an element that has the specified key; otherwise, false.
+
+
+
+ Unity声音录制
+
+
+
+
+ Unity层使用的接口
+
+
+
+
+ 开始录屏
+
+
+
+
+ 停止录屏
+
+
+
+
+ 开启录制游戏声音
+
+
+
+
+ 关闭录制游戏声音
+
+
+
+
+ 设置录制分辨率
+
+
+
+
+ Unity层使用的接口
+
+
+
+ 检查是否有多个ActiveAndEnable AudioListener
+
+
+
+ Unity声音录制接口
+
+
+
+
+ 声音采样间隔,单位毫秒
+
+
+
+
+ 是否需要将PCM从float数组转为byte数组
+
+
+
+
+ 是否在录制中
+
+
+
+
+ 提供给Java端通过UnityPlayer.UnitySendMessage("ByteREC","NativeStopRecord","");来停止录屏
+
+
+
+
+ 提供给Java端通过UnityPlayer.UnitySendMessage("ByteREC","NativeStartRecord","");来启动录屏
+
+
+
+
+ 提供给Java端通过UnityPlayer.UnitySendMessage("ByteREC","StartRecord","");来触发录制
+
+
+
+
+
+ 提供给Java端通过UnityPlayer.UnitySendMessage("ByteREC","NativeRecordVoice","");来设置是否录音
+
+
+
+
+
+ 设置是否在Unity测转换PCM
+
+
+
+
+
+ 支持外部注入RT进行录制
+
+
+
+
+ Unity层使用的接口
+
+
+
+
+ Unity版本号,每对外升级一次,自增1,详情见
+
+
+
+
+ UnityRenderEvent的回调的指针,可以通过
+
+
+
+
+
+ 录制图片
+
+
+
+
+
+
+
+
+ 录制纹理
+
+
+
+
+
+ 传递Unity前后台切换消息
+
+
+
+
+
+ 录音,传递PCM的float数组
+
+
+
+
+
+
+
+ 录音,传递PCM的byte数组
+
+
+
+
+
+
+
+ 传递录音的配置参数,JSON格式
+
+
+
+
+
+ 通知JNI DeAttach 当前线程,不然会引起crash
+
+
+
+
+ 设置使用的音频引擎类型:0-unity,1-wwise plugin, 2-wwise mix
+
+
+
+
+ 开始录屏
+
+
+
+
+ 停止录屏
+
+
+
+
+ 开启录制游戏声音
+
+
+
+
+ 关闭录制游戏声音
+
+
+
+
+ Unity声音录制
+
+
+
+ 将数组添加到List里。
+
+
+
+ Unicode转utf8编码
+
+
+
+
+
+
+ 封装了和Native通讯的接口。
+
+
+
+
+ 初始化Bridge
+
+
+
+
+ 重新设置Call的超时时间,单位毫秒
+
+ 单位ms
+
+
+
+ Unity注册API,以接口的形式
+
+ 接口名
+ 接口的实现
+
+
+
+ Unity注册API,以委托的形式提供
+
+
+
+
+
+
+ Unity注册API,以接口的形式
+
+ 接口名
+ 接口的实现
+
+
+
+ Unity注册事件
+
+
+
+
+
+ Unity发送事件消息
+
+
+
+
+
+
+ 异步调用native的方法,不需要回调和参数
+
+ 目标接口
+
+
+
+
+ 异步调用native的方法,不需要回调
+
+ 目标接口
+ 参数数据
+
+
+
+
+ 异步调用native的方法
+
+ 目标接口
+ 参数数据
+ 回调
+
+
+
+
+ 异步调用native的方法
+
+ 目标接口
+ 参数数据
+ 回调
+ 超时,默认10秒,单位毫秒
+
+
+
+
+ 混合Call,函数可以带回一段string数据
+
+ 目标API
+
+
+
+
+ 混合Call,函数可以带回一段string数据
+
+ 目标API
+ 参数
+
+
+
+
+ 混合Call,函数可以带回一段string数据,同时有回调
+
+ 目标API
+ 参数
+
+
+
+
+
+ 混合Call,函数可以带回一段string数据,同时有回调
+
+ 目标API
+ 参数
+ 回调
+ 超时时间
+
+
+
+
+ 同步调用native的方法
+
+ 目标接口
+ 参数数据
+
+
+
+
+ 监听事件
+
+ 目标接口
+ 回调
+
+
+
+
+ 监听事件
+
+ 目标接口
+ 新的监听是否覆盖旧的
+ 回调
+
+
+
+
+ 关闭监听事件
+
+
+ 目标接口
+
+
+
+
+ 查询Native层是否支持某个API
+
+
+
+
+
+
+ 处理Native调用过来的消息,通讯接口
+
+ 消息数据,JSON格式
+
+
+
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/Runtime/starksdkRuntime.xml.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Runtime/starksdkRuntime.xml.meta
new file mode 100644
index 00000000..fe7ac568
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/Runtime/starksdkRuntime.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e43a94da5b8aa46dbbd218a8c4f32f8a
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk.meta
new file mode 100644
index 00000000..789ee7ab
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9e81055a458e64296b49bb6f134d5e02
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk/CHANGELOG.md b/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk/CHANGELOG.md
new file mode 100644
index 00000000..d16e3588
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk/CHANGELOG.md
@@ -0,0 +1,42 @@
+# Ci Buildlog
+[Jenkins activity ↗](http://10.94.85.240:8080/blue/organizations/jenkins/com-bytedance-starkminiapk-unity/activity)
+
+# Stark MiniApk 引导包 for Unity Changelog
+
+## [1.0.36] - 2020-10-20
+- 调整Editor菜单名称:MiniApk引导包
+
+## [1.0.35] - 2020-10-20
+- 适配StarkMini 1.1.5 dll的接口
+
+## [1.0.32] - 2020-10-10
+- 更新Gradle插件版本,打包服务迁移到打包机上。
+
+## [1.0.31] - 2020-10-10
+- 修正小包已安装但版本不匹配时,CanUseAdAPI判断为false的问题。
+
+## [1.0.30] - 2020-10-10
+- 移除apk中androidx的引入。
+
+## [1.0.29] - 2020-09-30
+- Gradle script 增加参数:UC 小游戏 版本类型 `GAME_VER_TYPE`
+- MiniApkTool 工具增加新参数: `UcGameVerType`,增加:Revert 按钮、是否有修改提示、支持Ctrl S快捷键。
+- UnionAd `InstallApp`接口,如果已安装小包、且最新版本匹配,自动Toast提示"已添加桌面入口"。
+
+## [1.0.28] - 2020-09-30
+- 微调注释
+
+## [1.0.27] - 2020-09-29
+- 增加:封装的穿山甲广告类:`class UnionAdAppManager`
+
+## [1.0.25] - 2020-09-29
+- 调整:Runtime 命名: `namespace StarkMiniApk`, `class MiniApkApi`
+- 调整:简化 `MiniApkApi.Init` 参数.
+
+## [1.0.19] - 2020-09-29
+- 新增:Editor设置 MiniApkSetting 工具
+ - 菜单项:***ByteGame/StarkMiniApk/Open MiniApkTool***
+- 新增:运行时读取 MiniApkSetting 接口
+ - `MiniApkSetting.InitLoad()`
+ - `MiniApkSetting.Get()`
+
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk/CHANGELOG.md.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk/CHANGELOG.md.meta
new file mode 100644
index 00000000..71975778
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk/CHANGELOG.md.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: ff9f4cc5655e24381b83bad5f56c4ac7
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk/README.md b/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk/README.md
new file mode 100644
index 00000000..8470dc0d
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk/README.md
@@ -0,0 +1,21 @@
+# Stark MiniApk 引导包 for Unity
+----
+Stark MiniApk 引导包 for Unity
+
+
+## code:
+https://code.byted.org/ttgame/com.bytedance.starkminiapk-unity
+
+## Changelog:
+- [View Changelog](CHANGELOG.md)
+
+## Docs:
+- [README](README.md)
+- todo
+
+## Features:
+- todo
+
+## Build CI
+[Jenkins activity ↗](http://10.94.85.240:8080/blue/organizations/jenkins/com-bytedance-starkminiapk-unity/activity)
+
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk/README.md.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk/README.md.meta
new file mode 100644
index 00000000..54966750
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk/README.md.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: c34c0d0b3a2e243b39cbcb3d741131d7
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk/package.json b/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk/package.json
new file mode 100644
index 00000000..4fa87700
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk/package.json
@@ -0,0 +1,13 @@
+{
+ "name": "com.bytedance.starkminiapk",
+ "displayName": "Stark MiniApk 引导包",
+ "version": "1.0.36",
+ "unity": "2019.4.9f1",
+ "description": "StarkMiniApk Plugin",
+ "keywords": [],
+ "category": "Libraries",
+ "links": [
+ ],
+ "dependencies": {
+ }
+}
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk/package.json.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk/package.json.meta
new file mode 100644
index 00000000..58970d9f
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/StarkMiniApk/package.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: ea8e57511099941e0b02ce98d091f8cc
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/UNBridge.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/UNBridge.meta
new file mode 100644
index 00000000..ec0b2dfe
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/UNBridge.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d1dcba75f3ed242b2b6dbbaa3e305b53
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/UNBridge/WebGLInterface.cs b/Assets/Plugins/ByteGame/com.bytedance.starksdk/UNBridge/WebGLInterface.cs
new file mode 100644
index 00000000..e16fb13e
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/UNBridge/WebGLInterface.cs
@@ -0,0 +1,29 @@
+using System.Runtime.InteropServices;
+using UnityEngine.Scripting;
+
+[assembly: Preserve]
+
+namespace StarkSDKSpace.UNBridgeLib
+{
+ public class WebGLInterface
+ {
+#if UNITY_WEBPLAYER || UNITY_WEBGL
+ //以下接口为Web使用,用于调用JS代码。
+ [method: Preserve]
+ [DllImport("__Internal")]
+ public static extern void unityCallJs(string msg);
+
+ [method: Preserve]
+ [DllImport("__Internal")]
+ public static extern string unityCallJsSync(string msg);
+
+ [method: Preserve]
+ [DllImport("__Internal")]
+ public static extern bool h5HasAPI(string apiName);
+
+ [method: Preserve]
+ [DllImport("__Internal")]
+ public static extern string unityMixCallJs(string msg);
+#endif
+ }
+}
\ No newline at end of file
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/UNBridge/WebGLInterface.cs.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/UNBridge/WebGLInterface.cs.meta
new file mode 100644
index 00000000..a3590cf0
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/UNBridge/WebGLInterface.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 29a8f95ed25e4fc5b0914d0a45b3ad12
+timeCreated: 1640335386
\ No newline at end of file
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/WebGL.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/WebGL.meta
new file mode 100644
index 00000000..75f448fd
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/WebGL.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 623abae924ac542f6860900e26fcde01
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/WebGL/UNBridge.jslib b/Assets/Plugins/ByteGame/com.bytedance.starksdk/WebGL/UNBridge.jslib
new file mode 100644
index 00000000..051c37ea
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/WebGL/UNBridge.jslib
@@ -0,0 +1,40 @@
+mergeInto(LibraryManager.library,{
+ unityCallJs:function(msg){
+ if (typeof UTF8ToString !== "undefined") {
+ UNBridgeCore.handleMsgFromUnity(UTF8ToString(msg));
+ } else {
+ UNBridgeCore.handleMsgFromUnity(Pointer_stringify(msg));
+ }
+ },
+ unityCallJsSync:function(msg){
+ var result;
+ if (typeof UTF8ToString !== "undefined") {
+ result = UNBridgeCore.handleMsgFromUnitySync(UTF8ToString(msg));
+ } else {
+ result = UNBridgeCore.handleMsgFromUnitySync(Pointer_stringify(msg));
+ }
+ var bufferSize = lengthBytesUTF8(result) + 1;
+ var buffer = _malloc(bufferSize);
+ stringToUTF8(result, buffer, bufferSize);
+ return buffer;
+ },
+ h5HasAPI:function(apiName){
+ if (typeof UTF8ToString !== "undefined") {
+ return UNBridge.h5HasAPI(UTF8ToString(apiName));
+ } else {
+ return UNBridge.h5HasAPI(Pointer_stringify(apiName));
+ }
+ },
+ unityMixCallJs:function(msg){
+ var result;
+ if (typeof UTF8ToString !== "undefined") {
+ result = UNBridgeCore.onUnityMixCall(UTF8ToString(msg));
+ } else {
+ result = UNBridgeCore.onUnityMixCall(Pointer_stringify(msg));
+ }
+ var bufferSize = lengthBytesUTF8(result) + 1;
+ var buffer = _malloc(bufferSize);
+ stringToUTF8(result, buffer, bufferSize);
+ return buffer;
+ }
+});
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/WebGL/UNBridge.jslib.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/WebGL/UNBridge.jslib.meta
new file mode 100644
index 00000000..fffb7695
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/WebGL/UNBridge.jslib.meta
@@ -0,0 +1,32 @@
+fileFormatVersion: 2
+guid: 9559561116d014a3692f71a299cef5c7
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ WebGL: WebGL
+ second:
+ enabled: 1
+ settings: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/package.json b/Assets/Plugins/ByteGame/com.bytedance.starksdk/package.json
new file mode 100644
index 00000000..a6d415f6
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/package.json
@@ -0,0 +1,26 @@
+{
+ "displayName": "Stark SDK",
+ "name": "com.bytedance.starksdk",
+ "version": "5.33.5",
+ "scripts": {
+ "postinstall": "",
+ "preuninstall": ""
+ },
+ "versions": [],
+ "state": "normal",
+ "description": "StarkSDK Plugin",
+ "keywords": [],
+ "category": "Libraries",
+ "links": [
+ {
+ "label": "View Document",
+ "url": "https://bytedance.feishu.cn/docs/doccngutoUd3Y8P3HemS5Mq2vHe"
+ },
+ {
+ "label": "View Changelog",
+ "url": "https://bytedance.feishu.cn/docs/doccnfO07C3R783siaLMS4VdaKd#"
+ }
+ ],
+ "unitySinceBuild": "2019.4",
+ "unityUntilBuild": "*"
+}
\ No newline at end of file
diff --git a/Assets/Plugins/ByteGame/com.bytedance.starksdk/package.json.meta b/Assets/Plugins/ByteGame/com.bytedance.starksdk/package.json.meta
new file mode 100644
index 00000000..9053a31c
--- /dev/null
+++ b/Assets/Plugins/ByteGame/com.bytedance.starksdk/package.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: ff1445f1a48424f5d91a5f2eb0691a1d
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/CommonView.meta b/Assets/Resources/CommonView.meta
new file mode 100644
index 00000000..f4736fa7
--- /dev/null
+++ b/Assets/Resources/CommonView.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 155249f5da21a43bf9f2194cfd926176
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/CommonView/UI.meta b/Assets/Resources/CommonView/UI.meta
new file mode 100644
index 00000000..41bb9da6
--- /dev/null
+++ b/Assets/Resources/CommonView/UI.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e112a374483ee44028e381f88e1bbdc5
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/CommonView/UI/Animation.meta b/Assets/Resources/CommonView/UI/Animation.meta
new file mode 100644
index 00000000..773e6bc6
--- /dev/null
+++ b/Assets/Resources/CommonView/UI/Animation.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1d44e9218c57d4324842a125caedc609
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/CommonView/UI/Animation/Tips.meta b/Assets/Resources/CommonView/UI/Animation/Tips.meta
new file mode 100644
index 00000000..386cd481
--- /dev/null
+++ b/Assets/Resources/CommonView/UI/Animation/Tips.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 767cf9d254d8f4b8da4142bd998df2c2
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/CommonView/UI/Animation/Tips/PopupTipsPanel.controller b/Assets/Resources/CommonView/UI/Animation/Tips/PopupTipsPanel.controller
new file mode 100644
index 00000000..b64c8be1
--- /dev/null
+++ b/Assets/Resources/CommonView/UI/Animation/Tips/PopupTipsPanel.controller
@@ -0,0 +1,165 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1107 &-8259956790433562762
+AnimatorStateMachine:
+ serializedVersion: 5
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: New StateMachine
+ m_ChildStates: []
+ m_ChildStateMachines: []
+ m_AnyStateTransitions: []
+ m_EntryTransitions: []
+ m_StateMachineTransitions: {}
+ m_StateMachineBehaviours: []
+ m_AnyStatePosition: {x: 50, y: 20, z: 0}
+ m_EntryPosition: {x: 50, y: 120, z: 0}
+ m_ExitPosition: {x: 800, y: 120, z: 0}
+ m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+ m_DefaultState: {fileID: 0}
+--- !u!91 &9100000
+AnimatorController:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: PopupTipsPanel
+ serializedVersion: 5
+ m_AnimatorParameters: []
+ m_AnimatorLayers:
+ - serializedVersion: 5
+ m_Name: Base Layer
+ m_StateMachine: {fileID: 1107155340838930070}
+ m_Mask: {fileID: 0}
+ m_Motions: []
+ m_Behaviours: []
+ m_BlendingMode: 0
+ m_SyncedLayerIndex: -1
+ m_DefaultWeight: 0
+ m_IKPass: 0
+ m_SyncedLayerAffectsTiming: 0
+ m_Controller: {fileID: 9100000}
+--- !u!1102 &1102469461408308372
+AnimatorState:
+ serializedVersion: 5
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: NoState
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions: []
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: c4077aec7dd4d9243b7cab083948793b, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1102 &1102642527057215526
+AnimatorState:
+ serializedVersion: 5
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: outtips
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions: []
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: 770eafcd7d539b9438bbccffe60fe9c4, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1107 &1107155340838930070
+AnimatorStateMachine:
+ serializedVersion: 5
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Base Layer
+ m_ChildStates:
+ - serializedVersion: 1
+ m_State: {fileID: 1102469461408308372}
+ m_Position: {x: 24, y: -96, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: 5915188060253767864}
+ m_Position: {x: 90, y: -220, z: 0}
+ m_ChildStateMachines: []
+ m_AnyStateTransitions: []
+ m_EntryTransitions: []
+ m_StateMachineTransitions: {}
+ m_StateMachineBehaviours: []
+ m_AnyStatePosition: {x: -96, y: 12, z: 0}
+ m_EntryPosition: {x: 50, y: 120, z: 0}
+ m_ExitPosition: {x: 800, y: 120, z: 0}
+ m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+ m_DefaultState: {fileID: 1102469461408308372}
+--- !u!1107 &2190260836243222623
+AnimatorStateMachine:
+ serializedVersion: 5
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: New StateMachine
+ m_ChildStates: []
+ m_ChildStateMachines: []
+ m_AnyStateTransitions: []
+ m_EntryTransitions: []
+ m_StateMachineTransitions: {}
+ m_StateMachineBehaviours: []
+ m_AnyStatePosition: {x: 50, y: 20, z: 0}
+ m_EntryPosition: {x: 50, y: 120, z: 0}
+ m_ExitPosition: {x: 800, y: 120, z: 0}
+ m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+ m_DefaultState: {fileID: 0}
+--- !u!1102 &5915188060253767864
+AnimatorState:
+ serializedVersion: 5
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: outtips
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions: []
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: abd0be4781b7d4436a164bb679c908b0, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
diff --git a/Assets/Resources/CommonView/UI/Animation/Tips/PopupTipsPanel.controller.meta b/Assets/Resources/CommonView/UI/Animation/Tips/PopupTipsPanel.controller.meta
new file mode 100644
index 00000000..24050c2f
--- /dev/null
+++ b/Assets/Resources/CommonView/UI/Animation/Tips/PopupTipsPanel.controller.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 837b00449c69e0f4e8d0855594b39497
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/CommonView/UI/Animation/Tips/outtips.anim b/Assets/Resources/CommonView/UI/Animation/Tips/outtips.anim
new file mode 100644
index 00000000..819cbd7e
--- /dev/null
+++ b/Assets/Resources/CommonView/UI/Animation/Tips/outtips.anim
@@ -0,0 +1,284 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: outtips
+ serializedVersion: 6
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves:
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 1, y: 1, z: 1}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ - serializedVersion: 3
+ time: 0.06666667
+ value: {x: 1.3, y: 1.3, z: 1}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ - serializedVersion: 3
+ time: 0.18333334
+ value: {x: 0.2, y: 0.2, z: 1}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path: content/bg
+ m_FloatCurves:
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.06666667
+ value: 1.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.18333334
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_Alpha
+ path: content/bg
+ classID: 225
+ script: {fileID: 0}
+ m_PPtrCurves: []
+ m_SampleRate: 60
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 2863416268
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ - serializedVersion: 2
+ path: 2863416268
+ attribute: 1574349066
+ script: {fileID: 0}
+ typeID: 225
+ customType: 0
+ isPPtrCurve: 0
+ pptrCurveMapping: []
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0.23333333
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 1
+ m_LoopBlend: 0
+ m_LoopBlendOrientation: 0
+ m_LoopBlendPositionY: 0
+ m_LoopBlendPositionXZ: 0
+ m_KeepOriginalOrientation: 0
+ m_KeepOriginalPositionY: 1
+ m_KeepOriginalPositionXZ: 0
+ m_HeightFromFeet: 0
+ m_Mirror: 0
+ m_EditorCurves:
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.06666667
+ value: 1.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.18333334
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_Alpha
+ path: content/bg
+ classID: 225
+ script: {fileID: 0}
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.06666667
+ value: 1.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.18333334
+ value: 0.2
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path: content/bg
+ classID: 224
+ script: {fileID: 0}
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.06666667
+ value: 1.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.18333334
+ value: 0.2
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path: content/bg
+ classID: 224
+ script: {fileID: 0}
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.18333334
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path: content/bg
+ classID: 224
+ script: {fileID: 0}
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events:
+ - time: 0.23333333
+ functionName: DestroyTips
+ data:
+ objectReferenceParameter: {fileID: 0}
+ floatParameter: 0
+ intParameter: 0
+ messageOptions: 0
diff --git a/Assets/Resources/CommonView/UI/Animation/Tips/outtips.anim.meta b/Assets/Resources/CommonView/UI/Animation/Tips/outtips.anim.meta
new file mode 100644
index 00000000..6426d74b
--- /dev/null
+++ b/Assets/Resources/CommonView/UI/Animation/Tips/outtips.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: abd0be4781b7d4436a164bb679c908b0
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/CommonView/UI/Animation/Tips/popuptips.anim b/Assets/Resources/CommonView/UI/Animation/Tips/popuptips.anim
new file mode 100644
index 00000000..043dec67
--- /dev/null
+++ b/Assets/Resources/CommonView/UI/Animation/Tips/popuptips.anim
@@ -0,0 +1,322 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: popuptips
+ serializedVersion: 6
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves:
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: {x: 0.5, y: 0.5, z: 1}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ - serializedVersion: 3
+ time: 0.13333334
+ value: {x: 1.3, y: 1.3, z: 1}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ - serializedVersion: 3
+ time: 0.2
+ value: {x: 1, y: 1, z: 1}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ - serializedVersion: 3
+ time: 2.6666667
+ value: {x: 1, y: 1, z: 1}
+ inSlope: {x: 0, y: 0, z: 0}
+ outSlope: {x: 0, y: 0, z: 0}
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ path: content/bg
+ m_FloatCurves:
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.13333334
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.2
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 2.6666667
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_Alpha
+ path: content/bg
+ classID: 225
+ script: {fileID: 0}
+ m_PPtrCurves: []
+ m_SampleRate: 60
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 2863416268
+ attribute: 3
+ script: {fileID: 0}
+ typeID: 4
+ customType: 0
+ isPPtrCurve: 0
+ - serializedVersion: 2
+ path: 2863416268
+ attribute: 1574349066
+ script: {fileID: 0}
+ typeID: 225
+ customType: 0
+ isPPtrCurve: 0
+ pptrCurveMapping: []
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 2.6666667
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 0
+ m_LoopBlend: 0
+ m_LoopBlendOrientation: 0
+ m_LoopBlendPositionY: 0
+ m_LoopBlendPositionXZ: 0
+ m_KeepOriginalOrientation: 0
+ m_KeepOriginalPositionY: 1
+ m_KeepOriginalPositionXZ: 0
+ m_HeightFromFeet: 0
+ m_Mirror: 0
+ m_EditorCurves:
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.13333334
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.2
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 2.6666667
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_Alpha
+ path: content/bg
+ classID: 225
+ script: {fileID: 0}
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.5
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.13333334
+ value: 1.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.2
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 2.6666667
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.x
+ path: content/bg
+ classID: 224
+ script: {fileID: 0}
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0.5
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.13333334
+ value: 1.3
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.2
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 2.6666667
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.y
+ path: content/bg
+ classID: 224
+ script: {fileID: 0}
+ - curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 2.6666667
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_LocalScale.z
+ path: content/bg
+ classID: 224
+ script: {fileID: 0}
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Resources/CommonView/UI/Animation/Tips/popuptips.anim.meta b/Assets/Resources/CommonView/UI/Animation/Tips/popuptips.anim.meta
new file mode 100644
index 00000000..2719dd57
--- /dev/null
+++ b/Assets/Resources/CommonView/UI/Animation/Tips/popuptips.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c4077aec7dd4d9243b7cab083948793b
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/CommonView/UI/Prefabs.meta b/Assets/Resources/CommonView/UI/Prefabs.meta
new file mode 100644
index 00000000..a29df845
--- /dev/null
+++ b/Assets/Resources/CommonView/UI/Prefabs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d2b7e40863fe04e1c938e89cc4859222
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/CommonView/UI/Prefabs/PopupTipsPanel.prefab b/Assets/Resources/CommonView/UI/Prefabs/PopupTipsPanel.prefab
new file mode 100644
index 00000000..76191d51
--- /dev/null
+++ b/Assets/Resources/CommonView/UI/Prefabs/PopupTipsPanel.prefab
@@ -0,0 +1,327 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1437395803789525854
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4745375287938583159}
+ - component: {fileID: 3257655664240683930}
+ - component: {fileID: 971399568879293864}
+ - component: {fileID: 3955131758965397724}
+ m_Layer: 5
+ m_Name: bg
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &4745375287938583159
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1437395803789525854}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 5072970854262224044}
+ m_Father: {fileID: 5296244411533894501}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.5}
+ m_AnchorMax: {x: 1, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: -35.5}
+ m_SizeDelta: {x: 2000, y: 250}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3257655664240683930
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1437395803789525854}
+ m_CullTransparentMesh: 0
+--- !u!114 &971399568879293864
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1437395803789525854}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 0.7058824}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!225 &3955131758965397724
+CanvasGroup:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1437395803789525854}
+ m_Enabled: 1
+ m_Alpha: 1
+ m_Interactable: 1
+ m_BlocksRaycasts: 1
+ m_IgnoreParentGroups: 0
+--- !u!1 &5296244410840750586
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5296244410840750585}
+ - component: {fileID: 4379251884145113285}
+ - component: {fileID: 5805823595808303811}
+ - component: {fileID: -3265173440986968115}
+ - component: {fileID: 4049960287461830075}
+ m_Layer: 5
+ m_Name: PopupTipsPanel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &5296244410840750585
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5296244410840750586}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 5296244411533894501}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!95 &4379251884145113285
+Animator:
+ serializedVersion: 4
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5296244410840750586}
+ m_Enabled: 1
+ m_Avatar: {fileID: 0}
+ m_Controller: {fileID: 9100000, guid: 837b00449c69e0f4e8d0855594b39497, type: 2}
+ m_CullingMode: 0
+ m_UpdateMode: 0
+ m_ApplyRootMotion: 0
+ m_LinearVelocityBlending: 0
+ m_StabilizeFeet: 0
+ m_WarningMessage:
+ m_HasTransformHierarchy: 1
+ m_AllowConstantClipSamplingOptimization: 1
+ m_KeepAnimatorControllerStateOnDisable: 0
+--- !u!223 &5805823595808303811
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5296244410840750586}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_AdditionalShaderChannelsFlag: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 500
+ m_TargetDisplay: 0
+--- !u!114 &-3265173440986968115
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5296244410840750586}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 1
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 1080, y: 1920}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+ m_PresetInfoIsWorld: 0
+--- !u!114 &4049960287461830075
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5296244410840750586}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d875837261bb14a4ca86c76801a91a97, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ tipsText: {fileID: 6269212067048323504}
+--- !u!1 &5296244411533894502
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5296244411533894501}
+ m_Layer: 5
+ m_Name: content
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &5296244411533894501
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5296244411533894502}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 4745375287938583159}
+ m_Father: {fileID: 5296244410840750585}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 257}
+ m_SizeDelta: {x: 1536, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &6887292413109233062
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5072970854262224044}
+ - component: {fileID: 5171684765183933935}
+ - component: {fileID: 6269212067048323504}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &5072970854262224044
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6887292413109233062}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4745375287938583159}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 1000, y: 300}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5171684765183933935
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6887292413109233062}
+ m_CullTransparentMesh: 0
+--- !u!114 &6269212067048323504
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6887292413109233062}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 12800000, guid: 5a142360dcbc341608e7f04d1b42c02e, type: 3}
+ m_FontSize: 78
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 0
+ m_MaxSize: 100
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Ads are not ready. \nPlease wait a moment.
diff --git a/Assets/Resources/CommonView/UI/Prefabs/PopupTipsPanel.prefab.meta b/Assets/Resources/CommonView/UI/Prefabs/PopupTipsPanel.prefab.meta
new file mode 100644
index 00000000..8667dada
--- /dev/null
+++ b/Assets/Resources/CommonView/UI/Prefabs/PopupTipsPanel.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 424b57b36e6cdf14c939f7cdf1d12dea
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Image/UI/Record.meta b/Assets/Resources/Image/UI/Record.meta
new file mode 100644
index 00000000..24067498
--- /dev/null
+++ b/Assets/Resources/Image/UI/Record.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9fb20f536ebb542e0b4a6d5ab6ddce55
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Image/UI/Record/recording-off.png b/Assets/Resources/Image/UI/Record/recording-off.png
new file mode 100644
index 00000000..59c56e4d
Binary files /dev/null and b/Assets/Resources/Image/UI/Record/recording-off.png differ
diff --git a/Assets/Resources/Image/UI/Record/recording-off.png.meta b/Assets/Resources/Image/UI/Record/recording-off.png.meta
new file mode 100644
index 00000000..817b6c75
--- /dev/null
+++ b/Assets/Resources/Image/UI/Record/recording-off.png.meta
@@ -0,0 +1,98 @@
+fileFormatVersion: 2
+guid: d89d2d0ea791448a8a18afaf98065478
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMasterTextureLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Image/UI/Record/recording-on.png b/Assets/Resources/Image/UI/Record/recording-on.png
new file mode 100644
index 00000000..68b59363
Binary files /dev/null and b/Assets/Resources/Image/UI/Record/recording-on.png differ
diff --git a/Assets/Resources/Image/UI/Record/recording-on.png.meta b/Assets/Resources/Image/UI/Record/recording-on.png.meta
new file mode 100644
index 00000000..f3c39df1
--- /dev/null
+++ b/Assets/Resources/Image/UI/Record/recording-on.png.meta
@@ -0,0 +1,98 @@
+fileFormatVersion: 2
+guid: 2e1ec47f36a6f44278733e956eb7310b
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMasterTextureLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Image/UI/Record/recording-share.png b/Assets/Resources/Image/UI/Record/recording-share.png
new file mode 100644
index 00000000..704a0148
Binary files /dev/null and b/Assets/Resources/Image/UI/Record/recording-share.png differ
diff --git a/Assets/Resources/Image/UI/Record/recording-share.png.meta b/Assets/Resources/Image/UI/Record/recording-share.png.meta
new file mode 100644
index 00000000..80d87593
--- /dev/null
+++ b/Assets/Resources/Image/UI/Record/recording-share.png.meta
@@ -0,0 +1,98 @@
+fileFormatVersion: 2
+guid: adebf965a3f6e44d7b21883e57648118
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMasterTextureLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/UIs/TopCanvas.prefab b/Assets/Resources/UIs/TopCanvas.prefab
new file mode 100644
index 00000000..ca96bd35
--- /dev/null
+++ b/Assets/Resources/UIs/TopCanvas.prefab
@@ -0,0 +1,624 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1388380084761971938
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1388380084761971939}
+ - component: {fileID: 1388380084761971942}
+ - component: {fileID: 1388380084761971937}
+ - component: {fileID: 1388380084761971936}
+ - component: {fileID: 8353819934987073554}
+ m_Layer: 0
+ m_Name: RecordingButton
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1388380084761971939
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380084761971938}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1388380085596652683}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.5}
+ m_AnchorMax: {x: 0, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 72, y: 73}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1388380084761971942
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380084761971938}
+ m_CullTransparentMesh: 1
+--- !u!114 &1388380084761971937
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380084761971938}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: d89d2d0ea791448a8a18afaf98065478, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &1388380084761971936
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380084761971938}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1388380084761971937}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!95 &8353819934987073554
+Animator:
+ serializedVersion: 4
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380084761971938}
+ m_Enabled: 1
+ m_Avatar: {fileID: 0}
+ m_Controller: {fileID: 9100000, guid: c5bfb2498e6764b8d93104b25bb17a6e, type: 2}
+ m_CullingMode: 0
+ m_UpdateMode: 0
+ m_ApplyRootMotion: 0
+ m_LinearVelocityBlending: 0
+ m_StabilizeFeet: 0
+ m_WarningMessage:
+ m_HasTransformHierarchy: 1
+ m_AllowConstantClipSamplingOptimization: 1
+ m_KeepAnimatorControllerStateOnDisable: 0
+--- !u!1 &1388380085467657508
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1388380085467657509}
+ - component: {fileID: 1388380085467657528}
+ - component: {fileID: 1388380085467657531}
+ - component: {fileID: 1388380085467657530}
+ m_Layer: 0
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1388380085467657509
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380085467657508}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 5263593139583136803}
+ m_Father: {fileID: 1388380085593528139}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!223 &1388380085467657528
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380085467657508}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_AdditionalShaderChannelsFlag: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 1000
+ m_TargetDisplay: 0
+--- !u!114 &1388380085467657531
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380085467657508}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 1
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 640, y: 1120}
+ m_ScreenMatchMode: 1
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+ m_PresetInfoIsWorld: 0
+--- !u!114 &1388380085467657530
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380085467657508}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!1 &1388380085593528138
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1388380085593528139}
+ - component: {fileID: 7500322869704426946}
+ m_Layer: 0
+ m_Name: TopCanvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1388380085593528139
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380085593528138}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1388380085467657509}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &7500322869704426946
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380085593528138}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 31bdb02f4ca504c37af46ee5cc90dea1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &1388380085596652682
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1388380085596652683}
+ m_Layer: 0
+ m_Name: Btns
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1388380085596652683
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380085596652682}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1388380085624999079}
+ - {fileID: 1388380084761971939}
+ - {fileID: 1388380085721994160}
+ m_Father: {fileID: 5263593139583136803}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -222, y: 109}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1388380085624999078
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1388380085624999079}
+ - component: {fileID: 1388380085624999098}
+ - component: {fileID: 1388380085624999077}
+ - component: {fileID: 1388380085624999076}
+ m_Layer: 0
+ m_Name: StartRecordButton
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1388380085624999079
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380085624999078}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1388380085596652683}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.5}
+ m_AnchorMax: {x: 0, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 72, y: 73}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1388380085624999098
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380085624999078}
+ m_CullTransparentMesh: 1
+--- !u!114 &1388380085624999077
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380085624999078}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: 2e1ec47f36a6f44278733e956eb7310b, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &1388380085624999076
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380085624999078}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1388380085624999077}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!1 &1388380085721994163
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1388380085721994160}
+ - component: {fileID: 1388380085721994167}
+ - component: {fileID: 1388380085721994166}
+ - component: {fileID: 1388380085721994161}
+ m_Layer: 0
+ m_Name: ShareButton
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1388380085721994160
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380085721994163}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1388380085596652683}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.5}
+ m_AnchorMax: {x: 0, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 74, y: 74}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1388380085721994167
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380085721994163}
+ m_CullTransparentMesh: 1
+--- !u!114 &1388380085721994166
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380085721994163}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: adebf965a3f6e44d7b21883e57648118, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &1388380085721994161
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1388380085721994163}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1388380085721994166}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!1 &8117707461378840390
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5263593139583136803}
+ - component: {fileID: 4793498303131294037}
+ m_Layer: 0
+ m_Name: PanelRecord
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &5263593139583136803
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8117707461378840390}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1388380085596652683}
+ m_Father: {fileID: 1388380085467657509}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &4793498303131294037
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8117707461378840390}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 75d23f1ea196e443cb44511fb7608aa6, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ mBtnStartRecord: {fileID: 1388380085624999076}
+ mBtnRecording: {fileID: 1388380084761971936}
+ mBtnShare: {fileID: 1388380085721994161}
diff --git a/Assets/Resources/UIs/TopCanvas.prefab.meta b/Assets/Resources/UIs/TopCanvas.prefab.meta
new file mode 100644
index 00000000..2669162b
--- /dev/null
+++ b/Assets/Resources/UIs/TopCanvas.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: c725d095448404344abe6668b8731a42
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity
index f6b1df72..166adc4c 100644
--- a/Assets/Scenes/Main.unity
+++ b/Assets/Scenes/Main.unity
@@ -43,7 +43,7 @@ RenderSettings:
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
- serializedVersion: 11
+ serializedVersion: 12
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
@@ -98,7 +98,8 @@ LightmapSettings:
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
- m_UseShadowmask: 1
+ m_LightingSettings: {fileID: 4890085278179872738, guid: 721ff0e02a84146c4b1e8f7b87a28c06,
+ type: 2}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
@@ -118,6 +119,8 @@ NavMeshSettings:
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
+ maxJobWorkers: 0
+ preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
@@ -154,6 +157,7 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
@@ -306,6 +310,75 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 12f206f57e3a54136b9c54f893ff39a2, type: 3}
+--- !u!1001 &1388380085059363626
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 1388380085593528138, guid: c725d095448404344abe6668b8731a42,
+ type: 3}
+ propertyPath: m_Name
+ value: TopCanvas
+ objectReference: {fileID: 0}
+ - target: {fileID: 1388380085593528139, guid: c725d095448404344abe6668b8731a42,
+ type: 3}
+ propertyPath: m_RootOrder
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 1388380085593528139, guid: c725d095448404344abe6668b8731a42,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 1388380085593528139, guid: c725d095448404344abe6668b8731a42,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 1388380085593528139, guid: c725d095448404344abe6668b8731a42,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 1388380085593528139, guid: c725d095448404344abe6668b8731a42,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 1388380085593528139, guid: c725d095448404344abe6668b8731a42,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 1388380085593528139, guid: c725d095448404344abe6668b8731a42,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 1388380085593528139, guid: c725d095448404344abe6668b8731a42,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 1388380085593528139, guid: c725d095448404344abe6668b8731a42,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 1388380085593528139, guid: c725d095448404344abe6668b8731a42,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 1388380085593528139, guid: c725d095448404344abe6668b8731a42,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: c725d095448404344abe6668b8731a42, type: 3}
--- !u!1001 &2617655799926167754
PrefabInstance:
m_ObjectHideFlags: 0
@@ -440,6 +513,7 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
+ m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3333527424761485489}
- {fileID: 3333527423099584207}
@@ -494,6 +568,7 @@ MonoBehaviour:
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
+ m_PresetInfoIsWorld: 0
--- !u!114 &3333527423029586804
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -569,6 +644,7 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 776958736012266133}
- {fileID: 1132805848468396765}
@@ -607,6 +683,7 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3333527423560040903}
- {fileID: 3333527423029586801}
@@ -683,6 +760,7 @@ Transform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3333527423551884967}
m_RootOrder: 0
@@ -697,6 +775,7 @@ Transform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -10240}
m_LocalScale: {x: 113.77778, y: 113.77778, z: 113.77778}
+ m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3333527423029586801}
m_RootOrder: 0
@@ -728,6 +807,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
m_Name:
m_EditorClassIdentifier:
+ m_SendPointerHoverToParent: 1
m_HorizontalAxis: Horizontal
m_VerticalAxis: Vertical
m_SubmitButton: Submit
diff --git a/Assets/Scenes/MainSettings.lighting b/Assets/Scenes/MainSettings.lighting
new file mode 100644
index 00000000..4bcce18a
--- /dev/null
+++ b/Assets/Scenes/MainSettings.lighting
@@ -0,0 +1,64 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!850595691 &4890085278179872738
+LightingSettings:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: MainSettings
+ serializedVersion: 4
+ m_GIWorkflowMode: 1
+ m_EnableBakedLightmaps: 0
+ m_EnableRealtimeLightmaps: 0
+ m_RealtimeEnvironmentLighting: 1
+ m_BounceScale: 1
+ m_AlbedoBoost: 1
+ m_IndirectOutputScale: 1
+ m_UsingShadowmask: 1
+ m_BakeBackend: 1
+ m_LightmapMaxSize: 1024
+ m_BakeResolution: 40
+ m_Padding: 2
+ m_LightmapCompression: 3
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAO: 0
+ m_MixedBakeMode: 2
+ m_LightmapsBakeMode: 1
+ m_FilterMode: 1
+ m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_RealtimeResolution: 2
+ m_ForceWhiteAlbedo: 0
+ m_ForceUpdates: 0
+ m_FinalGather: 0
+ m_FinalGatherRayCount: 256
+ m_FinalGatherFiltering: 1
+ m_PVRCulling: 1
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 512
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_LightProbeSampleCountMultiplier: 4
+ m_PVRBounces: 2
+ m_PVRMinBounces: 2
+ m_PVREnvironmentMIS: 1
+ m_PVRFilteringMode: 1
+ m_PVRDenoiserTypeDirect: 1
+ m_PVRDenoiserTypeIndirect: 1
+ m_PVRDenoiserTypeAO: 1
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_PVRTiledBaking: 0
diff --git a/Assets/Scenes/MainSettings.lighting.meta b/Assets/Scenes/MainSettings.lighting.meta
new file mode 100644
index 00000000..2f44a2a1
--- /dev/null
+++ b/Assets/Scenes/MainSettings.lighting.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 721ff0e02a84146c4b1e8f7b87a28c06
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 4890085278179872738
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/UI/DontDestroy.cs b/Assets/Scripts/UI/DontDestroy.cs
new file mode 100644
index 00000000..395ad9a9
--- /dev/null
+++ b/Assets/Scripts/UI/DontDestroy.cs
@@ -0,0 +1,18 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class DontDestroy : MonoBehaviour
+{
+ // Start is called before the first frame update
+ void Start()
+ {
+ DontDestroyOnLoad(this);
+ }
+
+ // Update is called once per frame
+ void Update()
+ {
+
+ }
+}
diff --git a/Assets/Scripts/UI/DontDestroy.cs.meta b/Assets/Scripts/UI/DontDestroy.cs.meta
new file mode 100644
index 00000000..fd95819b
--- /dev/null
+++ b/Assets/Scripts/UI/DontDestroy.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 31bdb02f4ca504c37af46ee5cc90dea1
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/UI/PanelGame.cs b/Assets/Scripts/UI/PanelGame.cs
index eaf98da5..113a3cb5 100644
--- a/Assets/Scripts/UI/PanelGame.cs
+++ b/Assets/Scripts/UI/PanelGame.cs
@@ -153,6 +153,7 @@ public class PanelGame : BasePanel
private void OnClickShareGame()
{
+ Debug.Log("PanelGame - OnClickShareGame");
TKGSDKManager.Instance.ShareShareAppMessageByType(TKGSDKManager.ShareType.ShareAppOriginImg);
}
diff --git a/Assets/Scripts/UI/PanelRecord.cs b/Assets/Scripts/UI/PanelRecord.cs
new file mode 100644
index 00000000..46f95b4b
--- /dev/null
+++ b/Assets/Scripts/UI/PanelRecord.cs
@@ -0,0 +1,123 @@
+using System.Collections;
+using System.Collections.Generic;
+using StarkSDKSpace;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class PanelRecord : BasePanel
+{
+ [SerializeField] Button mBtnStartRecord;
+ [SerializeField] Button mBtnRecording;
+ [SerializeField] Button mBtnShare;
+
+ private TKGSDKManager.SCLCategory _sclCategory = TKGSDKManager.SCLCategory.None;
+
+ private void Awake()
+ {
+#if H5_WX
+ gameObject.SetActive(false);
+#elif H5_DY
+ string platform = StarkSDK.API.GetSystemInfo().platform;
+ if (platform != null && platform.ToLower().Contains("ios"))
+ {
+ gameObject.SetActive(false);
+ }
+ Debug.Log("SYSTEM INFO : " + platform);
+#endif
+
+
+ mBtnStartRecord.gameObject.SetActive(true);
+ mBtnRecording.gameObject.SetActive(false);
+ mBtnShare.gameObject.SetActive(false);
+
+ UIUtils.BindBtn(mBtnStartRecord, OnStartRecord);
+ UIUtils.BindBtn(mBtnRecording, OnRecording);
+ UIUtils.BindBtn(mBtnShare, OnShare);
+ }
+
+ private void OnStartRecord()
+ {
+ Debug.Log("OnStartRecord ----- ");
+ OnClickShareGame();
+ }
+
+ private void OnRecording()
+ {
+ Debug.Log("OnRecording ----- ");
+ OnClickShareGame();
+ }
+
+ private void OnShare()
+ {
+ Debug.Log("OnShare ----- ");
+ OnClickShareGame();
+ }
+
+ private void OnClickShareGame()
+ {
+ Debug.Log("PanelGame - OnClickShareGame");
+#if H5_DY
+ _sclCategory = GetSclCategoryState(_sclCategory);
+ Debug.Log("OnClickShareGame, _sclCategory : " + _sclCategory);
+
+ TKGSDKManager.Instance.ScreenRecordingLogic(_sclCategory, "share title", new List() { "尖叫吧小鸡仔" }, () =>
+ {
+ Debug.Log("分享结束 ----");
+ });
+ RefershUI();
+#endif
+ }
+
+ private TKGSDKManager.SCLCategory GetSclCategoryState(TKGSDKManager.SCLCategory _sclCategory)
+ {
+ mBtnStartRecord.gameObject.SetActive(false);
+ mBtnRecording.gameObject.SetActive(false);
+ mBtnShare.gameObject.SetActive(false);
+
+ TKGSDKManager.SCLCategory tempCategory = _sclCategory;
+ Debug.Log("tempCategory : " + tempCategory);
+ if (tempCategory == TKGSDKManager.SCLCategory.None)
+ {
+ tempCategory = TKGSDKManager.SCLCategory.开始;
+ }
+ else if (tempCategory == TKGSDKManager.SCLCategory.开始)
+ {
+ tempCategory = TKGSDKManager.SCLCategory.结束;
+ }
+ else if (tempCategory == TKGSDKManager.SCLCategory.结束)
+ {
+ tempCategory = TKGSDKManager.SCLCategory.分享;
+ }
+ else if (tempCategory == TKGSDKManager.SCLCategory.分享)
+ {
+ tempCategory = TKGSDKManager.SCLCategory.开始;
+ }
+ return tempCategory;
+ }
+
+ private void RefershUI()
+ {
+ mBtnStartRecord.gameObject.SetActive(false);
+ mBtnRecording.gameObject.SetActive(false);
+ mBtnShare.gameObject.SetActive(false);
+
+ Debug.Log("RefershUI _sclCategory : " + _sclCategory);
+ if (_sclCategory == TKGSDKManager.SCLCategory.None)
+ {
+ mBtnStartRecord.gameObject.SetActive(true);
+ }
+ else if (_sclCategory == TKGSDKManager.SCLCategory.开始)
+ {
+ mBtnRecording.gameObject.SetActive(true);
+ }
+ else if (_sclCategory == TKGSDKManager.SCLCategory.结束)
+ {
+ mBtnShare.gameObject.SetActive(true);
+ }
+ else if (_sclCategory == TKGSDKManager.SCLCategory.分享)
+ {
+ mBtnStartRecord.gameObject.SetActive(true);
+ }
+ }
+
+}
diff --git a/Assets/Scripts/UI/PanelRecord.cs.meta b/Assets/Scripts/UI/PanelRecord.cs.meta
new file mode 100644
index 00000000..ea10b9ff
--- /dev/null
+++ b/Assets/Scripts/UI/PanelRecord.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 75d23f1ea196e443cb44511fb7608aa6
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/UI/PopupTipsPanel.cs b/Assets/Scripts/UI/PopupTipsPanel.cs
new file mode 100644
index 00000000..6002c02f
--- /dev/null
+++ b/Assets/Scripts/UI/PopupTipsPanel.cs
@@ -0,0 +1,61 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class PopupTipsPanel : MonoBehaviour
+{
+ public Text tipsText;
+
+ Animator mAnimator;
+ private static PopupTipsPanel mPopupTipsPanel;
+ public static void PopupTips(string txt)
+ {
+ Debug.Log("Show PopTips : " + txt);
+ PopupTips(txt, Color.white);
+ }
+ public static void PopupTips(string txt, Color color)
+ {
+ if (mPopupTipsPanel==null)
+ {
+ GameObject obj = Resources.Load("CommonView/UI/Prefabs/PopupTipsPanel") as GameObject;
+ mPopupTipsPanel = GameObject.Instantiate(obj).GetComponent();
+ }
+ mPopupTipsPanel.SetText(txt, color);
+ }
+
+ void OnEnable()
+ {
+
+ }
+
+ public void SetText(string txt, Color color)
+ {
+ mAnimator = mPopupTipsPanel.GetComponent();
+ if (mAnimator != null)
+ {
+ mAnimator.Play("NoState");
+ if (IsInvoking("OpenAnimator"))
+ {
+ CancelInvoke("OpenAnimator");
+ }
+ Invoke("OpenAnimator", 1.0f);
+ }
+
+ tipsText.color = color;
+ tipsText.text = txt;
+ }
+
+ void OpenAnimator()
+ {
+ mAnimator.Play("outtips");
+ }
+
+ public void DestroyTips()
+ {
+ mPopupTipsPanel = null;
+ Debug.Log("DestroyTips");
+ Destroy(gameObject);
+ }
+
+}
diff --git a/Assets/Scripts/UI/PopupTipsPanel.cs.meta b/Assets/Scripts/UI/PopupTipsPanel.cs.meta
new file mode 100644
index 00000000..87742f0c
--- /dev/null
+++ b/Assets/Scripts/UI/PopupTipsPanel.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d875837261bb14a4ca86c76801a91a97
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/TKGSDK/Common/GameInterface/TKGSDKManager.cs b/Assets/TKGSDK/Common/GameInterface/TKGSDKManager.cs
index 8976c9e3..26dfe01e 100644
--- a/Assets/TKGSDK/Common/GameInterface/TKGSDKManager.cs
+++ b/Assets/TKGSDK/Common/GameInterface/TKGSDKManager.cs
@@ -3,11 +3,16 @@ using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Touka;
+using StarkSDKSpace;
#if H5_WX
using WeChatWASM;
#endif
+#if H5_DY
+using StarkSDKSpace.UNBridgeLib.LitJson;
+#endif
+
public class TKGSDKManager : TKGSingleton
{
#region webgl
@@ -27,7 +32,7 @@ public class TKGSDKManager : TKGSingleton
"这奇葩结局,必须要跟你分享一下!",
"这声音,建议躲在被窝里玩"};
-#endregion
+ #endregion
public bool IsNoAllAD
{
@@ -635,8 +640,6 @@ public class TKGSDKManager : TKGSingleton
ShareAppFixedImg,
}
-
-
public WayOfReward GetRewardWay()
{
return WayOfReward.Share;
@@ -645,6 +648,11 @@ public class TKGSDKManager : TKGSingleton
public void ShareShareAppMessageByType(ShareType _shareType = ShareType.ShareAppOriginImg)
{
Debug.Log("ShareShareAppMessageByType, type : " + _shareType);
+#if H5_DY
+
+ ShareNormalImg();
+ return;
+#endif
//for(int i = 0; i < 30; i++)
//{
@@ -750,5 +758,86 @@ public class TKGSDKManager : TKGSingleton
#endif
}
-#endregion
+ #region dy
+
+ ///
+ /// 录屏 只支持安卓
+ ///
+ public void ScreenRecordingLogic(SCLCategory sCLCategory, string title, List topics, System.Action actA = null)
+ {
+ bool flg = StarkSDKSpace.CanIUse.GetStarkGameRecorder;
+ Debug.Log("can use flg : " + flg + " , sCLCategory : " + sCLCategory);
+ switch (sCLCategory)
+ {
+ case SCLCategory.开始:
+ Debug.Log("call StartRecord");
+
+ StarkSDK.API.GetStarkGameRecorder().StartRecord(true, 600, () => { Debug.Log("开始录制"); }, (errcode, errmsg) => { Debug.Log("录制错误:" + errcode + "," + errmsg); }, (_videoPath)=> { Debug.Log("video path : " + _videoPath); });
+ break;
+ case SCLCategory.结束:
+ Debug.Log("call StopRecord");
+ StarkSDK.API.GetStarkGameRecorder().StopRecord((videopath) => { Debug.Log("录制成功,存放路径为" + videopath); }, (err, errmsg) => { Debug.Log("录制错误:" + err + "," + errmsg); });
+ break;
+ case SCLCategory.分享:
+ Debug.Log("call GetVideoRecordState");
+ if (StarkSDK.API.GetStarkGameRecorder().GetVideoRecordState() == StarkSDKSpace.StarkGameRecorder.VideoRecordState.RECORD_COMPLETED)
+ {
+ Debug.Log("call 录制结束了,可以分享");
+ StarkSDKSpace.StarkSDK.API.GetStarkGameRecorder().ShareVideoWithTitleTopics((_onShareVideoSuccessCallback) => {
+ Debug.Log("分享成功,获得奖励"); actA?.Invoke();
+ }, (errMsg) => {
+ Debug.Log("分享失败:" + errMsg);
+ if(errMsg.ToLower().Contains("short"))
+ {
+ PopupTipsPanel.PopupTips("录制时间少于3s,请重新录制");
+ }
+ else
+ {
+ PopupTipsPanel.PopupTips("分享失败,请重新录制");
+ }
+ }, () => { Debug.Log("取消分享");
+ }, title, topics);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+ public enum SCLCategory
+ {
+ 开始 = 0,
+ 结束,
+ 分享,
+ None,
+ }
+
+ public void ShareNormalImg()
+ {
+ int tipIndex = GetRandomIndex();
+ string imgUrl = string.Format("{0}ShareImg/ShareImg{1}.png", cdnPath, (tipIndex + 1));
+ JsonData shareJson = new JsonData();
+ shareJson["desc"] = GetRandomShareTips(tipIndex);
+ shareJson["imageUrl"] = imgUrl;
+ StarkSDK.API.GetStarkShare().ShareAppMessage((_shareSucc) =>
+ {
+ // Share succeed
+
+ }, (errMsg) =>
+ {
+
+ // Share failed
+ }, () =>
+ {
+
+ // Share cancelled
+ },
+ shareJson);
+
+
+ }
+
+ #endregion
+
+ #endregion
}
\ No newline at end of file
diff --git a/Assets/TKGSDK/NativeSDK/Scripts/SDK/TKGNativeInterfaceWebgl.cs b/Assets/TKGSDK/NativeSDK/Scripts/SDK/TKGNativeInterfaceWebgl.cs
index d19dc35e..d789b1d3 100644
--- a/Assets/TKGSDK/NativeSDK/Scripts/SDK/TKGNativeInterfaceWebgl.cs
+++ b/Assets/TKGSDK/NativeSDK/Scripts/SDK/TKGNativeInterfaceWebgl.cs
@@ -55,6 +55,11 @@ namespace Touka
initAds();
});
#endif
+
+#if H5_DY
+
+ //StarkSDKSpace.StarkSDK.API.GetStarkAdManager();
+#endif
TKGDebugger.LogDebug("init ----- 02");
}
diff --git a/Assets/ThirdPlugins/Easy Save 3/Resources/ES3/ES3Defaults.asset b/Assets/ThirdPlugins/Easy Save 3/Resources/ES3/ES3Defaults.asset
index d9334555..5ff49ca2 100644
--- a/Assets/ThirdPlugins/Easy Save 3/Resources/ES3/ES3Defaults.asset
+++ b/Assets/ThirdPlugins/Easy Save 3/Resources/ES3/ES3Defaults.asset
@@ -32,6 +32,7 @@ MonoBehaviour:
- Assembly-CSharp
- StompyRobot.SRF
- StompyRobot.SRDebugger
+ - Assembly-CSharp-firstpass
- PsdPlugin
- StompyRobot.SRF.Editor
- StompyRobot.SRDebugger.Editor