From 25c866d090e4d8e6a7dbbf5931363fbd33f6cbb3 Mon Sep 17 00:00:00 2001 From: suntao Date: Wed, 9 Jun 2021 11:27:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BF=9E=E6=8E=A5=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E7=95=8C=E9=9D=A2;=E4=BF=AE=E6=94=B9=E5=A4=A7?= =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E5=9C=A8panel=E4=B8=8A=E7=BC=A9=E6=94=BE?= =?UTF-8?q?=E5=A4=A7=E5=9C=B0=E5=9B=BE=E4=B9=9F=E7=BC=A9=E6=94=BE=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Resources/Images/Signal_1.png | Bin 0 -> 2229 bytes Assets/Resources/Images/Signal_1.png.meta | 104 +++++++++++++ Assets/Resources/Images/Signal_2.png | Bin 0 -> 2290 bytes Assets/Resources/Images/Signal_2.png.meta | 104 +++++++++++++ Assets/Resources/Images/Signal_3.png | Bin 0 -> 2219 bytes Assets/Resources/Images/Signal_3.png.meta | 104 +++++++++++++ Assets/Resources/Images/link_ant+_2.png | Bin 0 -> 519 bytes Assets/Resources/Images/link_ant+_2.png.meta | 104 +++++++++++++ Assets/Resources/Images/link_bluetooth_2.png | Bin 0 -> 565 bytes .../Images/link_bluetooth_2.png.meta | 104 +++++++++++++ .../UI/Prefab/Device/DeviceItem.prefab | 137 +++++++++++++----- Assets/Scenes/MainScene.unity | 45 ++++++ .../Scripts/Devices/Ble/BleDeviceAdapter.cs | 2 +- .../Devices/Ble/Scan/BleAdvertisementInfo.cs | 2 +- .../Devices/Ble/Win/BleWinHwInterface.cs | 1 + .../Devices/Ble/Win/WclBleGattClient.cs | 44 ------ Assets/Scripts/Scenes/MainController.cs | 3 +- Assets/Scripts/UI/Prefab/Device/DeviceItem.cs | 53 ++++++- Assets/Scripts/UI/Prefab/Device/DeviceView.cs | 11 +- .../UI/Prefab/Panel/BigMapController.cs | 11 ++ 20 files changed, 744 insertions(+), 85 deletions(-) create mode 100644 Assets/Resources/Images/Signal_1.png create mode 100644 Assets/Resources/Images/Signal_1.png.meta create mode 100644 Assets/Resources/Images/Signal_2.png create mode 100644 Assets/Resources/Images/Signal_2.png.meta create mode 100644 Assets/Resources/Images/Signal_3.png create mode 100644 Assets/Resources/Images/Signal_3.png.meta create mode 100644 Assets/Resources/Images/link_ant+_2.png create mode 100644 Assets/Resources/Images/link_ant+_2.png.meta create mode 100644 Assets/Resources/Images/link_bluetooth_2.png create mode 100644 Assets/Resources/Images/link_bluetooth_2.png.meta diff --git a/Assets/Resources/Images/Signal_1.png b/Assets/Resources/Images/Signal_1.png new file mode 100644 index 0000000000000000000000000000000000000000..0c55f9a6b2eb1589f42d1867661d59d8e18ee7ef GIT binary patch literal 2229 zcmV;m2uk;fP){k}VU|IV(vHNDBqIrrRi&OP_M?){Y-8-A*Ngs5W) zTB|DJ;wN*LwbBW@5W&%8yN)J)Dz~?o%&#Uv#;sTu-Tbo};(l{Sld>Fo<( zpS=RGfIX8Wdg9Fwl>Z&K+HG?{tkYlkZ4C5NiTFSkxhRh8r3S?68|7s%IHI-&seCJaV2Na+0HNa+vYnyUi{-I(CCfnQ zC2FoEjQqd}qUHwS`E%G}8t0P@5w#fy*k{*_0-VxA2u9&V?e%Aj-MURX#jgBTD7#LS z)8!V@f1!|{%CFZtJb-X@B?_6<5($rKhQt2`p#?DRaUA~h6w*s`bN$QOINqC4JyW{3 zTr^G*bqT>Ae4b1+D`?8KgrQ!*!;@y+8eCQ9xi<#I;$|J{&1QF& zm*@+LLiT;SIX~Smg%=^b-zcD_a&qap*!BrH=Qh&(rrdp20q6QdomcuJm(LUTYTVg! ztmSM)@H01X;oXKD|K0_xN1Kv&+{6mQnIG3$vw#*MB5&b%2il| z_YsA=?czj;JQ+ovn4V+TA_dk5*zLSqtLDiwnTqJ3z){kn3h$wy7mwW}J?VcCHwqB8 zqiA5u#Zg)CkfAAc($M_iWx{xG`Y`=KJf`$s#8Um#cyxJgrfF58;7I*tGT32vN5h^=nm=4J zNfhtT{t@2JZZO0l%|cP|`1S7e`kBP-kmp)nVb_(ywpW?%2x&czlIFUpMz2n;^r3(r zCobJz8<)mpWLF+dwLghkxfLEBbo*L6NH2#GdGFQ6rWwWwH9(pjIPXz}_-UJwmOdq< zMQF0WnvwwvrkLK1K{xNdD$v0XRH(j!L>uRuspJrtOHloYTb1ZQ6MAhbKGG*OfF%&9 zp@Ybik5meS+1DaZ!f(g0$*ItBUXzlp5*^mz;#?3ay+X8F0Yhsm<*?1;-i)fR^Ew$% zpI`tt_SMiyM0t*7gwG$sNz!BO)RO-%WUdCor3Y|`FGkF$GS919A}2P%L*)^9AV}u! z!U@`<1;@F=>uY_`&Ut|b123;vD$L-`G27BBA^N}@Ft{`B%aO3<8J6_)f<6ojS=Zfw^3?dG@^x8Pdr zjFjSiyYF=R$io;`C7pz=a#p zYYz~|n`=d=!@nB3NZ`i3206JEZ3bsHw@C3(V5=abA$Zhv+%?j>&2&|NVJ@YMx{ti& zA?xtYd5k!&qzy1&KXHWXxC0M1abkuWJ7!TB^*M{f{f|VO^Ay9u>)f2{P=*(yUg4Mg z|LCTixw5>TOo7R3<#9cjM;7O<;~cSczTGfm1FSP35{Q zAFoKhm+c%q;n%p6qlX)Ke+REDHR~d$Q58AMi%Q#Mamf9_ajUCZkbK4q5W1ZYSTf*5 z+MCyK3z$qEAPk>nYejDCunHzZzFo`}thISf(kotL!yF`aKwdsyp~tSBbEhxe;-JBd zxG`rwjPS|C*E23e^O?XK1lQF{PwH^jt0PFZyHUSCB;RDi?Qd;|>G#lR&yCm9E70My zI^dNja1)suhzE9+^Fh9qfWI@qbQl(_wiMhx+uTCtUOTUZ_T@@iIRx1+Rjw1~XM*3A z-yxye!DJ;3yghDX<1!k?dHG2|41>>NKKpRe7dgk*&2E&hykTgC8at|6_pVVG;sAp!zN4y~8oXf2<0vQwskVzXHl%z%=G<00000NkvXXu0mjf DRgOKJ literal 0 HcmV?d00001 diff --git a/Assets/Resources/Images/Signal_1.png.meta b/Assets/Resources/Images/Signal_1.png.meta new file mode 100644 index 00000000..2e314ed7 --- /dev/null +++ b/Assets/Resources/Images/Signal_1.png.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: c8bf9a7776d716b4db8c80b65a648469 +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 + 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: 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 + 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 + - serializedVersion: 3 + buildTarget: Standalone + 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: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Images/Signal_2.png b/Assets/Resources/Images/Signal_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b58d02638a1f4b94341e3207ecdf52e1384da867 GIT binary patch literal 2290 zcmVF+)QINxDcOWY zNl9t%flE`}nvk6P3O7qGviK<}DSIYAf2unie*diSdP`+<`&8nMC3)|w*^tG*$tC3V zuAFX?L$v+4TP}DNR$^_6#pk0d4IF(MMc!y}6~x<JHV8_4_M^c64-J zha1l)v%uoQ-p2!Z0E(7UyE8rTv{t~i-~Z5vj*jln2QF(&oz5`V&{oe!v42xEetnjGXJV7g|W|&Mt)ymK$SDte}t6h`2DK}n~9SreorNl z^Wl#<+o2lM4pp7hO%RrsW8-^~k@0fguRJ(#uaK{+>)NC0)ROvAUc*8TMgr8Xdqt2fOYS7=L{iY;29uJ4`lZkQv5cGPF1AFXPns!&}8>y zWB?&~8Z$91UR-)ZG%9|MK>rYXPm4_^8F<+N+D^-|8V((L{gX_5#DA#+KHmeQr0m@b zqj#hVBX$nfK^S;PN^#Dza40U)&y=_3>0${w<4A^pd(9Zzz6B- zkfwRNyRBNi7x5Mx5|78vfs{uc&;zLES^>gB5L$`ExC-N6*T!+Ht;MytH9>+9-bePS znxE?Rz!?sRNOAo(UZp9t2J~cgXv@pX2VK4#Yu7b`D1VRd;Ug%v1r&f+mGJ5X!jYo- z`EeQla{@0SF3ZjrC)T0OK>S-W(SuqzJD3Es&5L8QJnTE00nKZs|%b-Yisc zbN(x*2ULTwPu7H3yjmU&L_M;&&dRcmXguZ#>_n>T5*dpbi5AXKvd?awGfwZDgv5@O|I53O6HL1@#Jj)qCX1qUZ1b*5i(#$ z(w>k%8Ol{1APtMzT2UL1X$1r4NMU`gdWuP@UXzT9U64NxM>0ZQy0Bw%O+Q-`f<{}Y`9KWZ-&$pblP@V zV;B|aaCkak`~d1o-9V7-vhD0|;_p$EXE-^~51PPyw?^QYtVc6?O0QFA{cz&pugM*!)Ni!Ra%7jR0!7{EiJF9r-jzVB1{{6bK;e7YvSo>RGQ|8H2?qr M07*qoM6N<$f)B<^p#T5? literal 0 HcmV?d00001 diff --git a/Assets/Resources/Images/Signal_2.png.meta b/Assets/Resources/Images/Signal_2.png.meta new file mode 100644 index 00000000..6704fdb2 --- /dev/null +++ b/Assets/Resources/Images/Signal_2.png.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: 06916ce30a8274a4eb000d5781570ad3 +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 + 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: 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 + 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 + - serializedVersion: 3 + buildTarget: Standalone + 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: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Images/Signal_3.png b/Assets/Resources/Images/Signal_3.png new file mode 100644 index 0000000000000000000000000000000000000000..62949f7f3512b19c6a923810834cca2e143cfa7d GIT binary patch literal 2219 zcmV;c2vqlpP)kEd!wY3aqzuC9F@0>+etg3OSUpDiHacF&(=QbV-g9;vCR z8DtpAcBSR@&Ks9Kb=It!Q!_LiJZVk0Y|Duohm%Hl5x2XlQDF8QyWQCqjrN6$iYjcc z?*A?^tK^#p4MRp#DPx6lVOglEBh>M07eZ^)*Vo&2?(EzrgmF9++IqR>D@bj`vP3iC zyBl;DX)e5{t*yxg=3e-nK&EM$7p7A3&VquxdS1kdQ3N_uR1H4{*^8zh#sQn3r8t-8o!W0{vU)2dImc^EGO4Jl3`i z;orbX9#73EDWeC7=jS_zY~SASyGn`>VOvj6hpN={?+9a4W*4Av0MU#Bvl)hF(Ryssn#Z*P z(mvn9q2X}kSK1#YgSZSH9;X1!;tHI*Ii@LoM);5F@Udel&O@Sckc1Q!71bkn zFtO(^V~c9a%NLv#i^YGSk?a9^7v$%WXKlOD2fD!Q>r3t@lapE2dU9T#Z3-)rAI96* z;!-Y?x)}cgo$vE4DnupntVGxI$KXy{kQRAg7i(n9EmZmX!Q#;S6_x_3JBRVN;J1~^#{?CuWa>3v<1nx7N024WK* zY09YpLFP2(QYtU6JS~wB_am_ju=akr$u$T3LpX$+Ow-u>|5n8Le;I(+d&_VsPq6f_ z%65X>#XyIUhR>uFoi>~N3H@gfzCu*kc<`n}j!zCAFt26MAm`1zPO|yL`vqV*j_$@v zRklx(FQ_URXdoBOT1B~ShOL`U>WKYCMTJxR{>^`AUM2uk$iJanuLbCB zwdifnY1+C#JMX~iR)JTn`PmSeVfC%I+Y8qR0-GaRhGvQbCRLv#4|=O{22|%(0l@i_ zaK1P_;gG}O8lw%Al~tXM(%psa7^w|fP<#RSEw+Wvm9c=AKqpV@z)2W&aAj+2qq?}! zpo`F;J0VxWL!WP=IzIDeK+u++_#2#`shuORWiY;88->9Q!Qj@rG(8YPSCo~_dkg`q zmO?oSacwZzqz-L$b@kw*N0Z&UMv&z)Uf3TZ@_$enQ7uMPc(@n_Rz5wMlphm^B#t5~ zZEk)^^=oyk<)4XcF%M=;zkJ;rN9ytm>{DU9u!)({SNi!WDw zr)j{8vT$|Bkj8ss_({I(WdLuVWEko$A&ugB23w+on2LI6(R$9kb+h?i)-?29bL?Gp zsisl&Zz3y~rRnaGBOU+IGAwe5#!)iwm@ZfG3NX@HkT>!HO9iY*x?C0G0975pU^$yT zZi5H3fq{^37wTZ0>NN=~?Ik77QMepVP#60TUzQAZk4>9)!7_CW`4oxA4%nblsp#ui>8B{B)#U4kBXKJOb(O^3?s*Rhk(%ys)pppQ zNgAUUm(OU*RR9)G-NaCm*J~QbWI3AAqngf!xdO=6!D9@66FMJ&O=eB`La=*WuF+Tc z{q=0?{aY~^9?$&Ic)6p<27&x&(bn(Z1%Uo?1{`%6pE}1rMbRO)TKF~R*+H%ZS tMF^Q{O1X6Yjvov@5rxhZ!C-F9{{f!m$AHMGw#)zk002ovPDHLkV1g>@8;$?~ literal 0 HcmV?d00001 diff --git a/Assets/Resources/Images/Signal_3.png.meta b/Assets/Resources/Images/Signal_3.png.meta new file mode 100644 index 00000000..b60069c3 --- /dev/null +++ b/Assets/Resources/Images/Signal_3.png.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: 7ba84d52fa6fd2b428fe76e532bc7c6c +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 + 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: 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 + 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 + - serializedVersion: 3 + buildTarget: Standalone + 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: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Images/link_ant+_2.png b/Assets/Resources/Images/link_ant+_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5a6741884cbfd6473bc66e43c3d18044577be817 GIT binary patch literal 519 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM#=yWhy?{3l$YDu$^mSxl*x1kgCy^D%w@8if zO!M_+&;qhK7#Q0#8CZZUMj(~~Vg?4L1x#=ei3Q9EHc0Z|-|*=`#Z{gzjv*erZ>Jb~ zGdl{jZZ;HK)TFVEtI73WLxT2=AL>UA9lLibLL)=9>Hnc?es4q$MzLJfM$GO}{H$x`_`@+#BLx3ZHQ-ZX_5dOtbxidA^o zRlSyn0V}*G=I&6?E)Ic?)jjK_lVkEUt0PW+@M$PFX!2z1Z4~=D z=|z?TU)OYAgL?nhGD6nVNK|tbZW)S?f=6;OVO~ z&K>AfJ{f<2ZNvLxAM0ET3OzQx?8=e-xIZ z8hQT)_S+2Q2aaa0fBa|a#Egu^_H6Uo75+z_3S{5n_rvtTf2LXLPrU9oJd;&0UmVjQ z^m<)m%%9B(7q#xoPhaBuynCI5`a#wS@?Q;Sutz`OT9RaGWus4Ee_NXan;uLR$RMH>>szX*fg`IxpQk3mTmT)?Q|qcn|p0=w5Hi2v!+&sz>eqN zr`=8d{!VDRfMP52`?P1z&c3<#_D$Z>N1jU7u1l7GbVx5H~rJKSe${AfK(WX7h$iOcq`2vn%+%00Sf zvbT;7!xHBv|7iuScBM}i-U^GC_nP%U;d4AQcWN-tKcOYL-nSh0KYIUsauZ9F^n_j0 zwlvutx_?TYb)OsKr0NS?P0cbL`3vI3&ii}nuAaA#(KP2|&wL3L4X*;ZJB+o>M{++e zI^6e>zh&EJ-p~I(n%6hDW@RlEF!j9>$20Bbd@Fr=_F5b;_Bddmra>9dH!eSyEmO!TCcRd0L7iBtDnm{r-UW|_V?h& literal 0 HcmV?d00001 diff --git a/Assets/Resources/Images/link_bluetooth_2.png.meta b/Assets/Resources/Images/link_bluetooth_2.png.meta new file mode 100644 index 00000000..cacdaf9e --- /dev/null +++ b/Assets/Resources/Images/link_bluetooth_2.png.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: 0ccaf81a4ca1c1e4ea20f4c52f30a579 +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 + 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: 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 + 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 + - serializedVersion: 3 + buildTarget: Standalone + 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: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UI/Prefab/Device/DeviceItem.prefab b/Assets/Resources/UI/Prefab/Device/DeviceItem.prefab index deb8ddcd..b868f52f 100644 --- a/Assets/Resources/UI/Prefab/Device/DeviceItem.prefab +++ b/Assets/Resources/UI/Prefab/Device/DeviceItem.prefab @@ -104,7 +104,8 @@ RectTransform: m_Children: - {fileID: 4347642619387382541} - {fileID: 5333104648953487716} - - {fileID: 4582282901144642708} + - {fileID: 6514089965287851756} + - {fileID: 965028425746119384} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -153,6 +154,80 @@ MonoBehaviour: m_DisabledTrigger: Disabled m_Interactable: 1 m_TargetGraphic: {fileID: 0} +--- !u!1 &6092777681612193971 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6514089965287851756} + - component: {fileID: 6121838685697673260} + - component: {fileID: 7411279575339221392} + m_Layer: 5 + m_Name: Network + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6514089965287851756 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6092777681612193971} + 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_Children: [] + m_Father: {fileID: 189965521107699628} + 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: 42, y: 0} + m_SizeDelta: {x: 24, y: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6121838685697673260 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6092777681612193971} + m_CullTransparentMesh: 0 +--- !u!114 &7411279575339221392 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6092777681612193971} + 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_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 0b4912f50e70fe94485136c6f248136f, 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!1 &6417040487747213529 GameObject: m_ObjectHideFlags: 0 @@ -187,7 +262,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 50, y: -12} + m_AnchoredPosition: {x: 64, y: -12} m_SizeDelta: {x: 220, y: 30} m_Pivot: {x: 0, y: 1} --- !u!222 &7318458415531256946 @@ -231,7 +306,7 @@ MonoBehaviour: m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: New Text ---- !u!1 &8513862428541677370 +--- !u!1 &6790451822861370522 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -239,73 +314,69 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4582282901144642708} - - component: {fileID: 828510373746272033} - - component: {fileID: 1484798634535886974} + - component: {fileID: 965028425746119384} + - component: {fileID: 4105398655127643970} + - component: {fileID: 8805901114678668108} m_Layer: 5 - m_Name: Type + m_Name: Signal m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &4582282901144642708 +--- !u!224 &965028425746119384 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8513862428541677370} + m_GameObject: {fileID: 6790451822861370522} 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_Children: [] m_Father: {fileID: 189965521107699628} - m_RootOrder: 2 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: -43.46, y: 15} - m_SizeDelta: {x: 65.85498, y: 30} - m_Pivot: {x: 1, y: 1} ---- !u!222 &828510373746272033 + m_AnchoredPosition: {x: -58, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4105398655127643970 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8513862428541677370} + m_GameObject: {fileID: 6790451822861370522} m_CullTransparentMesh: 0 ---- !u!114 &1484798634535886974 +--- !u!114 &8805901114678668108 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8513862428541677370} + m_GameObject: {fileID: 6790451822861370522} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 0.9764706, g: 0.1882353, b: 0.5254902, a: 1} + m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_FontData: - m_Font: {fileID: 12800000, guid: 9428f2aab98e9c34d923a9174035a197, type: 3} - m_FontSize: 16 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 1 - m_MaxSize: 40 - m_Alignment: 3 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: ANT+ + 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 diff --git a/Assets/Scenes/MainScene.unity b/Assets/Scenes/MainScene.unity index e31ab0c8..f0a2321d 100644 --- a/Assets/Scenes/MainScene.unity +++ b/Assets/Scenes/MainScene.unity @@ -323,6 +323,50 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 273807000} m_CullTransparentMesh: 0 +--- !u!1 &508680359 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 508680361} + - component: {fileID: 508680360} + m_Layer: 0 + m_Name: AppCenter + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &508680360 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 508680359} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b9a3a6a28c6a80a46adde9b4e01eeb93, type: 3} + m_Name: + m_EditorClassIdentifier: + Settings: {fileID: 11400000, guid: 060d0d087b61870459a222c8d67af46a, type: 2} +--- !u!4 &508680361 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 508680359} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 708.2801, y: 231.04446, z: 981.1338} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &724627085 GameObject: m_ObjectHideFlags: 0 @@ -739,6 +783,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ff5927b9099e57740a8e1c1296251a99, type: 3} m_Name: m_EditorClassIdentifier: + mMainPanel: {fileID: 0} Root: {fileID: 0} --- !u!4 &1962586927 Transform: diff --git a/Assets/Scripts/Devices/Ble/BleDeviceAdapter.cs b/Assets/Scripts/Devices/Ble/BleDeviceAdapter.cs index c5ed1791..df7a4501 100644 --- a/Assets/Scripts/Devices/Ble/BleDeviceAdapter.cs +++ b/Assets/Scripts/Devices/Ble/BleDeviceAdapter.cs @@ -95,7 +95,7 @@ namespace Assets.Scripts.Devices.Ble if (discoveredDevices.ContainsKey(device.Peripheral.Address)) { discoveredDevices[device.Peripheral.Address].SignalStrength = device.Rssi; - //Debug.Log($"设备{ device.Peripheral.Name }信号量:{ device.Rssi }"); + Debug.Log($"设备{ device.Peripheral.Name }信号量:{ device.Rssi }"); } }); } diff --git a/Assets/Scripts/Devices/Ble/Scan/BleAdvertisementInfo.cs b/Assets/Scripts/Devices/Ble/Scan/BleAdvertisementInfo.cs index 64093e43..722abcab 100644 --- a/Assets/Scripts/Devices/Ble/Scan/BleAdvertisementInfo.cs +++ b/Assets/Scripts/Devices/Ble/Scan/BleAdvertisementInfo.cs @@ -14,7 +14,7 @@ namespace Assets.Scripts.Ble.Scan public class BleAdvertisementInfo { public BlePeripheralInfo Peripheral { get; } - public int Rssi { get; } + public int Rssi { get; set; } public SensorType SensorType { get; internal set; } public BleAdvertisementInfo(BlePeripheralInfo peripheral, int rssi, bool connectible, List services, byte[] manufactureData, SensorType sensor) diff --git a/Assets/Scripts/Devices/Ble/Win/BleWinHwInterface.cs b/Assets/Scripts/Devices/Ble/Win/BleWinHwInterface.cs index 12090afa..2d0910f7 100644 --- a/Assets/Scripts/Devices/Ble/Win/BleWinHwInterface.cs +++ b/Assets/Scripts/Devices/Ble/Win/BleWinHwInterface.cs @@ -155,6 +155,7 @@ namespace Assets.Scripts.Ble return; } pCache[addressStr].SensorType = sensor; + pCache[addressStr].Rssi = rssi; //Debug.Log(sensor); //pCache[address.ToString()].SensorType = sensor; diff --git a/Assets/Scripts/Devices/Ble/Win/WclBleGattClient.cs b/Assets/Scripts/Devices/Ble/Win/WclBleGattClient.cs index 0341f2ad..be2e4dbb 100644 --- a/Assets/Scripts/Devices/Ble/Win/WclBleGattClient.cs +++ b/Assets/Scripts/Devices/Ble/Win/WclBleGattClient.cs @@ -21,66 +21,52 @@ namespace Assets.Scripts.Ble.Win this.mPtr = WclBleGattClient.WCLGattClientCreate(this.CConnectEvent, this.CDisconnectEvent, this.FCharacteristicChangedEvent); } - // Token: 0x06002086 RID: 8326 [DllImport("WclBlePluginCPP.dll", CallingConvention = CallingConvention.StdCall)] [return: MarshalAs(UnmanagedType.I4)] private static extern int WCLGattClientConnect([MarshalAs(UnmanagedType.SysInt)][In] IntPtr Client, [MarshalAs(UnmanagedType.SysInt)][In] IntPtr Radio, [MarshalAs(UnmanagedType.I8)][In] long Address); - // Token: 0x06002087 RID: 8327 [DllImport("WclBlePluginCPP.dll", CallingConvention = CallingConvention.StdCall)] [return: MarshalAs(UnmanagedType.SysInt)] private static extern IntPtr WCLGattClientCreate([MarshalAs(UnmanagedType.FunctionPtr)][In] WclBleGattClient.GATTCLIENT_CONNECT OnConnect, [MarshalAs(UnmanagedType.FunctionPtr)][In] WclBleGattClient.GATTCLIENT_DISCONNECT OnDisconnect, [MarshalAs(UnmanagedType.FunctionPtr)][In] WclBleGattClient.GATTCLIENT_ONCHANGED OnChanged); - // Token: 0x06002088 RID: 8328 [DllImport("WclBlePluginCPP.dll", CallingConvention = CallingConvention.StdCall)] private static extern void WCLGattClientDestroy([MarshalAs(UnmanagedType.SysInt)][In] IntPtr Client); - // Token: 0x06002089 RID: 8329 [DllImport("WclBlePluginCPP.dll", CallingConvention = CallingConvention.StdCall)] [return: MarshalAs(UnmanagedType.I4)] private static extern int WCLGattClientDisconnect([MarshalAs(UnmanagedType.SysInt)][In] IntPtr Client); - // Token: 0x0600208A RID: 8330 [DllImport("WclBlePluginCPP.dll", CallingConvention = CallingConvention.StdCall)] private static extern void WCLGattClientFreeMem([MarshalAs(UnmanagedType.SysInt)][In] IntPtr pMem); - // Token: 0x0600208B RID: 8331 [DllImport("WclBlePluginCPP.dll", CallingConvention = CallingConvention.StdCall)] [return: MarshalAs(UnmanagedType.I4)] private static extern int WCLGattClientGetCharacteristics([MarshalAs(UnmanagedType.SysInt)][In] IntPtr Client, [In] ref GattService Service, [In][Out] ref GattCharacteristics Chars); - // Token: 0x0600208C RID: 8332 [DllImport("WclBlePluginCPP.dll", CallingConvention = CallingConvention.StdCall)] [return: MarshalAs(UnmanagedType.I4)] private static extern int WCLGattClientGetServices([MarshalAs(UnmanagedType.SysInt)][In] IntPtr Client, [In][Out] ref GattServices Services); - // Token: 0x0600208D RID: 8333 [DllImport("WclBlePluginCPP.dll", CallingConvention = CallingConvention.StdCall)] [return: MarshalAs(UnmanagedType.U4)] private static extern WclBleGattClientState WCLGattClientGetState([MarshalAs(UnmanagedType.SysInt)][In] IntPtr Client); - // Token: 0x0600208E RID: 8334 [DllImport("WclBlePluginCPP.dll", CallingConvention = CallingConvention.StdCall)] [return: MarshalAs(UnmanagedType.I4)] private static extern int WCLGattClientReadCharacteristicValue([MarshalAs(UnmanagedType.SysInt)][In] IntPtr Client, [In] ref GattCharacteristic Char, [MarshalAs(UnmanagedType.SysInt)][In][Out] ref IntPtr ppValue, [MarshalAs(UnmanagedType.U4)][In][Out] ref uint pSize); - // Token: 0x0600208F RID: 8335 [DllImport("WclBlePluginCPP.dll", CallingConvention = CallingConvention.StdCall)] [return: MarshalAs(UnmanagedType.I4)] private static extern int WCLGattClientSubscribeCharacteristic([MarshalAs(UnmanagedType.SysInt)][In] IntPtr Client, [In] ref GattCharacteristic Char); - // Token: 0x06002090 RID: 8336 [DllImport("WclBlePluginCPP.dll", CallingConvention = CallingConvention.StdCall)] [return: MarshalAs(UnmanagedType.I4)] private static extern int WCLGattClientUnsubscribeCharacteristic([MarshalAs(UnmanagedType.SysInt)][In] IntPtr Client, [In] ref GattCharacteristic Char); - // Token: 0x06002091 RID: 8337 [DllImport("WclBlePluginCPP.dll", CallingConvention = CallingConvention.StdCall)] [return: MarshalAs(UnmanagedType.I4)] private static extern int WCLGattClientWriteCharacteristicValue([MarshalAs(UnmanagedType.SysInt)][In] IntPtr Client, [In] ref GattCharacteristic Char, [MarshalAs(UnmanagedType.SysInt)][In] IntPtr pValue, [MarshalAs(UnmanagedType.U4)][In] uint Size); - // Token: 0x170005D4 RID: 1492 - // (get) Token: 0x06002092 RID: 8338 RVA: 0x00087790 File Offset: 0x00085990 public WclBleGattClientState State { get @@ -89,7 +75,6 @@ namespace Assets.Scripts.Ble.Win } } - // Token: 0x06002093 RID: 8339 RVA: 0x000877A4 File Offset: 0x000859A4 public void Connect() { if (this.mPtr != IntPtr.Zero) @@ -102,7 +87,6 @@ namespace Assets.Scripts.Ble.Win } } - // Token: 0x06002094 RID: 8340 RVA: 0x000877F4 File Offset: 0x000859F4 public void Disconnect() { if (this.mPtr != IntPtr.Zero) @@ -113,7 +97,6 @@ namespace Assets.Scripts.Ble.Win } } - // Token: 0x06002095 RID: 8341 RVA: 0x00087864 File Offset: 0x00085A64 public int DiscoverCharacteristics(GattService service, out GattCharacteristics characteristics) { characteristics = new GattCharacteristics @@ -124,7 +107,6 @@ namespace Assets.Scripts.Ble.Win return WclBleGattClient.WCLGattClientGetCharacteristics(this.mPtr, ref service, ref characteristics); } - // Token: 0x06002096 RID: 8342 RVA: 0x000878B0 File Offset: 0x00085AB0 public int DiscoverServices(out GattServices services) { services = new GattServices @@ -135,7 +117,6 @@ namespace Assets.Scripts.Ble.Win return WclBleGattClient.WCLGattClientGetServices(this.mPtr, ref services); } - // Token: 0x06002097 RID: 8343 RVA: 0x000878F8 File Offset: 0x00085AF8 public int ReadCharacteristicValue(GattCharacteristic characteristic, out byte[] value) { value = null; @@ -151,13 +132,11 @@ namespace Assets.Scripts.Ble.Win return num2; } - // Token: 0x06002098 RID: 8344 RVA: 0x00087953 File Offset: 0x00085B53 public int SubscribeCharacteristic(GattCharacteristic characteristic) { return WclBleGattClient.WCLGattClientSubscribeCharacteristic(this.mPtr, ref characteristic); } - // Token: 0x06002099 RID: 8345 RVA: 0x00087968 File Offset: 0x00085B68 public int WriteCharacteristic(GattCharacteristic characteristic, byte[] value) { IntPtr intPtr; @@ -179,7 +158,6 @@ namespace Assets.Scripts.Ble.Win return result; } - // Token: 0x0600209A RID: 8346 RVA: 0x000879D4 File Offset: 0x00085BD4 public void Dispose() { WclBleGattClient.WCLGattClientDestroy(this.mPtr); @@ -190,7 +168,6 @@ namespace Assets.Scripts.Ble.Win this.FCharacteristicChangedEvent = null; } - // Token: 0x0600209B RID: 8347 RVA: 0x00087A0C File Offset: 0x00085C0C private void OnCharacteristicChanged(IntPtr sender, ushort handle, IntPtr pValue, uint valueLen) { //Debug.Log("char changed"); @@ -213,7 +190,6 @@ namespace Assets.Scripts.Ble.Win } } - // Token: 0x0600209C RID: 8348 RVA: 0x00087A80 File Offset: 0x00085C80 private void OnConnected(IntPtr client, int error) { try @@ -232,7 +208,6 @@ namespace Assets.Scripts.Ble.Win } } - // Token: 0x0600209D RID: 8349 RVA: 0x00087AD0 File Offset: 0x00085CD0 private void OnDisconnected(IntPtr client, int reason) { try @@ -249,53 +224,34 @@ namespace Assets.Scripts.Ble.Win } } - // Token: 0x0400130B RID: 4875 public WclBleGattClient.GattCharacteristicChanged CharacteristicChanged; - // Token: 0x0400130C RID: 4876 public WclBleGattClient.GattConnectionChanged Connected; - // Token: 0x0400130D RID: 4877 public WclBleGattClient.GattConnectionChanged Disconnected; - // Token: 0x0400130F RID: 4879 private WclBleGattClient.GATTCLIENT_CONNECT CConnectEvent; - // Token: 0x04001310 RID: 4880 private WclBleGattClient.GATTCLIENT_DISCONNECT CDisconnectEvent; - // Token: 0x04001311 RID: 4881 private WclBleGattClient.GATTCLIENT_ONCHANGED FCharacteristicChangedEvent; - // Token: 0x04001312 RID: 4882 private readonly long gattAddress; - // Token: 0x04001313 RID: 4883 private IntPtr mPtr; - // Token: 0x04001314 RID: 4884 private IntPtr rPtr; - // Token: 0x020008FB RID: 2299 - // (Invoke) Token: 0x06003F5A RID: 16218 public delegate void GattCharacteristicChanged(WclBleGattClient connection, ushort handle, byte[] value); - // Token: 0x020008FC RID: 2300 - // (Invoke) Token: 0x06003F5E RID: 16222 public delegate void GattConnectionChanged(WclBleGattClient connection, int error); - // Token: 0x020008FD RID: 2301 - // (Invoke) Token: 0x06003F62 RID: 16226 [UnmanagedFunctionPointer(CallingConvention.StdCall, SetLastError = false)] private delegate void GATTCLIENT_CONNECT([MarshalAs(UnmanagedType.SysInt)][In] IntPtr Sender, [MarshalAs(UnmanagedType.I4)][In] int Error); - // Token: 0x020008FE RID: 2302 - // (Invoke) Token: 0x06003F66 RID: 16230 [UnmanagedFunctionPointer(CallingConvention.StdCall, SetLastError = false)] private delegate void GATTCLIENT_DISCONNECT([MarshalAs(UnmanagedType.SysInt)][In] IntPtr Sender, [MarshalAs(UnmanagedType.I4)][In] int Reason); - // Token: 0x020008FF RID: 2303 - // (Invoke) Token: 0x06003F6A RID: 16234 [UnmanagedFunctionPointer(CallingConvention.StdCall, SetLastError = false)] private delegate void GATTCLIENT_ONCHANGED([MarshalAs(UnmanagedType.SysInt)][In] IntPtr Sender, [MarshalAs(UnmanagedType.U2)][In] ushort Handle, [MarshalAs(UnmanagedType.SysInt)][In] IntPtr Value, [MarshalAs(UnmanagedType.U4)][In] uint ValueLen); diff --git a/Assets/Scripts/Scenes/MainController.cs b/Assets/Scripts/Scenes/MainController.cs index 18867add..aa41e037 100644 --- a/Assets/Scripts/Scenes/MainController.cs +++ b/Assets/Scripts/Scenes/MainController.cs @@ -68,12 +68,13 @@ public class MainController : MonoBehaviour } else { - UIManager.ShowHomePanel(); + //UIManager.ShowHomePanel(); //UIManager.ShowUserInfoPanel(); //UIManager.ShowEditUserPanel(); //UIManager.ShowBigMapPanel(); //UIManager.ShowEarthPanel(); } + UIManager.ShowDevicePanel(); } // Update is called once per frame diff --git a/Assets/Scripts/UI/Prefab/Device/DeviceItem.cs b/Assets/Scripts/UI/Prefab/Device/DeviceItem.cs index 6b66c8c8..6c02711f 100644 --- a/Assets/Scripts/UI/Prefab/Device/DeviceItem.cs +++ b/Assets/Scripts/UI/Prefab/Device/DeviceItem.cs @@ -10,7 +10,9 @@ public class DeviceItem : Selectable, IEventSystemHandler, IPointerClickHandler { private bool isOn; private Text mText; - private Text mType; + private Image network; + private Image signal; + private float timer = 0f; public AbstractDevice DeviceInfo { get;set; @@ -19,7 +21,8 @@ public class DeviceItem : Selectable, IEventSystemHandler, IPointerClickHandler protected override void Awake() { mText = this.transform.Find("Name").GetComponent(); - mType = this.transform.Find("Type").GetComponent(); + network = this.transform.Find("Network").GetComponent(); + signal = this.transform.Find("Signal").GetComponent(); } // Start is called before the first frame update @@ -37,10 +40,41 @@ public class DeviceItem : Selectable, IEventSystemHandler, IPointerClickHandler // this.SetSelectedStyle(); } - mType.text = DeviceInfo.Network.ToString(); + if(DeviceInfo.Network == NetworkType.BLE) + { + network.sprite = Resources.Load("Images/link_bluetooth_2"); + } + else + { + signal.enabled = false; + } + SetSignal(); } + private void SetSignal() + { + if(DeviceInfo == null) + { + return; + } + //Debug.Log(DeviceInfo.SignalStrength); + + var signalValue = DeviceInfo.SignalStrength * -1; + if (signalValue >= 0 && signalValue <= 30) + { + signal.sprite = Resources.Load("Images/Signal_1"); + } + else if (signalValue > 30 && signalValue <= 70) + { + signal.sprite = Resources.Load("Images/Signal_2"); + } + else if (signalValue > 70 && signalValue <= 97) + { + signal.sprite = Resources.Load("Images/Signal_3"); + } + } + public override void OnPointerEnter(PointerEventData eventData) { //base.OnPointerEnter(eventData); @@ -59,6 +93,8 @@ public class DeviceItem : Selectable, IEventSystemHandler, IPointerClickHandler shadow.enabled = true; ColorUtility.TryParseHtmlString("#F93086", out Color color1); shadow.effectColor = color1; + + network.color = color1; } public override void Select() @@ -82,7 +118,15 @@ public class DeviceItem : Selectable, IEventSystemHandler, IPointerClickHandler // Update is called once per frame void Update() { - + if (timer >= 2) + { + timer = 0f; + + SetSignal(); + + return; + } + timer += Time.deltaTime; } public void OnPointerClick(PointerEventData eventData) @@ -110,6 +154,7 @@ public class DeviceItem : Selectable, IEventSystemHandler, IPointerClickHandler else { mText.color = Color.white; + network.color = Color.white; var shadow = mText.gameObject.GetComponent(); if (shadow != null) { diff --git a/Assets/Scripts/UI/Prefab/Device/DeviceView.cs b/Assets/Scripts/UI/Prefab/Device/DeviceView.cs index 539e549b..808174dc 100644 --- a/Assets/Scripts/UI/Prefab/Device/DeviceView.cs +++ b/Assets/Scripts/UI/Prefab/Device/DeviceView.cs @@ -252,8 +252,17 @@ public class DeviceView : MonoBehaviour logo.sprite = sprite1; title.text = connectedDevice.Name; - noDevice.text = connectedDevice.DeviceNumber.ToString(); + if (connectedDevice.Network == NetworkType.BLE) + { + noDevice.enabled = false; + } + else + { + noDevice.enabled = true; + noDevice.text = connectedDevice.DeviceNumber.ToString(); + } searchState.text = "Connecting..."; + } else if (connectedDevice.State == DeviceState.Connected) { diff --git a/Assets/Scripts/UI/Prefab/Panel/BigMapController.cs b/Assets/Scripts/UI/Prefab/Panel/BigMapController.cs index b38d1daa..97aa3928 100644 --- a/Assets/Scripts/UI/Prefab/Panel/BigMapController.cs +++ b/Assets/Scripts/UI/Prefab/Panel/BigMapController.cs @@ -99,6 +99,17 @@ public class BigMapController : PFUIPanel var panel = canvas.transform.Find("Panel"); base.SetRounded(panel, 30f); + + var qtcm = this.transform.Find("Map").GetComponent(); + UIManager.AddEvent(panel.gameObject, EventTriggerType.PointerEnter, (e) => + { + qtcm.enabled = false; + }); + UIManager.AddEvent(panel.gameObject, EventTriggerType.PointerExit, (e) => + { + qtcm.enabled = true; + }); + content = panel.Find("Scroll View").Find("Viewport").Find("Content").gameObject; var input = panel.Find("InputField"); base.SetRounded(input, 20f);