diff --git a/Assets/Scenes/10007_01_InitScene.unity b/Assets/Scenes/10007_01_InitScene.unity index 665a88f..3e0eb8c 100644 --- a/Assets/Scenes/10007_01_InitScene.unity +++ b/Assets/Scenes/10007_01_InitScene.unity @@ -338,6 +338,7 @@ MonoBehaviour: m_EditorClassIdentifier: systemId: 0 schemeId: 0 + device_Control: {fileID: 0} --- !u!114 &1817104531410758845 MonoBehaviour: m_ObjectHideFlags: 0 @@ -397,6 +398,7 @@ GameObject: - component: {fileID: 1817104532591070028} - component: {fileID: 1686064644} - component: {fileID: 1817104532591070032} + - component: {fileID: 1817104532591070033} m_Layer: 0 m_Name: "\u6B65\u9AA4\u72B6\u6001" m_TagString: Untagged @@ -456,3 +458,32 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 41cef5d8cf8e39548a2936da5c981888, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!114 &1817104532591070033 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1817104532591070025} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6a7f51fc436825446bc95d55083e40b7, type: 3} + m_Name: + m_EditorClassIdentifier: + skip_files: + - sec_code.json + - MonoBleedingEdge + - APP_BurstDebugInformation_DoNotShip + - realtimeStat.json + - info.ini + - MissionData + - ticket_ForReC.json + - fault_ForReC.json + - unins000.dat + - unins000.exe + - start.ini + total: 0 + read: 0 + check_finish: 0 + result: 0 + debugStr: diff --git a/Assets/StreamingAssets/sec_code.json b/Assets/StreamingAssets/sec_code.json new file mode 100644 index 0000000..8b4de8b --- /dev/null +++ b/Assets/StreamingAssets/sec_code.json @@ -0,0 +1 @@ +ew0KICAiLi5cXC4uXFxhcHAuZXhlIjogIjYyNTYxMDUwMzI5NjMyNjc4M2RjYTY5ZTFmZDZmYmIyNWIyYTBkMWVlMDA0Nzc0OTU1YzJkMGFkYmIwYzE3Y2YiLA0KICAiLi5cXC4uXFxhcHBzdGFydC5leGUiOiAiMmNmZGE3MTU1ZTJmOTNjYWY0NmMxODY2MDRlYmE4MzRkM2Y4YzlmMDQ0NTc0NzQwYzYyMGZiODM4YWRjZGEyNCIsDQogICIuLlxcLi5cXHVuaXR5Y3Jhc2hoYW5kbGVyNjQuZXhlIjogImE5YWMxNzFjM2YwYjhkM2IzMWJjYjhmNTZlYmYwMGUxZGQ3YmY3OTkyY2YxMWM4ZGNmYjY5NzUwZDk4YWNlZTMiLA0KICAiLi5cXC4uXFx1bml0eXBsYXllci5kbGwiOiAiNjQ4YTAxNTI5Y2RlODZmYTg5OGFjNWNhZjMwOTBmNzE4MzA2MGU4ODE3OWIzZDAxM2E5MmEzYTViY2MyZmZiMyIsDQogICIuLlxcLi5cXHdwZmFuaW1hdGVkZ2lmLmRsbCI6ICJiNGM2OWJlMjEzYmEzZGQ0MGU2YmM4MTliN2JmYzEzYWIwM2QwNmQ1ZjNlZmEwZTQ2NDNiMWI1NWU1YTUyOWY5IiwNCiAgIi4uXFxhcHAuaW5mbyI6ICIyZjRmYzE4ZjdmOGE1NzkzZjIwNzE2YWI5ZDZjZGI3YTM4N2U3ZDNkMmM3NzU5ZjJjOThiMDU1NTY0MWY1NDUwIiwNCiAgIi4uXFxib290LmNvbmZpZyI6ICJhNTcxNWE2YTBkNWVkZmEyNjY4MzEwNzM2ZmJlODZkMzY3MDBiNDFiMDIyZTZkM2RkNWRiMzdlNmZjYmI1OWQ1IiwNCiAgIi4uXFxnbG9iYWxnYW1lbWFuYWdlcnMiOiAiZDE3YmNjOGJjZGYzOTNhOGIzOWFhZDBjMzljYTJjOWMxNDFkMzZlMTlkYzc0YTFlYmQ5ZmNjMTRlZjJlYjcyYyIsDQogICIuLlxcZ2xvYmFsZ2FtZW1hbmFnZXJzLmFzc2V0cyI6ICJhZTc5YWFiZWZkYjU3ODk2NzA4Yjc0ZTk0MzA3N2RlZjAxMjg4MzBiMDlhZTJhNjdkMmI3Yjc0NzZlNzkzNTQ5IiwNCiAgIi4uXFxnbG9iYWxnYW1lbWFuYWdlcnMuYXNzZXRzLnJlc3MiOiAiNWJlNjQ2N2U0Njc2ZDEzZTE0NjRlMWMzOGI3ZGVhMTVlYjNjMmQ3OWFkNDY3ZmNlNzAwYWVjZmFiYjFhZThkOCIsDQogICIuLlxcbGV2ZWwwIjogIjJkNDljOGRiZGI4MjFkZjUwZTdmMzRiNzlmMDQ3OWQ2MGIwNzY5NGRhY2VjODkxMWY0YWE2OTI4NDdmNjRkMjAiLA0KICAiLi5cXGxldmVsMSI6ICJkNTNlMzliMWQwNTY4YzQ4MmIxNDg0Y2ZlY2FkZTg5MDM2ZmViMjdhNzVlZWY1NTFlMDYzMmNkZTg5MTNiZjUyIiwNCiAgIi4uXFxsZXZlbDIiOiAiZWUyNjJlZmM5YjVmN2IzN2EzZjAwZjU5ODliMmM0ODA0YWFhZThiNGQ3OThhY2I3NDkyYjI5OTQwZTdiZWQ3OCIsDQogICIuLlxcbGV2ZWwyLnJlc3MiOiAiNDM0NDQ5NGE1ZTBkM2Q2Y2Q3ODI5OTU0YjZhMzE4N2ZlNDRjNzViN2E2N2E4OTZiYTQyZmY3NjBhOTY5OTQ3YSIsDQogICIuLlxcbGV2ZWwzIjogIjdiNjQ4ZTI4MTI2YWIxZTMzNTQyMjEyZTBhYjgzNzZiNzA0M2VhZDBmODMxNjgwZmQ4OWNkNDExOGI4ZWQzNjAiLA0KICAiLi5cXGxldmVsNCI6ICI0MzMzMTU5NGViOTQ0MzlmZDhlYWI4NzZhZGMyODkxZjUzYzg0MWIzZmIxMTFhMjNjNjA3YjE2MGRkMjg0Y2FmIiwNCiAgIi4uXFxsZXZlbDQucmVzcyI6ICIyMjJjYTMwMWZhODRhNTg5YTg1MmVhN2RiYjVhYTU2ZjU2ZjIxOGI1YjlmOTljMzM4YTc0Y2NiOTJjNGRiOTBjIiwNCiAgIi4uXFxsZXZlbDUiOiAiYjc2MTU3YjBlNTE1NGZhZTg0ZTczODAyN2NhYzkxZjE4MGEyYjIzOWY0N2ZjM2YyNDMzM2JjMTRmY2VjOGUyMyIsDQogICIuLlxcbGV2ZWw1LnJlc3MiOiAiZmRmZTQ1ZjZlMjUxOWZhN2I5ZGI3NTA1MTBlM2YzOWRhZTc5NTUyNzdiMGQwNTEwOTJhN2M2OWQ1ODRjMWQ5MiIsDQogICIuLlxcbGV2ZWw2IjogImM0NzM5MWY0OGQyZDc1YzhlYWE0MzEwMGY0NmIxZjg0ZTNlYmI2Y2IxOTA3M2VhNzlmYTk1OTU0OGMzNDkxOTgiLA0KICAiLi5cXGxldmVsNi5yZXNzIjogImM2Y2QxMmU4ZjY5YjgyYTZjYjBiZDA0NDEwZmFhOTA4MjQwZmY1MTNmMDU1NzZhZTk3MDRiZjQwMmIwYjRiOWMiLA0KICAiLi5cXHJlc291cmNlcy5hc3NldHMiOiAiZjU3ZWZmYTk0MTVhMDNlZTMzMTRiM2I1OGIxMDZjNGVmOTk5ODVkYmM2NDU5MDZmMjkwNGU2MDdmYzFmNTllYSIsDQogICIuLlxccmVzb3VyY2VzLmFzc2V0cy5yZXNzIjogIjZhZDAxOTJhNmY0OTI0MDAwM2M0ZGU0NmY5Mzc2MjFjMjc0ZmU5NWI4Y2RlMDQ2MWQxNzNmMDY1M2NiN2FlMzciLA0KICAiLi5cXHJ1bnRpbWVpbml0aWFsaXplb25sb2Fkcy5qc29uIjogImNhYTRhZDU0ZDQ0ZjI5YmEyOTJkOWY2ZTg4ZDE5OGIyYjA1MGUzMmIwMjgxNjZjZDY1NmY5OTg5MzAxOTg3ZmYiLA0KICAiLi5cXHNjcmlwdGluZ2Fzc2VtYmxpZXMuanNvbiI6ICJiMzk5YjU1OTFiNTYxMDVhNzU1YzZlMTkxNGMwNjQ2M2JlYzYwMzI3YjEyNTJiZDc1YjNjM2I5ZGMwMjA0ZjM0IiwNCiAgIi4uXFxzaGFyZWRhc3NldHMwLmFzc2V0cyI6ICI3NThlNGQ4NTFhMDQ4NTQ2ZTg1ODQ2NWE3NGFmYTVjZDJlM2QyNDRhNDQxYzFmODk1NzhmNWNlODA1MTRlMTJlIiwNCiAgIi4uXFxzaGFyZWRhc3NldHMxLmFzc2V0cyI6ICI4ZDZkZDYyNDAwZTM2NzgyNjIxNGQ0NmNiNGEwZjQxNjk4MTMyYmVmYWRiYWZlNTA5MTExNTIxYTg5ODk1MTg5IiwNCiAgIi4uXFxzaGFyZWRhc3NldHMyLmFzc2V0cyI6ICIxODE0MWI4ZjhkZjE1NjEzY2Q1OWU2ZTUwMGQ1YmRjNjRmZGMyYjU5NzNmN2EwMzUzNGRmZjk4ZjM1ZWU5ZGRiIiwNCiAgIi4uXFxzaGFyZWRhc3NldHMyLmFzc2V0cy5yZXNzIjogIjFiMWU5MzYxNTQxZmVhNjMwNzc2ZjBmNTMyNDI5N2RkN2U4ZDU0YjQ4MzNlNDYyMGNjNGU5ZGY4MWQ0MGFkYjAiLA0KICAiLi5cXHNoYXJlZGFzc2V0czMuYXNzZXRzIjogImFlMWFkM2Q2MWQ4MTVhYWMzNDFmNDU1YjIxOGRjMTgxNjVmOWRkNDRkZDJlMDFmNmM3OTgyMjA3Mzk0YWQxNDgiLA0KICAiLi5cXHNoYXJlZGFzc2V0czMuYXNzZXRzLnJlc3MiOiAiYTM5YTZmYjY0NDZhNDc0YmU4NzE0ZWQxNDg0MDIyMWRkNDFhYWY1ZTE1OWNiYWU5ODVhZGRlYmJmYWQ0MGMyMyIsDQogICIuLlxcc2hhcmVkYXNzZXRzNC5hc3NldHMiOiAiZTM4MTAyZGU0ODBmZWYyNTViOWIyZjFiMmJjOWIyYmY5ZDQ3MWI4NzkxOGI5YWY3M2U5YzlkZjUzNmE4YmFiMCIsDQogICIuLlxcc2hhcmVkYXNzZXRzNC5hc3NldHMucmVzcyI6ICIwNTQyZWQzMGUzMjM1YTM0YjYyMGEyMWJmODBiMmEwNGM5NDY1ZGFmNmIwOTk3MGY1MDQxNTczMmVlNTcxMDA4IiwNCiAgIi4uXFxzaGFyZWRhc3NldHM1LmFzc2V0cyI6ICI0ODljOGE2NDMyYjVhMDUxOTA2YWQyMDBkOTMwM2Y1ODgxMzRmMjBjN2U1MmVkODU2ODIzMWUzNjdjZjc2OWRiIiwNCiAgIi4uXFxzaGFyZWRhc3NldHM1LmFzc2V0cy5yZXNzIjogImQwYjI0YmIxMTA1YTg0Nzg0NGRiZTcxODQ2NzdmMDFmYmRjMThjZDVlODZlOTAxM2M2ZjNkMjE2MjZiYThlYTMiLA0KICAiLi5cXHNoYXJlZGFzc2V0czYuYXNzZXRzIjogImMwM2NlNWJjNWVlOTdkYTI4MDYyMWExZTIwMTFjMGNiNzM3MDU1ZDQyYTBhMjk1Y2ZiZjJiZWE4Yjk1ZmU1ZGYiLA0KICAiLi5cXG1hbmFnZWRcXGFzc2VtYmx5LWNzaGFycC1maXJzdHBhc3MuZGxsIjogIjU5MzkyNDEwMmY3YmNjZGZkMzliZDczMWJiMjJiOTRlOTNlZjAyMzg1YjcyNTJhNGZlMjQ5YWYyZDUyMjE1MDgiLA0KICAiLi5cXG1hbmFnZWRcXGFzc2VtYmx5LWNzaGFycC5kbGwiOiAiZGUwM2FiMGUzZWQ0YTA4MDY1ODcwNGU3NzVhNWVjYzE1NmMxZTUyMGM0MzA1ZDVmYmQ5NDZmODEwMzllOTExNCIsDQogICIuLlxcbWFuYWdlZFxcYXV0b2Rlc2suZmJ4LmRsbCI6ICIxNTdmMjIwN2E0OTA1YWVkZjUzODVkM2YzM2QyMmU4YzVhMTUxYTY2NTk5YjNhODczYzljMjkzNjc5NTVkYzlmIiwNCiAgIi4uXFxtYW5hZ2VkXFxib3VuY3ljYXN0bGUuY3J5cHRvZ3JhcGh5LmRsbCI6ICIyZjY3NDAyODBiMjZkMjM1MDc2ZWEyYjI0NGZlNmExMzEzNmNlNmJkYWQ3MWNiOTMxM2I2M2RiNGJlYjMzYTA5IiwNCiAgIi4uXFxtYW5hZ2VkXFxkZW1pbGliLmRsbCI6ICI5MjRiNzUzMDEyMGMwODBjNmFjZWZkMjBkYmFiMTk0N2M2MzEyNzg4MzZjNThmMWI0NjY4OTlhZDZjZDAyYmUyIiwNCiAgIi4uXFxtYW5hZ2VkXFxkb3R3ZWVuLmRsbCI6ICI4ZTkwZmM0M2FiNTY0YTVhNTE0MjRhZjU2NTMxYWIwNzRhNWEyZTljYWIyNzFiMmQ2NTNkMjg3OTU0MjM3YjgzIiwNCiAgIi4uXFxtYW5hZ2VkXFxkb3R3ZWVucHJvLmRsbCI6ICJkYjUyMjVmNmRiODc5NjlhMDNiNDhhNTZlMmRjMzgyOGIzODM4NGFkY2E0NGRhMGY4OTI0OGEyYmI0ODNiMDU2IiwNCiAgIi4uXFxtYW5hZ2VkXFxmYnhidWlsZHRlc3Rhc3NldHMuZGxsIjogIjRiYjNkMzg1MmM1YjRiOGM0MjBjMzRlMDBlNTk5MWRhNmVmMjIzZDY3NTMwMzUxNzc3NTI1YzYxYmRiNjU2MDMiLA0KICAiLi5cXG1hbmFnZWRcXG1vbm8uc2VjdXJpdHkuZGxsIjogIjE0MDA3Y2RlNGFkNjczM2ZjNzFkZGVkOTRhMWQxMTg2YTI0NjExZTVkYjBhODYyMGYwNmRhYjYwM2ZhZmFmMWMiLA0KICAiLi5cXG1hbmFnZWRcXG1zY29ybGliLmRsbCI6ICJlN2JmY2MzYTMzMjIyZjI4MTFkOTE4Nzc2MjQyZTAyZmQzMzIwZGVmZjdhZGQyNDFiOWQxNTRkZDJjNjQ1YmFhIiwNCiAgIi4uXFxtYW5hZ2VkXFxuZXd0b25zb2Z0Lmpzb24uZGxsIjogIjI5MTViYzZlN2M3NTEyM2JlNGQwZGM1OGVmN2Y3NDczMGJkZGMzOWU0MjhkZWY5NTBlMDgyZmNmNDZhNzE3YWQiLA0KICAiLi5cXG1hbmFnZWRcXHNpcmVuaXgub2Rpbmluc3BlY3Rvci5hdHRyaWJ1dGVzLmRsbCI6ICIxYmI5NzQ3YTZlYWRhM2NlZDkzNDQ3NjRiOTJhNzdjNGUyMmE5NGQ0NjJhNmIzNGMxNDI2YzI2M2UxYmE5Y2NmIiwNCiAgIi4uXFxtYW5hZ2VkXFxzaXJlbml4LnNlcmlhbGl6YXRpb24uY29uZmlnLmRsbCI6ICJlZTQ4ODg3OTkyMmVkZmFiYmYzNTc3NDQ2YjQxODQyMDQxMzgwYjJhODkxMjU5Y2IxZDU2NTA3OGE0MTZmNTVmIiwNCiAgIi4uXFxtYW5hZ2VkXFxzaXJlbml4LnNlcmlhbGl6YXRpb24uZGxsIjogIjkxOGVlODU1ODNlZDAzNDk4M2IzNzU5YmFkNjgxMzU4NzY4YTNiODQwNGM3YjQ5ODVjODZkMmRhOGY3YTNkNjEiLA0KICAiLi5cXG1hbmFnZWRcXHNpcmVuaXgudXRpbGl0aWVzLmRsbCI6ICIzMTQ5ZDkzMzA4ZjBhNWY4NTYyNzA3OWFjOTFkMzY5Yzc5NmI1OWQyNzYxMmZkZmUwZGM5YmM1YTg0Yjg5YTJmIiwNCiAgIi4uXFxtYW5hZ2VkXFxzeXN0ZW0uY29tcG9uZW50bW9kZWwuY29tcG9zaXRpb24uZGxsIjogIjk0NjQxZDI2ZWYwMTkyMjQwNDcyNWVmNGQ3ZTgxZDUzOTJkMjY0ZjhjMzYwY2JkNWQ0ZTYzNTU1YzM1MTYwNDIiLA0KICAiLi5cXG1hbmFnZWRcXHN5c3RlbS5jb25maWd1cmF0aW9uLmRsbCI6ICI4ZWNhOTgxN2Q4MTQ3OTVjNDliZDE5ZGFiNmU0ZWRkOTQ1OWM0ZWMwODYwYWNhNWVlYjFkNmM4OWMxNDFlN2IyIiwNCiAgIi4uXFxtYW5hZ2VkXFxzeXN0ZW0uY29yZS5kbGwiOiAiZDc0NTg4M2UzYzU0MDc4NzkyY2M4M2VjNzQ1NTZlMzNmMjVhMDcxZGQxNjgzMzNhOTVmNzg4OGNhZDAwMGI0ZSIsDQogICIuLlxcbWFuYWdlZFxcc3lzdGVtLmRsbCI6ICIzY2NiYTUzNzdjMjE2YzIzZTFlMWFkMTY1MjMyMDVhYWY3YTVmMWI0NGIwOTExYWM2ZTI5OThhYmExY2Y1OGJiIiwNCiAgIi4uXFxtYW5hZ2VkXFxzeXN0ZW0ubnVtZXJpY3MuZGxsIjogImM0NTVkMWNkMTQ0ZDA0NzQzNGViOTQxMDJmMjI0NGQ4N2U1OTI5NTQ3NDI5NmM2NjNjN2RmZTVmMzkzYmIwNTYiLA0KICAiLi5cXG1hbmFnZWRcXHN5c3RlbS5ydW50aW1lLmRsbCI6ICJlMGE3MzM0YjdiYTQxOWFhYWI2YmQzYmI2OTkyZDY5M2U2ODkzNDFhOTE3ODE3MmM5YmY5OWMyYWE2YTA4NWJkIiwNCiAgIi4uXFxtYW5hZ2VkXFxzeXN0ZW0ucnVudGltZS5zZXJpYWxpemF0aW9uLmRsbCI6ICI1N2NlZjVlN2NiMzY0YTgwYWI3NDM4ODA3Y2RiNDg3MmFmY2UzODkwNjk5ZTI3NmE3ZjY4MWQ4ODhhYzJiZjA5IiwNCiAgIi4uXFxtYW5hZ2VkXFxzeXN0ZW0uc2VjdXJpdHkuZGxsIjogIjViNjdmZmY5MzRlZTQxZWY1ODRhZTk4NDZhOWI2YzBkN2E3MzcwYmM2YzMwZGY3ZTBiMmYyZTA3MzUwNDYzYTEiLA0KICAiLi5cXG1hbmFnZWRcXHN5c3RlbS5zZXJ2aWNlbW9kZWwuaW50ZXJuYWxzLmRsbCI6ICI3OWVjZDJkYjdiZmM5M2Y3YmI5NDdmYzQ4NmQzMmZjNDUxZGMxYmU2N2U5ZTAyOTc1YjkxNDRlMjY4YjBkNWFjIiwNCiAgIi4uXFxtYW5hZ2VkXFxzeXN0ZW0ueG1sLmRsbCI6ICJlZDY2OWY1NzY0ZWRhODVjYTFjYzdmMGMzYzZhYzhhZmFhNzEwNWRkM2Q5OTkwNDY5Yzg2ZTk1YjM3MDYxMzc5IiwNCiAgIi4uXFxtYW5hZ2VkXFx1bmlyeC5kbGwiOiAiOTEyMDFkNDY2NzBmM2QwNDc4ZDlhNmU4Njk2YjI4ZTM4ZjU3NzIyZjkwNWYyOTFlMWY3NWM0Y2E4ZWM5NDFiZSIsDQogICIuLlxcbWFuYWdlZFxcdW5pdGFzay5hZGRyZXNzYWJsZXMuZGxsIjogIjYxMDdkN2VlYmI1MjU1YTcxZDQ4Y2RkOTIzNTNjNDkxZWE0MWNjMWU4NThmMzNiNGFmMzBiOThjZmIxODU2YWQiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXRhc2suZGxsIjogIjI5MzZmZTIyNTMyMzg0MGYzZjViODk3MDM5YzRhNGZkMzQyNmQ2OWM3YjVhNDExMjI4Nzc1MzkzY2Y3YjA5NWQiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXRhc2suZG90d2Vlbi5kbGwiOiAiNDU5ZGRjMTcyOTFlMmMwMTdjNDc3MmI4YTQ0NDBkMTQwODg1ODRlNGJkZjA3ZmQ3NmZhODRjMjk1ZWNmNDI1YyIsDQogICIuLlxcbWFuYWdlZFxcdW5pdGFzay5saW5xLmRsbCI6ICI0Y2Y2MDRkOTJmMjkzOTc4ZjAyNjg4ZjRhMjgzY2E0NmZjMzNmYWRiYTNjZjI1ZjU2MjQ0ZDlhZjQ3NzhjYmFjIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0YXNrLnRleHRtZXNocHJvLmRsbCI6ICJmNjc3NzBhYjRmYmQ1OGI0ZmY1OGVlZWYxMmU5ZWE2NTgyNGRmZDY2ODkxYmJlYWQzMmFiZjRjMzAyYTYzYjQ2IiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eS5idXJzdC5kbGwiOiAiN2I5YzZiMmI4MTAxN2EzOWE1YzU3MTFlMzlhMzMyNDc1MjBmMWYwNjg1YWNhYjZmZjE3ZjNlZTdkZmEzYjRjZiIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHkuYnVyc3QudW5zYWZlLmRsbCI6ICI5ZDljMWZmNTI0MTFkZWNiZWU1ZDlmMGQxY2Q2MWViZWFhMjIyMDc3YWE3N2E1MjEwMWVhM2RlYmFmYWU5OGUyIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eS5mb3JtYXRzLmZieC5ydW50aW1lLmRsbCI6ICI0ZjAxMDYxZTAwMzMzNzIwMGNkMjU2MDUwZDMxM2NiOWE2OGM4YWNkMGQ4MThkYjljNmI1YjY2MWUxMTU4NWRjIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eS5tYXRoZW1hdGljcy5kbGwiOiAiYTEyMDcwYTY0YmU2OGYwNWYwMzFiMzFhYmQ5MDYwOWY1OWM5NmU0ZTk2ZGZmZDc0ODllYWNmZDU4ODEwYjA2MiIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHkucmVuZGVycGlwZWxpbmUudW5pdmVyc2FsLnNoYWRlcmxpYnJhcnkuZGxsIjogIjI4N2NhZGMzYjk2ZjZjNDNjZmQyM2UyMTZlNzRjNjVkYTk3NTE2NTMzYWNjMTFiODcwYTYwZmNhYTU2MDAyOWMiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5LnJlbmRlcnBpcGVsaW5lcy5jb3JlLnJ1bnRpbWUuZGxsIjogIjQ0Mjc5OWIxMTk4OGU0YjRmNmYxZWI2ZDBmYjNjNWI3YzM3ZWY1YWQ2YmYzN2ViZGE0YzgyZWM2ZTVlM2RjNjUiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5LnJlbmRlcnBpcGVsaW5lcy5jb3JlLnNoYWRlcmxpYnJhcnkuZGxsIjogIjVkZGNhZDNmY2E4OWU1NTA3ZjM5OTlmZjg5NjMyNTEzMDVjYTgxNmY3ZjM0ZTQ0ZWZhMGNlNzc4MmIwMTA5ZDUiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5LnJlbmRlcnBpcGVsaW5lcy5zaGFkZXJncmFwaC5zaGFkZXJncmFwaGxpYnJhcnkuZGxsIjogIjhiZDY0N2RlNTcyZDU1MmE5YzgxYjMyNTZjMmYxZmY2MmFiZjIwZGM3ZjA5N2RlOGQyODkxMGFlODFjOWFjYWMiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5LnJlbmRlcnBpcGVsaW5lcy51bml2ZXJzYWwucnVudGltZS5kbGwiOiAiNTM1YjYzOTk1OTExNzAwMzlmMzYzZTFiZjY1ZjliOWMyZDAyNzZhYzcwNjM3NTRiMDZmOTNjNjA3ZmIwNmJmNiIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHkucmVuZGVycGlwZWxpbmVzLnVuaXZlcnNhbC5zaGFkZXJzLmRsbCI6ICIwNzNhODE2MWM0OTU0ZDM4MmVjYWNmNjM4ZjdlZjU4MDdkMmJhZjY5ZTRhYjQ0ODhiNDFjNTcyMmIxZjM4OWNmIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eS50ZXh0bWVzaHByby5kbGwiOiAiMTkyMWM0OTY4Y2FlZDY4Mjk4MDQzMzZhNGU1NjBjODE1ODM4NmExOWI3MDZiNDBmZjU1MGIxMTdhZDRmODA1NiIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHkudGltZWxpbmUuZGxsIjogIjRkNTI0MTMyMDc5MjkxMDU0YWI5ODI2NDA1ZGY1NDM1YzY1MGQ2ZGRhN2QxZDliNTNjMzJlODkyYTlmMGJlZTAiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5LnZpc3VhbHNjcmlwdGluZy5hbnRscjMucnVudGltZS5kbGwiOiAiZWQ3Y2UyMDVmNjZlYWZlMzliYmI1ZDA4NGQ0MmU3ZmUxMWNiNGIzODZmZjIwOGU1ZDUxMTA4OTFiZTBiN2IzNyIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHkudmlzdWFsc2NyaXB0aW5nLmNvcmUuZGxsIjogIjg0ZDU2NTUwNWNhMzljZmNiMjI5NDM1YTQ5MTVkNTI4ZjcyMDc5NzMxYzQ1MWJhZDUyOTRkNTdhZmQ1ZWFiYzkiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5LnZpc3VhbHNjcmlwdGluZy5mbG93LmRsbCI6ICIyNzVmNjIxNTE3ZmUwOWY0NjUzZDliYTI0NzNiODM4ZGRhMzA2M2I1NWJmYjYzNjQyNzRkZDIwMjMzOGM0MDhhIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eS52aXN1YWxzY3JpcHRpbmcuc3RhdGUuZGxsIjogImExNzI0OTU0YzZkNjMxNTMwNDU2MTg5MjIzNzI2NDEzMWFjNWNlODA0ZTNhYjk0YTk5NTg2ZmY3MjA0MWNiODEiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLmFjY2Vzc2liaWxpdHltb2R1bGUuZGxsIjogIjQyNzUyYmY4ZTlhNjE5NzIxZjAzNmY1ZTdkMDA2N2RiYmYyZTQwYmVkNjUyYzUyMTYxNzA1NGZiMTljOTA2OWUiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLmFpbW9kdWxlLmRsbCI6ICI4Mjk0NTVkZGU3MDEzNTY5MDgwZDk4MDViNWYwZWZlODUxY2IyNzAyMjY2N2E0ODMwNDVmMjM0YjQxNWU1N2U5IiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS5hbmRyb2lkam5pbW9kdWxlLmRsbCI6ICI0YTllZTMwNzI2YjU2OGFkNWE3ZmRmODFjNGYzOWI4MGY5ZDhmZDU0MGFlZDMzNDNkYWI4ODRjYjFjODAxYzNmIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS5hbmltYXRpb25tb2R1bGUuZGxsIjogIjZjN2NhMDMzMTdjN2EzMDU1ZTc3OTMyYmJkYzA0YzEzMWQ4ZWIxZGVlNzU1NmUyZWM4ZWIzOTM0OWMxMTUyZGIiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLmFybW9kdWxlLmRsbCI6ICI0ZDYxZTE4Mzk3NGI5MTk0MmE0OTY3ZjE0ODlhZjAwNmMzZDkxMjI2MzUyOTM4YjAyMjJkMzYxMWQyOGQ1ODZkIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS5hc3NldGJ1bmRsZW1vZHVsZS5kbGwiOiAiMjg4ZDYzMTkyMmZhYWU3ZGNkY2RhNmQ4Y2UxZjAxNGZlNjdkYjkwNTEyYjkwNTViMTMyZDVlMTNlZmQzZjM1MSIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUuYXVkaW9tb2R1bGUuZGxsIjogImQ4MDQ2NTBhZWYyZWE0YzEyZWEzN2E3MzczMDgzMjE3YjVlMDliOTA1ZDZmMzM5MDhkNTUyNDYwNWEyNmYyOGEiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLmF1dG9zdHJlYW1pbmdtb2R1bGUuZGxsIjogIjg1ODNiZDMyYjNkMGFlNDIxNzNhNjM3ZWJiMmU5ODM3NmFkN2IzMzdmYjU1OTA3NTZhZjQwZTY2MTlkZjBhYTciLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLmNsb3RobW9kdWxlLmRsbCI6ICIxZjA2MTIwZDNiMzJkMzY5YTk1MDkzNjNmM2YxMjY0ODI4ZWI2NzcxMTAyZjc0YWI4MWNhMjQ5ZjllMTQwOTY0IiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS5jbHVzdGVyaW5wdXRtb2R1bGUuZGxsIjogIjExYTA4YmExMjkxMjY0YmFkYjJmZTMwMDE5ODllN2FhY2YwNDE1NjZjYzhlNjdhMWZiZGY0YmE4OGRiZmJmYWEiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLmNsdXN0ZXJyZW5kZXJlcm1vZHVsZS5kbGwiOiAiNTczZmQzYmMwMmQ0NDE2Mzc3YzdjNTYyN2Q0YmVkZTg3MmUwZDA1MWM5NDVjYmZhY2FkOTUzODNiMWQ2MThhMSIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUuY29yZW1vZHVsZS5kbGwiOiAiOGYzNjY0ZjFkNmVkMGI5ZDMxMzQ2ZTc1MTZjOWJkNzNiOGYzMThjMGQwYjJlZmU2NzRkMTJkOTUyOWY4NzdlNSIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUuY3Jhc2hyZXBvcnRpbmdtb2R1bGUuZGxsIjogIjMzMjc2NGIyNDEzOGRiOTcwMDA4OTQ1MDhlNjI1NTgzZWZhYTkyZjIwNTkzNjBhNWY2YzU0ZWQyZDQwNGU3NTciLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLmRpcmVjdG9ybW9kdWxlLmRsbCI6ICJkNzgzMWM2NWY5NWE4MjU5OGVlNTQwZTdlNzNkYzBlYjA4NDgyMjUwNmI4YTNjZTgxMTc4NzZlMzY4OGIxMDRmIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS5kbGwiOiAiYzVmNThmZWI1MDQ3NmJiZmI4ZDQ0YTgyODM0NGVkZGFmYjlmMjQwYWE5MzYxMmRiZjNlMWFjMzhmOTkzNTJiZCIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUuZHNwZ3JhcGhtb2R1bGUuZGxsIjogImMzYTAxZDQxMzczNTQwMmUyZDhkOWFkYTUwY2RjMDBlYmZlYWRhOWFjZjVhY2RlYjIwMzNjNmRhZjAxZWVjYzIiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLmdhbWVjZW50ZXJtb2R1bGUuZGxsIjogIjBlOTc5MWVmM2MyMjUwZmJmNDdiZjIxY2M4ZThlODI3NzIwN2JmZWJhNTg2OWU5NTkxMmVhZGQ0MTY3MWQ0YzkiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLmdpbW9kdWxlLmRsbCI6ICI5OGZkZDUzMzkxOTZhMzBiN2JhMGNiYzAyOGUwY2IzYWE4ZmYxMjVhNzRhZjIxYTExZGZkMTI2MWE5MmJlMGQ3IiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS5ncmlkbW9kdWxlLmRsbCI6ICI3Yzk5ZmY3MWFmYTBiZTExMmUwNGFlMDBiYmI5MDdkNWU1NDY2YjczZDVjMmNhZWRmNmYyZDg5YjE0ZjYwODQzIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS5ob3RyZWxvYWRtb2R1bGUuZGxsIjogImU3Y2ViNTg1MWZkMTg1ZTA2OTNlZmFkNWQ3ZDM4MzE4NzZiNDdjM2VhNWYyMjkzYTdhNjFmMjJmYjM3MTIwMDAiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLmltYWdlY29udmVyc2lvbm1vZHVsZS5kbGwiOiAiODA5ZDA0ZjNlY2VmODJjODFiNmVlNDFhNDI0ZGEzM2I4NzQ3MDZjNGU4OGE2YTNhNzU0NzMxMzI0OTI4NTgxYiIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUuaW1ndWltb2R1bGUuZGxsIjogImM5Y2Q0ZjQ4ZDM0NzdhZTFiMTU0MzEzYzllM2FlYTQxMzhjNTZkOWY1NzU4NjhiMTNlODRjNTM3Y2NiZTY3ZWUiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLmlucHV0bGVnYWN5bW9kdWxlLmRsbCI6ICI0ZjJjMTJkNDE5YTlkM2MzODc1YTI1ZWIzYzNmODY1ZDFiZTZjM2IxZjcxMzUwZjJmMTNmZjUxNjU4ZDVhNWU0IiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS5pbnB1dG1vZHVsZS5kbGwiOiAiM2VlMWJiYjlkMzk2NGNlZDRlODQ5MzUyZGNmMmE2ODdlODBjZDVkN2RjMzRiMDY3OThjYmMyY2M1YzM3YjYzZiIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUuanNvbnNlcmlhbGl6ZW1vZHVsZS5kbGwiOiAiMDIzN2UxMzk5Y2RhNDkxMGExYjBlZDU4YzBjMjRmNDRlZjFhYmI5MzhkY2Y5N2NjZWI5MTUxNWYzM2FhYWIxNCIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUubG9jYWxpemF0aW9ubW9kdWxlLmRsbCI6ICI3ZWJiNTU5NWJjZWUyNDQ5ZjAzOWRlNDg0ODk4Zjk2YTYyYTU4ZWE2NWYwMDc3N2NiNmZlOTk1MTdhYjc4OGY5IiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS5udmlkaWFtb2R1bGUuZGxsIjogImMwNGRiZjg3ODA3ZDQxYTg4OTJiNjQ2YzQxZjk3MTlkNzMzNjgyZDdmNDBjNmMyNDIxMGIwOWQ1ZWEyYjJhMzYiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLnBhcnRpY2xlc3lzdGVtbW9kdWxlLmRsbCI6ICJiMzU1ZmQ3YjJkMzJiZDViNTYyNDczNWYyMjFlZTIwMzY1ZDU2MDRlMDJkMzljNzMwZjBlMDI1YjU2M2FhZTNlIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS5wZXJmb3JtYW5jZXJlcG9ydGluZ21vZHVsZS5kbGwiOiAiN2NhYmFiYWQ2NzZkNTMzMGQ3MGFlMjU0NWZmNjc2NzZmYzY5ZDU0MGI4ZDBkMTFhZGE1YmYxYzk4NzFkOTQ5NiIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUucGh5c2ljczJkbW9kdWxlLmRsbCI6ICJkM2FhZWVlYjM5MGYyNjA1ZWVkYzhhN2YyOGYyNTlmNDJiNzMxOWJkN2Q3ODcwMTZkN2I3YzkyM2M2YTk1YzIyIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS5waHlzaWNzbW9kdWxlLmRsbCI6ICI1MTU2MjRjMzEyMDlmZWM1MzA0MDNhNzQwMjdjNTA0YzllMjJkNDg1NzhjNmM1YThkOTQxYTY1Mzk5YmI5MjE5IiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS5wcm9maWxlcm1vZHVsZS5kbGwiOiAiNTY4YzcxMDY4MGE1YTJkNDYxYjAyYzRlMTc3M2NiNmQ3NjY3YTE2ZWZjZThiYWNhMWY4MTkzZmM2NzI0MzhmYyIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUucnVudGltZWluaXRpYWxpemVvbmxvYWRtYW5hZ2VyaW5pdGlhbGl6ZXJtb2R1bGUuZGxsIjogIjE4ZDc5NzJmYzRmOWVmZjdjYjlkNGIwMTEwMzJlMjk4N2QyNmEzZWRkMjEyMGU1YTRkNzFmZjhlOTdkZjkwY2QiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLnNjcmVlbmNhcHR1cmVtb2R1bGUuZGxsIjogIjg2MDVlYTExZTU0NzZmZTBhYmRmNDAxODRlNDY1OGI3MDdmZjdlNWQ5Mzg4NTc5MTg4OTU4Y2NjOWZmMDljNWYiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLnNoYXJlZGludGVybmFsc21vZHVsZS5kbGwiOiAiMDUzZDMyYjgyZDAzNTM2OWNiMDMzMTM3ZDQ0ZTY3NWMyM2RlMTJlYmVkZjdlNWIzZTFkZmE1MGU0NDQ2Y2E1NiIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUuc3ByaXRlbWFza21vZHVsZS5kbGwiOiAiNDBjMjYyMTdhNzY3MTAzYjk5YWY2NjI2MmQwYjc1NTQwMGFhMTg5MTI5M2RlMzFjODEwZDIzY2IyOTczMzJmZSIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUuc3ByaXRlc2hhcGVtb2R1bGUuZGxsIjogIjhiZjkwZWRkNTI3ZGE3MGZmNmNmNDVkN2RhYTU0YjgwNTQzN2QzYTg0YzQyN2QwN2U2YTkxODU5MWIzNTMxYTkiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLnN0cmVhbWluZ21vZHVsZS5kbGwiOiAiYjUxNjQ4Mzc4NjViZWJhYWVmM2M4MTM5YWJiZjg3YTkyZjNmOWIyODM0ZjRhOGY1NWI1N2FjNDg0MjljZjI2NiIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUuc3Vic3RhbmNlbW9kdWxlLmRsbCI6ICJkNjRlZDdkODcyZWJkMTI3MWU1MzFlMzBlYzAyNjA3NDJkZjY0NmVmYWQzNzc4MzUyZjFhZmExNDJjMDg0YjUyIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS5zdWJzeXN0ZW1zbW9kdWxlLmRsbCI6ICJjMDQ2YWRlYTgwOTQ2MTJmNDkxM2Q4ZDViOTJiMmNjNDJhNWQ1ODA1ZWMzYTYzMWQzZmRiNzIxOWY5NmQxMDkyIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS50ZXJyYWlubW9kdWxlLmRsbCI6ICJlMTY0NzlkYmNhYzc1OTA4ZTYxNGRhYTc2NzJjZjRiMDExM2E3ODE0NDljYmI1NWJjMWFmNThiMDQzMzRmNzY0IiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS50ZXJyYWlucGh5c2ljc21vZHVsZS5kbGwiOiAiNDBhNTQ5ZmE4NmQ3ODdmMjI3ZTMyMGFhOTlmODUyMjc0MjFmYzQ3NDM5ZTNjYjVmNTVlZDY2NTYxZTk2ODQ3MyIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUudGV4dGNvcmVmb250ZW5naW5lbW9kdWxlLmRsbCI6ICIxN2EyZjkwZTZkY2NiNjgxODc3ZjIyOWJmZDZlZGZhMjk3ZGEyNzZhZjQ4MWQ1MGJjZTk0MzcxZGRmYjY4YTJjIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS50ZXh0Y29yZXRleHRlbmdpbmVtb2R1bGUuZGxsIjogImMwYzViNzM1NjI4ZjRiOTZlYTdjNWI1YjA5MDRlYTZkMGVlYWU0MmQwNThhMWNkNTRkZTFhYzYxMzNlYjliMjciLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLnRleHRyZW5kZXJpbmdtb2R1bGUuZGxsIjogIjVkYjcwNWY0NjBhMDk2NjMxYzZiMDVlNTI5Y2M2YmNjZjM3YTU3MGE0NzZkYzU0NzQzMTlhY2JmNzIxN2Q2MDMiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLnRpbGVtYXBtb2R1bGUuZGxsIjogIjE0ZDEyZDk3ODE4YzYyMmQ5M2E1YTdiNzIxNDQ4ZDdiYmEwYjI5NzJiZDI0OTkxMWQzNDU4ZGMzZmMwMWYzYzQiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLnRsc21vZHVsZS5kbGwiOiAiMzI3OGQwMTU3N2I4ZjlmOWUwNmU1MTQ2YzZiNmJjNDgwNTI2OTE4ODA4ZGU4YTZkNGM2MzJmNjNjYTcwMjZlNyIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUudWkuZGxsIjogIjhjZmE5N2QzMWQ0Y2UyMDFkMzcxNGNkODRiNzIyMDJjMDQzNDQ0MjA5ZmNiMDM4OTgwNWNkMzZmYjIyMTY2M2QiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLnVpZWxlbWVudHNtb2R1bGUuZGxsIjogIjAyMzc1MzcwZTQyMDBiODAxODJjNDk2Yjk2OTRmZWJhMTE4ZmViMzg3YjA4MTlkNWE0ZTI4YThkOWJjMWE1MjAiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLnVpZWxlbWVudHNuYXRpdmVtb2R1bGUuZGxsIjogImI0Y2Q2MWJlNTRiZmQ3NjU1ZmU1ZmY1MmZjYWYxYmNlZTM5MWRiYjIxNDc5NDM2MDAyNjc1ODYwNGUxNTQ3NzgiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLnVpbW9kdWxlLmRsbCI6ICI0NGRlNzQ3NGMyNmM0NWY3YWEwMWY3MTRiMDcxZTliMGZiY2QyMmEwNjEwYmFkZDc4ZDA2YWZhMzEzNTcyYWZhIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS51aXdpZGdldHNtb2R1bGUuZGxsIjogIjA0MTUyNGI1MjlmZTkyNjc4NjkyYTNkYzRkYzcxZGFkMGExMzMyNjFjMTNhYzE3NTEwZTczNzkyN2Y3MmVjNzciLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLnVtYnJhbW9kdWxlLmRsbCI6ICIxYmM1ZDA1NjQzZmRlNTkwMTg0YWUxYWE1MDNmYTk5NTEyNGU1MGUwOTEyNWI0ZmQxN2ZhMDUyYWNlMTU3MTczIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS51bmV0bW9kdWxlLmRsbCI6ICIxOWQzODc3NDVmZDYxOTNlNjNhOWI4YWUzOGFmYmYwOTE4OTliYmM0MjZjMDI5MGIzZWQ1OGY2ODYwMGQ3NWJlIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS51bml0eWFuYWx5dGljc2NvbW1vbm1vZHVsZS5kbGwiOiAiODAyMGJjMTM5ZGIwMDJkMDAwNmM5ZjdmOTE5ODVhNzk4OTBiYTJkMTZlY2ExOTM3MjQ0ODA0OTFhZGUwYTZkOCIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUudW5pdHlhbmFseXRpY3Ntb2R1bGUuZGxsIjogIjZlYjkyMWZiNTg5YTlhYTg3ODBmM2UzNWUyYWY1NzJkYzBkZDlkOGNhMjdhMmZkNTEyNDRmOWRhOTYzMmRlZGEiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLnVuaXR5Y29ubmVjdG1vZHVsZS5kbGwiOiAiMDEzODIzOGYzYTlmODkyMmYyYWJkODA4ZDE0YTUwNzhmMzNlNjFjMjZkM2E5MjNiNDNiYzhhYTUyNDBmNzg3MCIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUudW5pdHljdXJsbW9kdWxlLmRsbCI6ICI0MWY0M2Y2MzhlNTJhZDRhNGNiMDIyMThmMzgzNzA0ZGE0YTBhMTU5MjZlODY0MzA3Y2E4OGQ4NWQzNTgzN2ZmIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS51bml0eXRlc3Rwcm90b2NvbG1vZHVsZS5kbGwiOiAiYjY4NjhmNGViMDQ2ZmQ1YWE1ZjU3NGNmNDJiNTM5MTAyODRjYTM1NGM3NWVhZjI2NmNmN2U4YTgwZTk4MjEzNyIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUudW5pdHl3ZWJyZXF1ZXN0YXNzZXRidW5kbGVtb2R1bGUuZGxsIjogImUwNmZkM2Q5ZmRiOGQ2ODQzNjYxZDM2NTQ1NmJjYWMwN2Q3NmMwOTkxZTk3N2ZjNTQ2YjU3NzZlZmE5MWQ2N2YiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLnVuaXR5d2VicmVxdWVzdGF1ZGlvbW9kdWxlLmRsbCI6ICI5ODFhNjkxNDA5YTFmNGZjNjNhNzBhMWViNWIwZDMyZTBmMjAyOWVkNzdiMjU1ZDlmMjRmNzdmZThkZDI2YmZjIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS51bml0eXdlYnJlcXVlc3Rtb2R1bGUuZGxsIjogImRkZDQzNDcxZjU3MWUyMWYwOWFjMzE5NzI4MTZkODkyOGNiNTY4N2Y4OWQzODM4NDFjZTZlOGRlOTU3YzFlZTAiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLnVuaXR5d2VicmVxdWVzdHRleHR1cmVtb2R1bGUuZGxsIjogIjA2NzgwOGI4ZDRhNjNmYjBiZTRjMzI2MzZkMGY0ODEyMTc0OTBkOTI0NjFjOWY3ODRmZGE4NGExNGRlNGQ5YzgiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLnVuaXR5d2VicmVxdWVzdHd3d21vZHVsZS5kbGwiOiAiNjgzZDY2YjRmZDlmOTMzMjA0NzZhNTgwMmNlNzQ0NGE4MDE3ZTFiOWUyNWJlNzdjYjNmNjFkNmMzMDFkNDFiNCIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUudmVoaWNsZXNtb2R1bGUuZGxsIjogIjg4OGU1NjIwZTMwNzI3MmY0ODM2NTJiOWM3NzQyYmQwZTI4NTlhNGEwY2Q5YWM1YmM3NmI5ZDA0NzdkNzI2ODYiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLnZmeG1vZHVsZS5kbGwiOiAiYTU3MGE2ZDZjY2U3NWQ3MmVlZDlhNzQzMGIyMThiN2M3NjBhZThlYmFjZDUyZWRiMzU1Y2JiZjg5ZDVhZGNiZiIsDQogICIuLlxcbWFuYWdlZFxcdW5pdHllbmdpbmUudmlkZW9tb2R1bGUuZGxsIjogIjdhMDM2ODQ1ZTM5M2ZiMDUxNWNhZTRkNWQxNjU2OTU5MWNlMDNkMWI5ODcyYWNhMjhkNWQxNWE4M2I5MzA5OGMiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLnZpcnR1YWx0ZXh0dXJpbmdtb2R1bGUuZGxsIjogImM1Y2Q1OTVlZTE4YTYyZjZiZWE1NDczMjBiNzFlOWJkMzM5MjcwZWExMmFhMzQ5MmMwMjRjNzQzZDY0M2RlNWQiLA0KICAiLi5cXG1hbmFnZWRcXHVuaXR5ZW5naW5lLnZybW9kdWxlLmRsbCI6ICI0YWM0MzJhNzBmMTgwNmQyNjA2ZjcxYjBhZGJkNDdmMmNmNjgxNTM5NzgwNGQwNmZmMzcxZmZjNWQxZThhY2IxIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS53aW5kbW9kdWxlLmRsbCI6ICI1NDY2MGE5YTU5NDg0YTM5YWIyN2YxYmRiZTY5MmI0ODYxN2Q2ZTVhN2IyZWE0ZmIzYTIzYmU1YTk4YTRmMjRiIiwNCiAgIi4uXFxtYW5hZ2VkXFx1bml0eWVuZ2luZS54cm1vZHVsZS5kbGwiOiAiMzFkZDFhNGYxYWFlZTBlM2ZiZGE3MWU2ZTY5ZTljMWI0ZGQzNTNjZGRkMDBjZWFhN2ZjZDY4YjU5ODA4NWI5YSIsDQogICIuLlxccmVzb3VyY2VzXFx1bml0eSBkZWZhdWx0IHJlc291cmNlcyI6ICJmOGIzOTMyZmIyMTIwYjA4N2IxNTlhODFhN2VkYTM2OTk5OTcyZTE1ZGMwOGRkYzJlMTA1ZGRmYTg5ZTgyZTQzIiwNCiAgIi4uXFxyZXNvdXJjZXNcXHVuaXR5X2J1aWx0aW5fZXh0cmEiOiAiOTk3MWU2M2EzNmFmMmFhNDQzOGQwZmRkZjU4NTUyZWUwZDRjY2I4M2UxYzhkNmM4NTlhMTZkMDBiOGI1MGZjYyIsDQogICJjb3Zlci5wbmciOiAiNzY4ZjBmMjE5OTlmNjU0NzMxYzMyZDM4OGEyMWY3NzY1NDY0MzgxZDkyODZjNzEwOWRlZjg4NTJlMDIxNzhlMCIsDQogICJmYXVsdG9wdGlvbnMuanNvbiI6ICI2ZmQzZjQ3ZDNmYmY2MmMwZjAyNDQzYzU0NWQ1ZTY4NTk0MmE4YzI4ZmY0NzE4YWVkMmMyZDZiMGRiNWU2YmY5IiwNCiAgImZhdWx0dG9tb2RlbC5qc29uIjogImQzNjYzYWY5M2RlYTJjNmRlMGYxMmIxMzFlMGQxZTUyNGExYjc3OWI5MmVlNGE5OWY4YmEwZjgwY2ZkMTU1NTMiLA0KICAid29ya29yZGVyYW5kd29ya3RpY2tldC5qc29uIjogIjdhNWUwMGMxZDk5OTVlNmM1MDliNGYxY2FmNmQ0MmUxNjA1MGIxZmRhZTBmMzMwMDcwYzg4NWEyMmIzYzRjMTYiLA0KICAiLi5cXHBsdWdpbnNcXHg4Nl82NFxcbGliX2J1cnN0X2dlbmVyYXRlZC5kbGwiOiAiMjI1ZWM0YjRiNTliN2FhMWMwZmQ0OTYzNThiNGJjNjczOWZlNGNiY2E2YjE4MzI2Mjc3MDAzZGM5NTZmZmMxOSIsDQogICJjb25maWcvdXJsY29uZmlnLnR4dCI6ICI5MWRjZDdiYmE3OWJlZGU5ZTUwNjljNTJjOGRjNjAzOGIxZTQyMTUzNjY2MDk4Mjc2MGM3MDFmNmQ5MjY3ZjA5IiwNCiAgInNldHRpbmcv5bel5YW35p2Q5paZLnhtbCI6ICJiZDRkMWNlYjg4NjI5MjVjNTY1NDU3MzkxZTI0OTIxODNjNDI4YjYwM2U4OWFiYWUyMjJkNjgwNWZmY2YyNzZmIiwNCiAgInNldHRpbmcv6K6+5aSH57G75Z6LLnhtbCI6ICI3MjhiNzQ4NDVjZjIzNGU0MjllYTE2MzUyOTA0ZjM0ZDBkYTY2MGJhNTU1M2MyM2UxNDc5Y2E3ZTNlYzYwMmE3IiwNCiAgIi4uXFwuLlxcYXBwX2J1cnN0ZGVidWdpbmZvcm1hdGlvbl9kb25vdHNoaXBcXGRhdGFcXHBsdWdpbnNcXHg4Nl82NFxcbGliX2J1cnN0X2dlbmVyYXRlZC50eHQiOiAiMWU0OWUwMWI5OWY0NjQ4MTczNzYxNWRhNDVhMmJkNzZlZTY3ZjQ1YjQ5MmI3Mzg3Mzg4YmJiMDc2ZTVhOTFjYyIsDQogICJzZXR0aW5nL+enkeebri8xMDAwMi8xMDAwMl8yMDAyX+iuoemHj+ijhee9rui9ruaNoi54bWwiOiAiOTYxNjNkMDVmN2ZkNjU0N2I5YTFlYzEzZGRmYmYwZTE2N2E3ZTQyM2FmYWU5MTgyMmJlYmRkY2M2MjVjMzE0MCIsDQogICJzZXR0aW5nL+enkeebri8xMDAwMi8xMDAwMl8yMDA2X+ebtOaOpeaOpeWFpeW8j+eUteiDveihqOeOsOWcuuajgOmqjC54bWwiOiAiM2Q2OWI4YjViNTk5NmUxNWMzOTgzMWNmM2Q2NDU1Y2ExMDdjODRjODgyOGIzNWRkZjE5YWY2YjI5OTZmMThhZSINCn0= \ No newline at end of file diff --git a/Assets/StreamingAssets/sec_code.json.meta b/Assets/StreamingAssets/sec_code.json.meta new file mode 100644 index 0000000..bad75f5 --- /dev/null +++ b/Assets/StreamingAssets/sec_code.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a77e4b6d7c66a96438502b3edb7b6f19 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Template/Scripts/HQB/PathUtils.cs b/Assets/Template/Scripts/HQB/PathUtils.cs new file mode 100644 index 0000000..78ed108 --- /dev/null +++ b/Assets/Template/Scripts/HQB/PathUtils.cs @@ -0,0 +1,59 @@ +using UnityEngine; +using System.IO; +using System; + +public static class PathUtils +{ + // 核心方法:获取相对路径(自动处理路径格式) + public static string GetRelativeToStreamingAssets(string targetPath, bool allowOutside = false) + { + string streamingAssetsPath = Application.streamingAssetsPath; +#if UNITY_EDITOR + streamingAssetsPath = "E:\\HQB\\文件打包\\0402\\10002\\App_Data\\StreamingAssets"; +#endif + // 规范化路径格式(统一斜杠和大小写) + string normalizedBase = NormalizePath(streamingAssetsPath); + string normalizedTarget = NormalizePath(targetPath); + + // 检查是否在StreamingAssets目录下 + bool isInside = normalizedTarget.StartsWith(normalizedBase, StringComparison.OrdinalIgnoreCase); + + if (isInside) + { + // 直接截取子路径 + return normalizedTarget.Substring(normalizedBase.Length + 1); + } + else if (allowOutside) + { + // 使用Uri计算可能包含上级目录的相对路径 + return GetRelativePathUsingUri(normalizedBase, normalizedTarget); + } + else + { + Debug.LogError($"路径不在StreamingAssets下: {targetPath}"); + return null; + } + } + + // 路径规范化工具 + private static string NormalizePath(string path) + { + return Path.GetFullPath(path) + .Replace('\\', '/') + .TrimEnd('/') + .ToLower(); // 根据平台需求调整大小写敏感 + } + + // 使用Uri计算相对路径(支持跨目录) + private static string GetRelativePathUsingUri(string basePath, string targetPath) + { + var baseUri = new Uri(basePath + "/"); + var targetUri = new Uri(targetPath); + + Uri relativeUri = baseUri.MakeRelativeUri(targetUri); + string relativePath = Uri.UnescapeDataString(relativeUri.ToString()) + .Replace('/', Path.DirectorySeparatorChar); + + return relativePath; + } +} \ No newline at end of file diff --git a/Assets/Template/Scripts/HQB/PathUtils.cs.meta b/Assets/Template/Scripts/HQB/PathUtils.cs.meta new file mode 100644 index 0000000..7927133 --- /dev/null +++ b/Assets/Template/Scripts/HQB/PathUtils.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7f2154c9afd40fa4fa3f47383dfcb4d6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Template/Scripts/HQB/SecurityCheck.cs b/Assets/Template/Scripts/HQB/SecurityCheck.cs new file mode 100644 index 0000000..e195d65 --- /dev/null +++ b/Assets/Template/Scripts/HQB/SecurityCheck.cs @@ -0,0 +1,195 @@ +using Newtonsoft.Json; +using System.Collections; +using System; +using System.Collections.Generic; +using System.IO; +using UnityEngine; +using UnityEngine.UI; +using System.Security.Cryptography; +using Sirenix.Utilities; +using System.Security.Policy; +using System.Text; + +public class SecurityCheck : MonoBehaviour +{ + private string hashFileName = "sec_code.json";// 用于存储文件路径和对应哈希值的字典 + private Dictionary AS_fileHashes = new Dictionary();//文件中Hash + private Dictionary fileHashes = new Dictionary();//当前文件Hash + private string appFolderPath = Application.streamingAssetsPath + "\\..\\..\\"; + public List skip_files = new List();//读取跳过的文件 + [HideInInspector] + public int total = 0;//总文件数量 + [HideInInspector] + public int read = 0; + [HideInInspector] + public bool check_finish = false; + [HideInInspector] + public bool result = false; + + public static SecurityCheck instance; + + List files = new List(); + + [HideInInspector] + public string debugStr = ""; + + + // 获取文件哈希值的方法 + private string GetHash(string path) + { + using (var hash = SHA256.Create()) + using (var stream = new FileStream(path, FileMode.Open, FileAccess.Read)) + { + byte[] hashBytes = hash.ComputeHash(stream); + return BitConverter.ToString(hashBytes).Replace("-", "").ToLower(); + } + } + + IEnumerator CalculateHashes(List files) + { + if (AS_fileHashes == null || AS_fileHashes.Count == 0)//没有校验文件 + { + Debug.Log("缺少校验文件"); + result = false; + check_finish = true; + yield break; + + } + if (files.Count != AS_fileHashes.Count) + { + Debug.Log("文件数量不对"); +#if UNITY_EDITOR + foreach (var item in files) + { + bool find = false; + string f_name = Path.GetFileName(item).ToLower(); + foreach (var item2 in AS_fileHashes) + { + //string f_name2 = Path.GetFileName(y.Key); + //Debug.Log("===>" + f_name); + if (item2.Key.Contains(f_name)) + { + find = true; + break; + } + } + if (!find) + { + Debug.Log("缺少文件:" + f_name); + } + } +#endif + result = false; + check_finish = true; + yield break; + } + check_finish = false; + total = files.Count; + read = 0; + foreach (string filePath in files) + { + try + { + string absolutePath = Path.GetFullPath(filePath); + string hash = GetHash(absolutePath); + string relativePath = PathUtils.GetRelativeToStreamingAssets(absolutePath, true); + debugStr = relativePath; + + if (!AS_fileHashes.ContainsKey(relativePath) || !hash.Equals(AS_fileHashes[relativePath])) + { + if (!AS_fileHashes.ContainsKey(relativePath)) + Debug.Log("缺少文件:" + absolutePath + "=>" + relativePath); + else + Debug.Log("值不对:" + relativePath + "\n" + hash + "\n" + AS_fileHashes[relativePath]); + //Debug.LogError($"MD5错误"); + result = false; + check_finish = true; + yield break; + } + //} + //fileHashes[filePath] = hash; + + } + catch (Exception ex) + { + Debug.LogError($"Error calculating hash for file {filePath}: {ex.Message}"); + result = false; + check_finish = true; + yield break; + } + read++; + yield return null; + } + result = true; + check_finish = true; + } + + private void Awake() + { + instance = this; + check_finish = false; + fileHashes.Clear(); + AS_fileHashes.Clear(); + files.Clear(); + AS_fileHashes = LoadHashesFromJson(Application.streamingAssetsPath + "\\" + hashFileName); +#if UNITY_EDITOR + appFolderPath = "E:\\HQB\\文件打包\\0402\\10002\\"; +#endif + try + { + string[] allFiles = Directory.GetFiles(appFolderPath, "*", SearchOption.AllDirectories); + allFiles.ForEach(x => + { + bool skip = false; + foreach (var item in skip_files) + { + if (x.Contains(item.Trim())) + { + skip = true; + break; + } + } + if (!skip) + files.Add(x); + }); + total = files.Count; + } + catch (Exception ex) + { + Debug.LogError("校验文件读取故障:" + ex.Message); + } + StartCoroutine(CalculateHashes(files)); + } + + public string DecodeFromBase64(string encoded) + { + byte[] encodedBytes = Convert.FromBase64String(encoded); + return Encoding.UTF8.GetString(encodedBytes); + } + + private Dictionary LoadHashesFromJson(string filePath) + { + if (!File.Exists(filePath)) + { + Debug.LogError($"File not found at path: {filePath}"); + + return null; + } + + try + { + string json64 = File.ReadAllText(filePath); + string json = DecodeFromBase64(json64); + Dictionary hashes = JsonConvert.DeserializeObject>(json); + + Debug.Log($"Hashes loaded from {filePath}"); + return hashes; + } + catch (Exception ex) + { + Debug.LogError($"Failed to load hashes from {filePath}: {ex.Message}"); + return null; + } + } + +} diff --git a/Assets/Template/Scripts/HQB/SecurityCheck.cs.meta b/Assets/Template/Scripts/HQB/SecurityCheck.cs.meta new file mode 100644 index 0000000..8f9fc03 --- /dev/null +++ b/Assets/Template/Scripts/HQB/SecurityCheck.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6a7f51fc436825446bc95d55083e40b7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Template/Scripts/Project/Manager/GameManager.cs b/Assets/Template/Scripts/Project/Manager/GameManager.cs index 14f5b1d..653c31f 100644 --- a/Assets/Template/Scripts/Project/Manager/GameManager.cs +++ b/Assets/Template/Scripts/Project/Manager/GameManager.cs @@ -1,10 +1,8 @@ using Cysharp.Threading.Tasks; -using Newtonsoft.Json.Linq; using System; using System.Collections; using System.Collections.Generic; -using System.Reflection; -using System.Runtime.InteropServices.ComTypes; +using System.Diagnostics; using UnityEngine; /// @@ -202,14 +200,14 @@ public class GameManager : SingletonAutoMono } else { - Debug.Log("绉戠洰涓嶅"); + UnityEngine.Debug.Log("绉戠洰涓嶅"); } } else { UIMgr.ShowPanel(E_UI_Layer.System, (p) => { p.Init("閿欒", "璇曞嵎鏁版嵁娌℃湁鑾峰彇鍒", E_MessageType.Warning, () => { }); }); - Debug.Log("鏁版嵁涓嶅"); + UnityEngine.Debug.Log("鏁版嵁涓嶅"); } //HQB 1106 缃戠粶鍔犺浇鏁呴殰鏁版嵁 @@ -262,6 +260,30 @@ public class GameManager : SingletonAutoMono InitialTaskUIShow.Instance.Init(); //HQB } + + IEnumerator AsyncLoadScene(bool isReset = false) + { + while(SecurityCheck.instance.check_finish) + yield return null; + if (SecurityCheck.instance.result) + { + EventMgr.EventTrigger(Enum_EventType.UpdateProgress, 0.4f); + ShowUIPanelAndLoadScene(isReset); + } + else + { + + UIMgr.ShowPanel(E_UI_Layer.System, + (p) => { p.Init("閿欒", "瀹夊叏妫鏌ュけ璐ワ紝璇烽噸鏂板惎鍔ㄥ簲鐢紒", E_MessageType.Warning, + () => { + UnityEngine.Debug.Log("鐖嗕簡锛"); + Application.Quit(); + }); }); + + } + } + + // ReSharper disable Unity.PerformanceAnalysis /// ///棣栨鍔犺浇鍜岃繑鍥炴ā寮忛夋嫨鐣岄潰 /// @@ -300,7 +322,7 @@ public class GameManager : SingletonAutoMono { GameManager.RunModelMgr.startTime = DateTime.Now; GameManager.NetMgr.setTime(); - Debug.Log("寮濮嬭鏃讹細" + GameManager.RunModelMgr.startTime.ToString()); + UnityEngine.Debug.Log("寮濮嬭鏃讹細" + GameManager.RunModelMgr.startTime.ToString()); } }); return; @@ -351,7 +373,7 @@ public class GameManager : SingletonAutoMono { GameManager.RunModelMgr.startTime = DateTime.Now; GameManager.NetMgr.setTime(); - Debug.Log("寮濮嬭鏃讹細" + GameManager.RunModelMgr.startTime.ToString()); + UnityEngine.Debug.Log("寮濮嬭鏃讹細" + GameManager.RunModelMgr.startTime.ToString()); } GameManager.RunModelMgr.isOnceOfficeAni = true; if (id > 2) @@ -386,7 +408,7 @@ public class GameManager : SingletonAutoMono EventMgr.EventTrigger(Enum_EventType.UpdateProgress, 0.9f); }); } - + StartCoroutine(AsyncSecurityCheck()); } private void InitializationUI() { @@ -397,21 +419,31 @@ public class GameManager : SingletonAutoMono panel.Init(GameManager.ProcessMgr.subProcessId); }); } - if (GameManager.RunModelMgr.ModeType == E_ModeType.Study) - { - GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchSubProcessStepTriggerID, ProcessManager.Instance.subProcessStepTriggerID); - GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchSubProcess, GameManager.ProcessMgr.subProcessId); - } - if (!GameManager.UIMgr.GetPanel()) - { - GameManager.UIMgr.ShowPanel(E_UI_Layer.Mid, (panel) => - { - panel.Init(); - GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchScene, GameManager.RunModelMgr.SceneType); - }); - } - //firstPersonController.gameObject.SetActive(true); } + + + IEnumerator AsyncSecurityCheck() + { + while (!SecurityCheck.instance.check_finish) + { + //debugInfo = "check_finish"; + yield return null; + } + + while (Process.GetProcessesByName("AppStart").Length != 0) + { + //debugInfo = "AppStart"; + yield return null; + } + EventMgr.EventTrigger(Enum_EventType.UpdateProgress, 0.1f); + if (!SecurityCheck.instance.result) + { + //debugInfo = "okkkk"; + UnityEngine.Debug.LogError("瀹夊叏妫鏌ュけ璐ワ紝璇烽噸鏂板惎鍔ㄥ簲鐢紒"); + Application.Quit(); + } + } + /// /// 缁冧範,閲嶆柊缁冧範浼氳皟鐢 /// @@ -435,12 +467,26 @@ public class GameManager : SingletonAutoMono //if (GameManager.RunModelMgr.ModeType != E_ModeType.Study) { GameManager.RunModelMgr.startTime = DateTime.Now; - Debug.Log("寮濮嬭鏃讹細" + GameManager.RunModelMgr.startTime.ToString()); + UnityEngine.Debug.Log("寮濮嬭鏃讹細" + GameManager.RunModelMgr.startTime.ToString()); } }); }); } +//#if UNITY_EDITOR +// void OnGUI() +// { +// // 璁剧疆GUI鏍峰紡锛堝彲閫夛級 +// GUIStyle style = new GUIStyle(); +// style.fontSize = 20; +// style.normal.textColor = Color.red; + +// // 鍦ㄥ睆骞曚笂缁樺埗璋冭瘯淇℃伅 +// GUILayout.Label(" " + SecurityCheck.instance.debugStr + "\n " + SecurityCheck.instance.read + "/" + SecurityCheck.instance.total, style); +// GUILayout.Label(" " + debugInfo, style); +// } +//#endif + /// /// 瀛︿範璋冪敤 /// @@ -483,7 +529,7 @@ public class GameManager : SingletonAutoMono UIMgr.GetPanel().ShowMe(); ScoreManager.instance.ReInit(); RunModelMgr.startTime = DateTime.Now; - Debug.Log("閲嶇疆寮濮嬫椂闂"); + UnityEngine.Debug.Log("閲嶇疆寮濮嬫椂闂"); RunModelMgr.isOnceOfficeAni = false; InitialTaskUIShow.Instance.Init(); //HQB 杩涘叆鍦烘櫙寮瑰嚭浠诲姟璇存槑 } @@ -491,10 +537,10 @@ public class GameManager : SingletonAutoMono public async void OnRefreshToken() { while (true) - { - Debug.Log("NetMgr.Get(tokenUrl)11111111"); + { + UnityEngine.Debug.Log("NetMgr.Get(tokenUrl)11111111"); await NetMgr.Get(tokenUrl); - Debug.Log("NetMgr.Get(tokenUrl)"); + UnityEngine.Debug.Log("NetMgr.Get(tokenUrl)"); await UniTask.Delay(300000); } }