using UnityEngine; using System.Collections; using System.IO; using FairyGUI; using MiniJSON; using UnityEngine.Networking; using taurus.unity; using System.Text; using System; using taurus.client; public class VerCheck : MonoBehaviour { GComponent _version_view; public static VerCheck Instance { get; private set; } public securityConnection conn; public bool isGFF = false; public bool isDXYGFF = true; void Awake() { Instance = this; } // Use this for initialization void Start() { GameApplication.Instance.isAndroid64bit = IsAndroid64bit(); CreateVersionView(); StartCoroutine(CheckNet()); } internal void ResetGame() { CreateVersionView(); StartCoroutine(__WaitReset()); } IEnumerator __WaitReset() { var _luaClient = GameApplication.Instance.GetComponent(); UnityEngine.Object.Destroy(_luaClient); System.GC.Collect(); FontManager.Clear(); UIPackage.RemoveAllPackages(); ResourcesManager.DestroyAll(); CreateVersionView(); yield return null; StartCoroutine(CheckNet()); } void CreateVersionView() { ResourcesManager.ReadAssetConfig("base/embed"); UIPackage.AddPackage("base/embed/ui/Hotupdate"); if (_version_view != null) _version_view.Dispose(); _version_view = null; _version_view = UIPackage.CreateObjectFromURL("ui://Hotupdate/Version").asCom; GRoot.inst.AddChildAt(_version_view,0); _version_view.width = GRoot.inst.width; _version_view.height = GRoot.inst.height; _version_view.x = (GRoot.inst.width - _version_view.width) / 2; Debug.LogError(Application.persistentDataPath); } public bool IsAndroid64bit() { #if UNITY_ANDROID && !UNITY_EDITOR if (IntPtr.Size == 8) { return true; } return false; #else return false; #endif } IEnumerator CheckNet() { string json_data = string.Empty; isDXYGFF= false; isGFF = false; //公用 string init_url = "http://8.148.219.235:19898/NewFK/config/init2_1.json"; if (isGFF==false&&isDXYGFF==false) { } else { if (isGFF) { int rc = AppVest.init("8ef91e7e799b5851a8ce810aae0c697c", "U5ayF4voVvRh1ElqBIVUCR9dSFskPGvCkfreFxdxzi39hoU0faqZWjFzC90Cta50egaQatCbPxm6XTlvi2+o++PrSozoZ+HUUY0y8tBloMWaOYQX59SAhjA/DyIDHJgGbE1I"); if (rc != 0) { // Debug.LogError("init failed"); ShowTip("GF init failed!", () => { StartCoroutine(CheckNet()); }); } // Debug.LogError("init successful"); conn.ip = ""; conn.port = 0; int rc1 = AppVest.getServerIPAndPort(ref conn, "", 5021); if (rc1 != 0) { ShowTip("getServerIPAndPort failed!", () => { StartCoroutine(CheckNet()); }); yield break; } } else { string key = "d6MHAIoszMfVxBgAAMFHsH2qndba+R2gZricU3IW0sKSDL00U3abXVpHTgKYP1W5FsYcvXfRUHK7ZFDRjnhVviePGNcDEl0HDkB8k6obByZi4T2r+RRKwLtLeO0lyc3g8Y7ZCSZ9tgNoFa82VLvGoF0pbqs7qMQTRFcct5lv4ENxmqEcQP3TDGoXF5W3Pubmf34dRy1wV+qipa5yidyi1REw/0tkcoOJAGo33hASot9Qzj9BBMOMS8/DzozVYadPvuF58eFpV05uzlDMYFUXYPRkMTkD+tQk+Lx+vG9wvDE5TgVHf+ZntF4xY+WeHF/2bZ6uF6sH8z/0/6sUuYHI9Zssi64kswwIIYiXmq+K1nE359ZDPuE6bwN1IplsDL6NJdgmf6xxYfufUxP9iuSgneO2baBAHrRfjh6ODGF4jaV4Zs7RdKATOTvVMGYc4P+WfEALL51Guh2IZjc2pVlJNKS1cq0akAap+gqdPPneJMmg799CodthT5+0UG043DPeESNl4EPcOcNyBKo9yJ26bgezSYqYtGDSFF6j9ijrvQpjWc2EwzfNDSGZ6frfyIAOkR1m3Me5sqBDV7A3zbo4/ERt5yPbkldMy9mt4yGGNc1uHTTDcpXUmvpcqAKOKhXmPUtDWnk3eEDX029HyExhY9awvqMGtpZ/qvhkqLJBetYv1NDrYwxzSIumR8u1I2rHGu6z70SpST2cMXnbFXx0Y4DDfIzA8yqoA/uWJDdvdPMsXrl50Eed8XZqqqAz7AzobkSd1nV5C1JSB3jnGnU1BkdTbGibYS2FlXdFizmZkH2fLRD58q2PkadfMCLw+aFbBqZxDcO6pVvAycvccvgAsyUnNS35ykenXlC9Ue4wg1YdffG4Pb2jmkO/fHxIyMVRziUWbnJWc/yiJCJubzF829MxjaIhoGhRogIQAYQxlhKoOC8VqKoe6+yHhkiCCE7xaTs0mEh+LcAgFYd7GwyDhYC6+StKsMYqqKqOP8niUKtzJgW0P1ISKb0yssK4O7Sn3JYlfwJezLVKVC1aAYKKi53kzHAx6xgDPW+CadOACNVmURdqWRs2V8GVut8mTCgXcRWnhVpBLzuU5Wfvv8Uey54Ph3ui2bSVIej7D39ZXR4VP3FU7Dv3GnW9P+zXXa5W47MxWcd4aC7qiy3jR3dccnqbzPxm+VKhzCMJzoQXApeH+4DnP7FvVJNY5vZGx/pM+peMVAyESrNOmI3A6ZPvFmaAzzrFrYIlj0ApPIBgsPhdzMZa+adFJQJNvKLJNzMbBDRE5y77Y4XUT47X5FAFJS9WpL8UE4iyY/2nUXKB+iAdd5dEH9E4HDNjrHLyn8RFveQlB3W6oKWKk6V5f1fimfyIlsX65CmfyQmbQBvV71dO/QMDIiiLdggQkdpl0sJZiQ6971i6gH8w3uyOQ/kdu48E9LhB8RLpzfmU8e9oyw9PPFCxkuPyRPNQk2WNi2QaYNQ9NwPmFRwZxdgMnQo8bowrgVGPfFNYLBFvdvJUQkFP13LJHEJT8MEBKcTN8d+tlUEtJz9S1uB21LIVw+tQRos/rUVwEGFmZw6v6dta1s9dVNSuf3oulBgu0UVJaX2g1QysGWldIE4x82fudugdI6pgZcilOowdzT1Covhvrqy4NBMZX29Z1Sdx2AptTQxgqzCzChqRYxhzntOn4LTzmLqg4scCSwtJwdGcm8zSNBIJ3O429ySpa+GDmWyhkKcMi2VKjpkyXss1ZOwQDvFEzVwu8KWGR0RpfPLIDRILQStJ7o/wUc+g08cHAJjAhw0+9I0bCDHOwUWv4Kari4lsal9IPo6HkC8chactTETylQoTINaL20QmLVlFUQZJp3QdNnxkYPDZMbRBl/10jlSXqo5RIAqRIXxhaE84QOG6F2DeOy0clftChZjzR0y8CV5y5qAbGMyr4LisF33fvjCsyWd7idfcqtWgCRohGHPPBgF1PzoMJ7ILdV2XjmCwsLkpzeNlN7PY8oO0jtEY/VYVIR48AtUgRPaiGkVuedMJ0tLYRALar+87j+1J5rC+6jr7ENYRI24jaIjvvhx1QY2XR3/Zx6EsIUysIVFLykd5lSSDO2/y3bKnHG/Oh+fSY7CBIe0NBmZE/tXjLWEzk4xwGqpn3nyaYWMeyfe6ihqsfuZIWpHymOQrIu2+QgkQUE8ojxC0mV7QLzmIvsVSF35wkyxqSBJ8+pmIbrXQdjWbZZhAuII+NvqjQCHyT/A/BymUrGDi8vy44A36YHzdsFCGsjQBA15IkbqeqCuCX/zzNdOzIsos+cIOgczQ+MtrcG3Tkq4of3y7kjBdF6C7CyD+8+YIRjXuIraBt4k6oOBtSbYva3re3Etv5uTVUbK28Q8+ZCb20WAsp1sfcsPxpv+4L023fLa0HFawiA45UDFf83Qa7glSurG1K2NOmfjCbyJcusQqyQDlq6rJRw6Zfcc//bVp6C7ncmC/64NLIWjFwbcV4j3wQzaHfh5MJ3BcDxwTJup2dfA/KdVwLmW4b7af5flwRsqKB2ITZloJ4Zw2vUEwi/4HvN4PpHJdAv7URzc7errJq08QZN3JQ7oKB/hxLJbJVfw2izUX+QtOg6zR2XhTbjtf1HZEialb7IveUUWSFTkfiZovr2Qwei34UnRqQfroMxz/eDXtKINYlb1PqZh5mnhxoWgKfgy6EXwn99ry6/qZ3RTeUrzuE85IS/CS+B05+JhP+goOdXaq2yzoqjVWjJpd2m2RQ8QBzPEL9Ewcx//AE7K9MLYOkQ1IVBjQRGJq3LF/T0es5zI0FfDkke3pSqn3boJRISLPeB7e4G78seqiNJf/3Kc1fwi1UGIj31UnRExAoo86gfEp1WDKdKzxvOsWhJ5mwMqempciG+fBUXzLt2cVAjx4+rKuXJ1pBtjdafb5gyRXhXphHAT+1K4k/i9ULpvfk97xEnzqXFaO7GmUCSOyuoF3gZd0GutdqtS1KR4/5Th0ocOobnJHbgBhz7f4gEWnOIXHhcOlfZYn9bFkRTPemxf9QCxo4WlIHgPN5Yxf3e7+0Xnzm9eFwfruRzOiOVX+CvG8cyJS6n76lEc656jE0ZxNSTs3iBmYBpTKVCQLZgcgSxu4fUYIiQ82aHKCnQy3WgCpwrFuiOQjBwYfEn+Bn7HA6nLYtVlOYQ4yWGjA5gawfRt4tdk3FicETTGft3cdJ7Xknls+RvNBrXr99MgkzUFTBe7RepTs86F/NKfS1IkwvNFaT3DC5kiNQEWlA6N00a8mfMGVZu/FCf1qknxR77m3a32mtqTK8YSZq5Y5JcyS2cMx2GqfUqvQW4vnLkKoNMNs1+7DRTZqX0m2ZXzQXmGi4NEkovS9Lbc/Ft7/isXCuYFiCBjflyPhgC28Ed7I2IMbc2NGDQ00zg/HqTfGTvJNQvfGmpW8qVDx0mTzRsjP/t59Aw6UD3Co+hCPZSgk8sU6em2YSrY6GlNW42B0tpXJ/sJTHstNioFFzqJGOmuu/su+XX8gkIIUj3uhcetSJD4WmsO0m3iz6IBCn7fhqrAUswHZofwriLjib4N2y83bjY3T72swqAspPR5kbJzX1TwQlS+C5y2QPmJV8vx1GFStr0Nj8H81QkSXFNKZXIrdUrpyOhfhs3GCdwPuxNDzG5OskdE9flnkM2h4NwGgTZhMfuse8S0xhEWrRL8xyGGS9u5QeOl5qn5DjFx8g+CO4AdBiYeSHv1TQEQ86CswZt7+rTLPpk4M+DYf+7wmTvcsToo0mkS96tzlDgWCwKEYXRpDqloTji5pWqTOAlmEOKAvKxnydaoRIegQ8nSBYPZJ5PClZ5yWXR743wnKUdmtw/wvHcuAdCiTIOD7nyrer8siUg9sG4irsQfsMIPElY5OBB7Lpk4jbj7It1n54lXzN66bGjCTStBE/pCJdNFYEGymcCCLYiJz4+AxBUEfiJrVoiS0/lvq8RoAxfEJv8etFHjzBcXLbSGbG8pJuf1NWEJP/8XqldsRKHHygaj0qbj42epiu+jp9hC+Va06WIJZL0WOcQN82CrzndDjiiKrbCrU0mbir6YT9WO2EumliIe0JyH5ueoEby3Ybpeg8ZAibWCm91A0Zn5LQL48kI5XqQf7v1AUDzJjiIXMDSfqrpc8yFc/ZdazCCnnOYOIC3cDc7IHQFAMb1K+pJ89gfeC5Y1ziIyg+Fb0t0eUw45eL/uvqRYM9CqvindIettZDXWN/6EkNHbx5o8dkD6km5o3NF3kSAIGRtwPANgmc3Uk4Ca/om7H3xv66DnOwuVsDcQGX82iCakOt1zGiRxW8JZXY2ZuUHY3ZevRzsBgWM1c3vn+J286JI1fQ7q93i3J8syQK0OeL603Rgd43qUd8OQZNVY2hYvCwjJAwBz4JNzFLNwEKzR4PTSs/LNvNIwj1FaJP8Fh1sEf2Axsu5ZPlgB1o5uJdCyclAVMkqY/j86Fti6ewmTwZtSbSdmU2NuSCf/QnkIsH1wuwW8WXylTUnORSYdEy3w8c5+IykOEv2UNGgQZxBsvB92Bf72WUOiILeHUV8wLFNrSji5/X9Yyk2FbFmcmr3onc/rIBLdykpMRmynaKEaRfe3vk6eXHFnO0yLAsdnC4U8f255NBY/hnFcEduOHuAqR3a3//B2iNsiiXq6i7WSdF31QRqiXobob9VdvEiYJ4xgc3GGLIVAnsrDCATJkhGZMN0ahCWes4iAYuVRJc8l/AVTq23TMLDm9HMdKyQyh7k4qR4zFd8oaGnB3ycCBCaC/mX3EEkCM52mXXGanfH+yu+DhODaqaNWB5a42EQuHoP2ZlAnMWpu8nMm7gyE1vNiFWi9tS/NsCLPV77F6PHVzhPwWQxSOHKLED3DJ9FrLFtjcH314Rwa3vxkRlMhfyfzXKZHVj8vLgghT9uti7RcsTn0jN4SsAhxPQmcybPKDIWe6oJNSbD6vEWAaVODzKvTXP6b21upQMqqAdAvo8IUXW4GcSRcJwtSiqU8vtMgCka2IQF+SFw6wJp53N3F+io0LDpGctj+RY80HaRW+Ojti3tEDvG+gB2yxeShiByTgiP9JtJga/Uo5U7FkOhObJVABYvSG21CKYGlRssA0/qCFBAvOAfuV/nY6wHjrc8IC/ViQDo03Y7Z5Tifa9VSwCT1JjijrwwLf5NbIfl90aTW7s441cgl7k1cY1TSaMuOaeuWaDU/5vpA4FiHBwnU7CyS07+6G/eHZEsHbOH63Km+uw5jql9O/yyg0G3UGAd0L5edYA61pZi4NiBuOkevFRkea/zXUooP/VSOEch33Cy/9d8zEdZBwTzDeoCB5VvAJuOYFAQpARzvzzn0TJRpQQJ7FyJ6dLPVBH3DBjpmg/U5lcIrojPSJUeZBG4HesxS2UN4tHHLOcrOQ+coR5NCNwKQcSnWLyGQOfdwLe1lPL8qeFdaW2B2PsSFKjcPE54KiM4s1MwUKsGVdnpmwPNBxhY+hcFMHtPXfK4TlLj0UGN+MTu+juXBs2mC+2XnhlW6iADUCGgQNmA+Ot9t4fYrMVNh61VPpoYakYIVHgDg2vH473mO0xS/LLbWm/PnRV72xJIhOdvKhSxYdSsIjbVOzi3AWXTd/qi4XPKkW97d49u80qSAt1UynVj710NRyfvzUzZVZ5lDKMFifgn5jX5axC8hKqMZ52QVM4dyMRxnXweDb3oZnI2Bpd5ZpEjh11MvXznEQxP3R8mcQpoKP70Th/9mYgPQ457LIP8EKHd2JuvicZzJ/3/GcdCO1wKD6j8HafgKnku5af0H1i1o7Oq36jJR9C10pC5UGb/qN1HxJoA8WevaFnyjg1+l8xF8FCu+UMSoPTWniRR1ujsGdQz4moMbJCAG57PE9CCcRHC7tiwp1w7yFXL8tx3fOF1QEBMb8vZ7+Nb5i9EvZOE7Jz/Xz7nbar0Q5+mPekgv69r5v+YNs7VQnRJ/VOXnHCgGmxIQCDEWKx1lMTeDbH6gcz/tZgCTGxIEvBLNS6UTx74Fdi0TluEuweJLZy1ACxmDJjyWli8m6XGbzaUfaDnYQmbQDPRAEPflQj+ULckS16K0SiDMz89AxLwbQohAJRhav1EMx0KQ/l5rDVrPYKDWDoLSV+/rIED9IuY3pRCda5QdAoLGWG7eQYYiPc13rfxKgP8OQpWT75eJBO4/Z/bcDNjPaXo/4OVmnA+C6QXaGmSTBi/vG78u7EQtuKm7tT6m5zU+uhtZbQfQTByeRWJDvuecuoUZ9yOO6go+0dKyV36jeR75YRWBu3blsHNICD9YTCm4x22w9lljwtPXRi25CchNCjh/fNUPalcz+Tx4kzSCNxVMtOH/dCD3jRpJqn9Sndf4edWenChvagHE4oEZYErDMtzPrTcjzTtEwWdwG3gGKsupSfjL7jMLvPhP/rAMlsw58K1gzheFGSShjv/YA7MV8a+d8Ux98zpdIm8CdFaeL6XDMKlqoS3TY6/u5btpOV2YWGcNgJkTRtlt1VxkKyT+m9fH1W6MOtkaG8GmciM7IQ5CQoEyFbQYxxbrcOqd9cWQN+nZAO18YC1ad0zsw6Cz/7KdX/hjrNXaiGdXQ0hScymoZnai+Q67sxdG8WWFgO7YPSDAvi8yG/QU4l9KFd7pBGFe6wHAufYR7fgVar+66lLge+wRdCQhJ/hapWzj+pNJ8dyjDCSF4+G6rfB0Vb+g/cWpB6eOTBqofIZc+Z5deRx/5o6vSE7qByKQlCdgp3AALDYeusg7DxYFcIjZNJx7VAG9RSaq0dej1xhDdtnYFipz4GEsDwmfBUdkKv3VWvH+J3XfH7DbmaB+raY+qATUZdSJmSikSDUyClqAjEzqp1ef/WtVM4WSCAwLDTZDCrnFO3UFoY5ca7oHilnLZJ+hVCw7MtSaG9xAS/JFTfs/Urol7hC4IfLx/+O0jd7qVM0n5J7yAy+loEA0u3njHFKTLM3yFdOBSYe4K6397Xfv0wJYpJmsfCxUWctIWE3952hBB4y+KKiuEYWZ0KFRyLuOuqn/erfuXXgLNb1bA/p6SXkqsUq/y40jUqMQLRHvwbL3a2yfO8ya2qFkB1FidYWpa+nllr0RaqORze5w+lr3sTEBVQ1AhhrXUGiF6xtqPAJBOwi4SavD2OiXwn7isxsGqqpWvlTQNyo4zl9u2lbpYmZJdmt64WvhiPcV9WQzS97WpeOCORZc0Ncmnqg1e+CgYFKWL98tTKGMhZtYklmoIgu0Q5BgObe5LwNMrtO/MSleChsW3cgAYgDWx3sLw1ZLrBdrkdvHO/mPug+qCi1JcXRVAxoE5m8J06xzD78cTLa9z/pu3uI/iS4ne5bLABMJ4PO/DbxlSbnY3E+TNakevPB0q4uK5zP7QZeHzwMRHlYor18tkhKa2nY+8swhQADvTMWfqZJXTBWrER/UVIb2Yatt15Ceff31dYvEIKKydn8DjzDYqTxCItPWnleizX5hHjjLNKu5ryEo578HS7qFRhM4XuCPEVBIWzFTquWFyUDXlgsMHGTwh/QEzDsUxOcOhup7rEGXvacqbUle5miAf8ADz6cxQpNo6QA1IFnyDgO7ARS+HWOy78JbIKHyywgowOa7v+GDNADbEqyvUurCiRh0KRh30uSKMIaVthWlHUbqOsznDiQEXASAbjevt27AfZEcSlJncP8zhrZ9XSxPfYRpfDqJP9p6nr61HCn66W7r7DuNL2F9jxYMYZMCOFBrjivYsktMJuxEXb5f8/XbVaLTyFyj7OXsY10PK/4Wx0pN0aJcQipxTUzrF2xnwN5m5Cx7HZSkv8Jenb/Eqh0SAAxSJH8kst8PVTFKO9GPGBC5whvKbMa7VHVREqfO36ThZfOipAgBEBIxhKMs1PwH+uXI1VNcSlb+KQ2CvXnbf+xzIGcu8zhHVuQK8vLCPzNDCbW/rCn+da91uwF7z0wDkKzlC5GMUa/6D15D6WiKlSMnGw85h/mn4M2vEuBqqX14piX8BZt+uMOocM8De5OhO9FhReTowgyzOSLD2TrLj2Hgx0dCho+DpF5LjRMqoGk6CdcLBWOQk+AZTMR0vtuA4OFlIrBMXrFF2Z2KmTD5gJi5hdNjuIn+SDNfKTnHDul+xqgxwX2w7ashxSvCCfKvG8gvtzEIISBXZtZ86TF7esqwC9KAy7sbAJgkQfNeOEI8rA1pm1OwdqWL1lqnLAR1pkZZDf4cLkwRDLaY49ss9S6QQDkgDeNy/5Es+PFcc8yTqpelASo8HIG9WIqdF47GVt0sEu/HUZhm4g5k8y1erJjiBTFDg/AAUCezYq1U1eQCYp4MMGDgyFj7Qhsb1ylMXqvpvw5dgtLpL7rIE+rnDgwqZoiTTnw7+TzUSEHY5Hj2ZwQFZxbRoOPLIwCiFLRqEDAK7WygvQgvsb3RhTqNDEc90ajm4abxUMWkwCt7keCEajQNzfMIVan71a1VABuhOhK5YEcLgyqFFZyq9/TgrB/ZTRsCgz5MNXv65wYYAAACgFgAApwoAAABQAAAAUAAAAFAAAF4RAABhMWMwYWY2MjYzYWY0MjNlMDMwNjNjMDlkNzk4NDA4MDhhMDA3MGMwYmE1YjYxYznIAgAAfAYAACkTAADnBwAAbAgAADsKAACcDgAAMhUAAPoTAACCDAAAmwcAAF8FAAApDwAAwxUAAGcCAAAZEAAA+wcAAPIKAADTAgAA4wkAAEIVAAAGAAAAWw4AAHUEAAAWDwAADhEAAL4OAAC1BwAAvAQAAOAUAAAgCwAAmAsAAAsCAACzFQAA9gYAABEJAACMEwAA9QYAAEIFAADDDgAAMQAAAOQQAABDEQAAuxUAABEVAABeCwAA+BQAAEwEAAB6AgAApgEAAP8OAADIAAAA+hIAAFcMAADBAgAAsA4AALQOAABgDwAA7g0AAA0SAADmBgAAdhAAAKoVAABiAQAAkxIAAFMDAAAGEAAAzA4AAOYPAAAdEwAABgEAALAFAACfCgAAsgkAAIYQAACyBQAApxMAAEkFAACUEAAAVRAAAGgDAABBAgAAORMAALASAADPCgAAoAUAAFwJAAA1BAAA8BAAANgEAAAkDgAA4w0AAEYTAADaDwAA1QoAAMkRAADhDwAAKAMAAAAAAAAAAGaYPQoC2Od6p55p647ySWKOzhDIjVV4zMVm7nHKHaU/90Fl55Y6uc51k/KeVRFJoKyVi1xw5SoRIG9Emuh2r4r4KfNMjGHLVBVAUvhh2He0HU7ENJFIzhEXVMcm9R7l/uNopSsc+xNKyTZHL5Mxrkb2jn2ZsXr4r1rhNTiZpF71WlIU+DNMlyA7eWpaAZ995KWALmagS01pbvTQOcXasCTWUNNAHLQTqvZcXjcPna65Y1CRGHX3VA4Eqoo9e11ZYMdFgq/KPMjwbYNvQ+wVWc9GFtV1SJiu3vrEO3Ep1C+YA/xvyRv97iaGn6nxiBEh7lC59WSH4hcvlqOzBQFWxpdU1UDupY+0Ryeu7aftu1bpo0wgb97JEB/lQDJ2SuglMNgSnLHQMkjABa092PRuQNlNyGGzNle4icUgCWVcPfw9iL3O2h+jGXEDX2kwjDYqdv5XKYCGcfiAWBPrryjiY8ew/lA2nmS6qK/vsNbsiPyO9ZJlBRN7thbDTYIMt2hIH/qhfo3l8taZnIDPlsAiks8VXbiVfF6zNUg5clHhrvBHppDaSwpvpwO6y2eSqx9Vobqx9VqusqKc7ElEq4CFtuyPiO4wRkfFpbS12bD1IYko4s+VMLiWl/PtPl2/KvqCNRR6AyIwJVpy60+k+Nfwpcu/HMiv7oY0+O/5QQjoBXu4MqSbex5m9rx1IkNo8J4c+5eRAA0y0kWNRQoxNeJRieXT68UyVSqsWCQLOctCywdR3EVvVgVthV9fDjUUNMHZJJhdkwXX6aVt46bnJ5l5SngC31ed4TPgZWVm0kfzmCRiMRUz5DcCefKeAXFdhF7E5cK8ElRpO0JlfC2fcBdeeUuChfWERWRB/mVk/d/AguAGoOyDN4bO+PTSzWgJYgjbP4cm2v5oQJ9eehLtBDxho/hMmM4q2kLEsosAsXf7N5xciL5YmqfgnWBMJbt03/O3cClvvMk5sGREYCdyZ44nYUN0kHt9CQhQavlu3LWFT9KWSEBNjHnSI9ZZEzmAbTbRJcJ3/k54OmYgHlHOytOuvRFU2x9N2NTIoG2kJPXOz/vDm7fxDk+DHg3YLG0oBFgDqlQoLJEXg0vsrl7g0xVwUU5VCy4cu6/Az7wRc6tmoJwUoXmgpaJqrBdrBV7woUr3aNof0vgq5u2jZlvTBRCfhQ3AyzKbzquq6V0Wr7ZQzy5yGQvQRs2j6bqK/D5HlaYHy35RL9QYW5gvdOeaEzY3UpYsYesFzT4/HeF3EdFsYlS2D+M3/p9YWrxyodHlCdaDUqmnGjS5Av0/ERLyoEnFwRGS4gRSAFP20wYvkStsWRQL8r4ow0gg/Azk9+yMZblyq96/UiXRMVJVr0Ytim/R0bf956yKnP3IcuX2bAdlaW1Mu+RMqwbtOMFr0RMB8XGcEyU0jn0M5w/g9t4/2cNK70bY4M6JhCWxEK7qHsnpxoBzWljhMNruP9LVarQmrV38IeHMKBCiEo3+gn7OIclE9i9ey39rZ75r6KH6sxpwimFQ7PvnHJ5w0EfJ4q1bIB4JkXOFx+HdkbkjYT9upl5zjvYdfTPMXNmQ7Po3oIMQD8eD8SKl6cF+cltCxLpeAinoVVS1PqLpPDSY9NnmpfA1ElJ36rQ8zaM1nQvXiZYfMerQTkovWs8lmLTsDPPmlstpDbJo5Rd0rIevgKCWErGdecLuFlelBbaBUlH+TsCvTQY+bXvjtkrTXKDCftgvjYUDT5Iw94B0wwf65ZPEdF3FADKZWKM1uMJ4G7i14oXdUsTK+/4uflWEyKl06M+2DuZC+36llDThzJXOt9zHvt+BHZPO+Hhel4DcFY74wM7xwAzQcuYGN7yP6C9oXsV4uwrJ8ss85xVu42T9yH6k5wvG3PXP9Uv4euTVPhBJ9Di5ZFiEL80Dtdj1Yo6BCG0+6gAjoYHPp8S+z3jlZakFJe0rQ2MmILc8wyYd2JO8dnF3l1IPJVK16bySxV5VHE8v8DyfVsQKF8pH5t1asc0xAlkGbs1W9ACadVimklpZ5qbW7edWHCCrbH+Hxj50WjjtYcIFTqyB2Ps8BN9rY4Rv7QA3g8Ll2eQ4WgJNzS3AJhogtzGWU5f4VRXqGhg/QAn6GNc9PdZ0CIfdy/OqMwrNetzFSqtT2JpnPS6t+b/L+Bn4UrVUguhDq66pt4aiTSIKHZ47efRcpz491f6nxQ3GEtLZsd9UePbzgp77qSEUxO4Mo9wgkH4km6p2F6zomuSh4aWyx5pBtKSmRvZVYP0dKRAPmyIwpYBUtRY03GFJC+a5WsZ7YPtUye04eUmHzTusWeyc2P3BcDskXhKEDNZCXDsPmwU2oMgUutA09yw2y+bah4JzrDHn9umLVgLpz7wW9B0OeDI1drckiB4tjXcO7JEqqIRTzq4KJqQbqUrFKeoUHQMOKFK0pRDKTiQTumlxfGhvviY4wSVtBFKNGcxtXV4yGQ=="; int rc = DxyVest.Start(key);//AppVest.init("553c12676eb80b82183e0944df97cd19", "K8N/nk3cAxhGo7Oy0yoP/Ye5jcQUaMf+8+AutonLIoCXTbHXSHJ/D8W3/iIBHJq/4SABnAF7RvIeNRnF+x+wjB6cB1TEwIUviviQlofNvM4qJFLH55ON85n2pFBhSGW3qLF/"); if (rc != 150) { Debug.LogError("wwwwwwwwwwwwwwwwwwwwwww init failed"); ShowTip("GF init failed!", () => { StartCoroutine(CheckNet()); }); } // Debug.LogError("init successful"); conn.ip = "127.0.0.1"; conn.port = 19898; //int rc1 = AppVest.getServerIPAndPort(ref conn, "", 8077); //if (rc1 != 0) //{ // ShowTip("getServerIPAndPort failed!", () => // { // StartCoroutine(CheckNet()); // }); // yield break; //} } init_url = "http://" + conn.ip + ":" + conn.port + "/NewFK/config/init2_1.json"; Debug.LogError("init_url : " + init_url); } // Debug.LogError("开始下载资源===>>>"); // Debug.LogError(init_url); //Debug.LogError("init_url============================ "+ init_url); float downTimeOut = 5; using (WWW request1 = new WWW(init_url)) { float timeOut = Time.time; float process = request1.progress; while (request1!=null && request1.isDone==false) { //Debug.LogError("wwwwwwwwwwwwwwwwwww11111111111111111111111"); if(processdownTimeOut) { ShowTip("配置文件下载失败,请检查您的网络设置!", () => { StartCoroutine(CheckNet()); }); yield break; } yield return null; } yield return request1; // Debug.LogError("request1.error"+request1.error); if (string.IsNullOrEmpty(request1.error)) { //Debug.LogError("wwwwwwwwwwwwwwwww222222222222222222222222"); json_data = request1.text; //优化 GameApplication.Instance.GameInfo = json_data; Hashtable json = Json.Deserialize(json_data) as Hashtable; //json["pack_url"] = "http://8.134.59.224:8909/NewFKtest"; Hotupdate.PackUrl = (string)json["pack_url"]; Hashtable _plat_data = null; #if UNITY_IPHONE _plat_data = json["iOS"] as Hashtable; #endif #if UNITY_ANDROID _plat_data = json["Android"] as Hashtable; #endif #if UNITY_STANDALONE _plat_data = json["Win"] as Hashtable; #endif var check = _plat_data[string.Format("check{0}", GameApplication.AppVersion.ToString())]; if (check != null && (bool)check) { GameApplication.HideSdk = true; GameApplication.Instance.accountTest = false; } Version server_version = new Version((string)_plat_data["version"]); if (!GameApplication.HideSdk) { if (GameApplication.AppVersion.max_version < server_version.max_version || (GameApplication.AppVersion.max_version == server_version.max_version && GameApplication.AppVersion.min_version < server_version.min_version)) { ShowTip("您版本需要更新!", () => { #if UNITY_ANDROID StartCoroutine(DownApp((string)_plat_data["appurl"], server_version.ToString())); #else DeleteOldPack(); Application.OpenURL((string)_plat_data["appurl"]); Application.Quit(); #endif }); yield break; } } Voice.VoiceUpload = json["voice_upload_url"] as string; Voice.VoiceDownload = json["voice_download_url"] as string; //GameApplication.PackVersion = server_version.pack_version; if (!GameApplication.Instance.buildApp) { GameApplication.AppVersion.FillData(server_version); _version_view.Dispose(); GameApplication.Instance.StartGame(); } else { StartCoroutine(CheckAssetConfig(server_version)); } } else { ShowTip("版本检索失败,请检查您的网络设置!", () => { StartCoroutine(CheckNet()); }); //yield break; } } } IEnumerator CheckAssetConfig(Version server_version) { GObject v_tex_info = _version_view.GetChild("tex_info"); GButton viewBtn_showWait = _version_view.GetChild("GlobalModalWaiting") as GButton; Version local_version = Hotupdate.GetLocalVersion(string.Empty); ArrayList asset_config_list = null; string asset_config_text = null; viewBtn_showWait.title = "正在连接服务器..."; if (local_version == null) { string ac_url = ""; if (isGFF == false) ac_url = string.Format("{0}/config/asset_config{1}.json", Hotupdate.PackUrl, server_version.ToString()); else ac_url = string.Format("http://{0}/NewFK/config/asset_config{1}.json", conn.ip + ":" + conn.port, server_version.ToString()); Debug.Log(ac_url); float downTimeOut = 5; using (var request = new WWW(ac_url)) { float timeOut = Time.time; float process = request.progress; while (request != null && request.isDone == false) { if (process < request.progress) { timeOut = Time.time; process = request.progress; } if (Time.time - timeOut > downTimeOut) { ShowTip("连接超时导致游戏配置下载异常,请检查您的网络设置!", () => { StartCoroutine(CheckNet()); }); yield break; } yield return null; } yield return request; if (string.IsNullOrEmpty(request.error)) { asset_config_text = request.text; asset_config_list = Json.Deserialize(asset_config_text) as ArrayList; if (asset_config_list == null) { ShowTip("连接错误导致游戏配置下载异常,请检查您的网络设置!", () => { StartCoroutine(CheckAssetConfig(server_version)); }); yield break; } // v_tex_info.text = "正在检查资源。。。"; GSlider _pd = _version_view.GetChild("pb_progress").asSlider; _pd.value = 0; if (!Directory.Exists(ResourcesManager.PACK_PATH)) { Directory.CreateDirectory(ResourcesManager.PACK_PATH); } string copyVersionPath = Path.Combine(Application.streamingAssetsPath, "version.txt"); #if UNITY_IPHONE string copyVersionString = ""; if (File.Exists(copyVersionPath)) { copyVersionString = File.ReadAllText(copyVersionPath).Trim(); } else { ShowTip("本地缓存版本加载失败", () => { File.WriteAllText(Path.Combine(ResourcesManager.PACK_PATH, "version.txt"), "1.0.0"); StartCoroutine(CheckAssetConfig(server_version)); }); yield break; } #endif #if UNITY_ANDROID UnityWebRequest copyRequest = UnityWebRequest.Get(copyVersionPath); yield return copyRequest.SendWebRequest(); if (copyRequest.isNetworkError || copyRequest.isHttpError) { ShowTip("本地缓存版本加载失败", () => { File.WriteAllText(Path.Combine(ResourcesManager.PACK_PATH, "version.txt"), "1.0.0"); StartCoroutine(CheckAssetConfig(server_version)); }); yield break; } string copyVersionString = copyRequest.downloadHandler.text.Trim(); #endif bool isSame = copyVersionString.Equals(server_version.ToString()); if (isSame) { viewBtn_showWait.title = "正在解压资源..."; string copyZipPath = Path.Combine(Application.streamingAssetsPath, "Pack.byte"); #if UNITY_IPHONE Byte[] zipData; if (File.Exists(copyZipPath)) { zipData = File.ReadAllBytes(copyZipPath); } else { ShowTip("本地缓存压缩包加载失败", () => { StartCoroutine(CheckAssetConfig(server_version)); }); yield break; } /* if (zipData.LongLength < 1024) { ShowTip("本地缓存压缩包加载失败", () => { StartCoroutine(CheckAssetConfig(server_version)); }); yield break; }*/ string zipString = Path.Combine(Application.persistentDataPath, "Pack.byte"); File.WriteAllBytes(zipString, zipData); #endif #if UNITY_ANDROID UnityWebRequest copyZipRequest = UnityWebRequest.Get(copyZipPath); yield return copyZipRequest.SendWebRequest(); if (copyZipRequest.isNetworkError || copyZipRequest.isHttpError) { ShowTip("本地缓存压缩包加载失败", () => { StartCoroutine(CheckAssetConfig(server_version)); }); yield break; } byte[] zipData = copyZipRequest.downloadHandler.data; string zipString = Path.Combine(Application.persistentDataPath, "Pack.byte"); File.WriteAllBytes(zipString, zipData); #endif IFilePack zip = null; zip = new FilePack20(zipString, PackMode.Read); zip.UnPackFileSyn(ResourcesManager.PACK_PATH); while (!zip.Complete) { _pd.value = zip.Progress*100; yield return null; } StartCoroutine(CheckAssetConfig(server_version)); yield break; } else { File.WriteAllText(Path.Combine(ResourcesManager.PACK_PATH, "version.txt"), copyVersionString); StartCoroutine(CheckAssetConfig(server_version)); yield break; } } else { ShowTip("游戏资源下载失败,请检查您的网络设置!", () => { StartCoroutine(CheckAssetConfig(server_version)); }); yield break; } } } else if (local_version.ContainAll(server_version)) { string ac_url=""; if(isGFF==false) ac_url = string.Format("{0}/config/asset_config{1}.json", Hotupdate.PackUrl, server_version.ToString()); else ac_url = string.Format("http://{0}/NewFK/config/asset_config{1}.json", conn.ip + ":" + conn.port, server_version.ToString()); // Debugger.LogError("CheckAssetConfig===>>>"); Debugger.LogError(ac_url); float downTimeOut = 5; using (var request = new WWW(ac_url)) { float timeOut = Time.time; float process = request.progress; while (request != null && request.isDone == false) { if (process < request.progress) { timeOut = Time.time; process = request.progress; } if (Time.time - timeOut > downTimeOut) { ShowTip("连接超时导致游戏配置下载异常,请检查您的网络设置!", () => { StartCoroutine(CheckNet()); }); yield break; } yield return null; } yield return request; if (string.IsNullOrEmpty(request.error)) { asset_config_text = request.text; asset_config_list = Json.Deserialize(asset_config_text) as ArrayList; if (asset_config_list == null) { ShowTip("连接错误导致游戏配置下载异常,请检查您的网络设置!", () => { StartCoroutine(CheckAssetConfig(server_version)); }); yield break; } // viewBtn_showWait.title = "正在下载资源..."; v_tex_info.text = "正在检查资源。。。"; GSlider _pd = _version_view.GetChild("pb_progress").asSlider; //GObject v_tex_pd = _version_view.GetChild("tex_value"); _pd.value = 0; //v_tex_pd.text = "0%"; bool ver_check = false; StartCoroutine(VersionUpdateCheck(asset_config_list, (progress, finish) => { _pd.value = progress * 100f; //v_tex_pd.text = $"{Mathf.Floor(progress*100f)}%"; ver_check = finish; }, v_tex_info)); while (!ver_check) { yield return null; } string arv = string.Format("{0}asset_config{1}.json", ResourcesManager.PACK_PATH, server_version.ToString()); File.WriteAllText(arv, asset_config_text, System.Text.Encoding.UTF8); string rv = ResourcesManager.PACK_PATH + "version.txt"; File.WriteAllText(rv, server_version.ToString(), System.Text.Encoding.UTF8); } else { ShowTip("游戏资源下载失败,请检查您的网络设置!", () => { StartCoroutine(CheckAssetConfig(server_version)); }); yield break; } } }else { // string arv = string.Format("{0}asset_config{1}.json", ResourcesManager.PACK_PATH, server_version.ToString()); string arv =ResourcesManager.PACK_PATH+"asset_config"+server_version.ToString()+".json"; //Debug.LogError("ARV===>>>" + arv); try { viewBtn_showWait.title = "快马加鞭进入游戏中..."; asset_config_text = File.ReadAllText(arv); asset_config_list = Json.Deserialize(asset_config_text) as ArrayList; foreach (Hashtable tem in asset_config_list) { string b_path = "base/" + tem["name"]; ResourcesManager.ReadAssetConfig(b_path); } } catch (Exception s) { Debug.LogError(s.ToString()); ShowTip("游戏资源损坏,请重新安装新包!", () => { StartCoroutine(CheckAssetConfig(server_version)); }); yield break; } //IEnumerator enumerator = asset_config_list.GetEnumerator(); //try //{ // while (enumerator!=null && enumerator.MoveNext()) // { // Hashtable hashtable = (Hashtable)enumerator.Current; // string base_path = "base/" + hashtable["name"].ToString(); // ResourcesManager.ReadAssetConfig(base_path); // yield return null; // } //} //finally //{ // IDisposable disposable; // if ((disposable = (enumerator as IDisposable)) != null) // { // disposable.Dispose(); // } //} } GameApplication.AppVersion.FillData(server_version); v_tex_info.text = "正在加载资源请稍后。。"; //ResourcesManager.Init(); yield return null; _version_view.Dispose(); GameApplication.Instance.StartGame(); } /// /// 检查基本更新包 /// /// /// /// /// IEnumerator VersionUpdateCheck(ArrayList asset_config_list, System.Action onback, FairyGUI.GObject tip) { Version local_version = Version.DEFUALT; for(int i=0;i< asset_config_list.Count; ++i) { var tem = asset_config_list[i] as Hashtable; //if (GameApplication.HideSdk) //{ // if (!tem.ContainsKey("check")) continue; // if (!(bool)tem["check"]) continue; //} string b_path = "base/" + tem["name"].ToString(); Hotupdate version_update = new Hotupdate(b_path + "/", local_version, new Version((string)tem["ver"])); version_update.AssetName = b_path; version_update.HideDetail = true; #if UNITY_ANDROID && !UNITY_EDITOR //if (GameApplication.Instance.isAndroid64bit==false) //{ // if (tem["name"].ToString()=="base_script") // { // version_update.isBuild32lua = true; // } //} #endif version_update.SetTipCallback((text,callback)=> { ShowTip(text, callback); }); version_update.LoadAsset(); while (!version_update.Done) { onback(version_update.Progress, false); tip.text = version_update.TextTip; yield return null; } ResourcesManager.ReadAssetConfig(b_path); } onback(1, true); } #if UNITY_ANDROID IEnumerator DownApp(string appurl,string version) { var v_tex_info = _version_view.GetChild("tex_info"); v_tex_info.text = "正在下载新的安装包(0KB/0KB)"; var _pd = _version_view.GetChild("pb_progress").asSlider; //GObject v_tex_pd = _version_view.GetChild("tex_value"); var request = new BestHTTP.HTTPRequest(new System.Uri(appurl)); request.EnableTimoutForStreaming = false; request.UseStreaming = true; request.IsKeepAlive = true; request.Send(); var filePath = Application.persistentDataPath + "/update" + version + ".apk"; if (File.Exists(filePath)) { File.Delete(filePath); } FileStream stream = null; request.OnProgress = (originalRequest, downloaded, downloadLength) => { v_tex_info.text = string.Format("正在下载新的安装包({0}KB/{1}KB)", downloaded / 1024, downloadLength / 1024); _pd.value = (downloaded / (float)downloadLength) * 100; //v_tex_pd.text = $"{Mathf.Floor((downloaded / (float)downloadLength) * 100)}%"; var fragments = originalRequest.Response.GetStreamedFragments(); if (fragments != null) { if (stream == null) { stream = File.Create(filePath); } foreach(byte[] buffer in fragments) { stream.Write(buffer, 0, buffer.Length); } } }; while (request.State < BestHTTP.HTTPRequestStates.Finished) { yield return null; } yield return new WaitForSeconds(1); stream.Dispose(); request.OnProgress = null; if (request.State == BestHTTP.HTTPRequestStates.Finished && request.Response.IsSuccess) { DeleteOldPack(); PlatformAndroid.Instance.UpdateApp(filePath); } else { ShowTip("请检查您的网络设置!", () => { StartCoroutine(DownApp(appurl, version)); }); } } #endif public void ShowTip(string text, System.Action callback) { var ctr_state = _version_view.GetController("state"); ctr_state.selectedIndex = 1; _version_view.GetChild("tex_tip").text = text; _version_view.GetChild("btn_ok").onClick.Set(() => { ctr_state.selectedIndex = 0; if (callback != null) callback(); }); } /// /// 移除本地缓存包 /// public static void DeleteOldPack() { string dir = ResourcesManager.RES_PATH; string rv = dir + "version.txt"; if (File.Exists(rv)) File.Delete(rv); if (Directory.Exists(dir)) Directory.Delete(dir, true); } }