Guest User

Untitled

a guest
Apr 30th, 2019
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.79 KB | None | 0 0
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using BestHTTP.JSON;
  5. using BestHTTP.SocketIO;
  6. using UnityEngine;
  7. using UnityEngine.Networking;
  8. using UnityEngine.SceneManagement;
  9. using UnityEngine.UI;
  10.  
  11. public class SocketController : MonoBehaviour
  12. {
  13.  
  14. public static SocketController socketController;
  15. public static string player_id;
  16. public static string last_login_id;
  17. public static string create_user_id;
  18.  
  19. public static List<int> ServerAndroidVersionCode;
  20.  
  21. public static bool isSocketConnected;
  22. public static SocketManager socket;
  23. public static Socket nsp;
  24.  
  25. public Image loadingIcon;
  26. public Text LoadText;
  27. public GameObject LoadingScreen, WaitingScreen, InsufficientFund_Panel;
  28.  
  29.  
  30. string loginURL = "https://river-pay.net/users/player-login";
  31. string logOutURL = "https://river-pay.net/users/player-logout";// "https://river-pay.net/users/player-logout";
  32. // string loginURL = "http://192.168.1.202:4003/users/player-login";//192.168.1.201
  33. string gamePlayURL = "https://river-pay.net/panel-settings/game-play-mode";
  34. // string USER_ID = "passkey";
  35. //string loginURL = "http://122.180.254.6:4003/users/player-login";//192.168.1.201
  36. //string gamePlayURL = "http://122.180.254.6:4003/panel-settings/game-play-mode";
  37. public static bool connectedWithUser;
  38. DataSaveLoad dataSaveLoad;
  39.  
  40. [SerializeField] Text ClassicbonusText;
  41. [SerializeField] GameObject ClassicCashBack_Panel;
  42. string password;
  43. [SerializeField] string[] SceneNames;
  44.  
  45. public AssetBundle SelectedGame;
  46. // Use this for initialization
  47. public int nextSceneToLoad;
  48. public static bool isAnotherUserLogin;
  49.  
  50. void Start()
  51. {
  52. //if (!PlayerPrefs.HasKey(StringConstants.ResetGameData))
  53. //{
  54. // PlayerPrefs.SetInt(StringConstants.ResetGameData, 1);
  55. // ResetGameDataKey();
  56. //}
  57.  
  58. if (!MenuCOntroller.isLoginDone && !isAnotherUserLogin)
  59. {
  60. RequestPlayTypeApi();
  61. }
  62.  
  63. if (socketController == null)
  64. {
  65. socketController = this;
  66. DontDestroyOnLoad(this.gameObject);
  67.  
  68. //isSocketConnected = false;
  69. //SocketOptions options = new SocketOptions();
  70. //options.AutoConnect = true;
  71. //options.ConnectWith = BestHTTP.SocketIO.Transports.TransportTypes.WebSocket;
  72. //socket = new SocketManager(new Uri("wss://river-pay.net/socket.io/"), options);
  73. //// socket = new SocketManager(new Uri("ws://192.168.1.202:4003/socket.io/"), options);
  74. //socket.Encoder = new BestHTTP.SocketIO.JsonEncoders.LitJsonEncoder();
  75. //nsp = socket.Socket;
  76.  
  77. //// nsp = socket["/?EIO=4&transport=websocket&user_id=123456"];
  78. //nsp.On(SocketIOEventTypes.Connect, (Socket socket, Packet packet, object[] args) =>
  79. //{
  80. // connectedWithUser = true;
  81. //});
  82. InitializeSocket();
  83. LoadSavedPasskey();
  84. }
  85. else Destroy(this.gameObject);
  86.  
  87. MenuCOntroller.menuCOntroller.InvalidPasskeyPanel.SetActive(false);
  88. MenuCOntroller.menuCOntroller.ServerErrotPanel.SetActive(false);
  89. MenuCOntroller.menuCOntroller.NoInternetPanel.SetActive(false);
  90.  
  91. }
  92.  
  93.  
  94. private void InitializeSocket()
  95. {
  96. connectedWithUser = false;
  97. isSocketConnected = false;
  98. SocketOptions options = new SocketOptions();
  99. options.AutoConnect = true;
  100. options.ConnectWith = BestHTTP.SocketIO.Transports.TransportTypes.WebSocket;
  101. socket = new SocketManager(new Uri("wss://river-pay.net/socket.io/"), options);
  102. // socket = new SocketManager(new Uri("ws://192.168.1.202:4003/socket.io/"), options);
  103. socket.Encoder = new BestHTTP.SocketIO.JsonEncoders.LitJsonEncoder();
  104. nsp = socket.Socket;
  105.  
  106. // nsp = socket["/?EIO=4&transport=websocket&user_id=123456"];
  107. nsp.On(SocketIOEventTypes.Connect, (Socket socket, Packet packet, object[] args) =>
  108. {
  109. connectedWithUser = true;
  110. });
  111.  
  112. }
  113.  
  114.  
  115. private void Update()
  116. {
  117.  
  118. //if (!MenuCOntroller.IsPlayFromBackend)
  119. //{
  120. // if (Application.internetReachability == NetworkReachability.NotReachable)
  121. // {
  122. // Debug.Log("Error. Check internet connection!");
  123. // MenuCOntroller.isDisconnected = true;
  124. // if (MenuCOntroller.isDisconnected&&!MenuCOntroller.menuCOntroller.NoInternetPanel.activeSelf)
  125. // {
  126. // // MenuCOntroller.menuCOntroller.NoInternetPanel.activeSelf)
  127. // SceneManager.LoadScene(0);
  128. // }
  129. // }
  130. // else if (Application.internetReachability == NetworkReachability.ReachableViaLocalAreaNetwork || Application.internetReachability == NetworkReachability.ReachableViaCarrierDataNetwork)
  131. // {
  132. // Debug.Log("heck internet connection!");
  133. // MenuCOntroller.isDisconnected = false;
  134. // }
  135. //}
  136. }
  137.  
  138. //706365239619
  139. //public void EmitData()
  140. //{
  141. // Debug.Log("Joining socket system______");
  142. // JSONObject thisJsonObjToConnectToSocket = new JSONObject();
  143. // password = passwordText.text;
  144. // password = id;
  145. // thisJsonObjToConnectToSocket.AddField(USER_ID, password);
  146. // Debug.Log("<color=yellow>[SocketIO] ConnectionSocket:</color> " + USER_ID + " " + password);
  147. // // socket.Emit(Socket_Join, thisJsonObjToConnectToSocket);
  148. // socket.Emit(Socket_Join, thisJsonObjToConnectToSocket);
  149. //}
  150.  
  151. public void InIt(string id_temp, string last_Loging_key)
  152. {
  153. nsp.On(StringConstants.ResponseConncectionCallBack + id_temp, ConfirmationCallbackFromSocket);
  154. EmitLoginID(id_temp, last_Loging_key);
  155.  
  156. nsp.On(StringConstants.Socket_GetData + id_temp, OnResponseGameDetail_GetData);
  157. nsp.On(StringConstants.OnTotalMoneyChange + id_temp, OnResponseTotalMoneyChanged);
  158. nsp.On(StringConstants.SpinResult + id_temp, OnResponseSpinResult);
  159. nsp.On(StringConstants.ResponseSweepstakeCashBack + id_temp, OnResponseSweepstakeCashBack);
  160. nsp.On(StringConstants.ResponseClassicCashBack + id_temp, OnResponseClassicCashBack);
  161. nsp.On(StringConstants.Response_TakeDouble + id_temp, OnResponseTakeAndDouble);
  162. nsp.On(StringConstants.ResponseForDailyEntry + id_temp, OnResponseDailyEntry);
  163. nsp.On(StringConstants.ResponseForMultipleLogin + id_temp, OnResponseMultipleLogin);
  164.  
  165. }
  166.  
  167. #region EmitRequests
  168.  
  169. void EmitLoginID(string playerID, string last_Loging_key)
  170. {
  171. LoginApiParser.InitialLoginData obj = new LoginApiParser.InitialLoginData();
  172. obj._id = playerID;
  173. obj.last_login_key = last_Loging_key;
  174. player_id = playerID;
  175. last_login_id = last_Loging_key;
  176.  
  177. nsp.Emit("REQUEST_INITIAL_ID", obj);
  178. }
  179.  
  180.  
  181. public void EmitForCashBack()
  182. {
  183. LoginApiParser.InitialLoginData obj = new LoginApiParser.InitialLoginData();
  184. obj._id = player_id;
  185. obj.user_type = MenuCOntroller.userType == userType.SweepstakesType ? "SweepstakesType" : "ClassicType";
  186.  
  187. nsp.Emit(StringConstants.RequestSweepstakeCashBack, obj);
  188. }
  189. public void EmitForTakeDouble()
  190. {
  191. // Debug.LogError("Emit for take double");
  192. LoginApiParser.InitialLoginData obj = new LoginApiParser.InitialLoginData();
  193. obj._id = player_id;
  194. obj.user_type = MenuCOntroller.userType == userType.SweepstakesType ? "Sweepstakes" : "Classic";
  195. // nsp.Emit(StringConstants.Request_TakeDouble + player_id, obj);
  196. nsp.Emit(StringConstants.Request_TakeDouble, obj);
  197. }
  198. public void SendGameData(LoginApiParser.SendData obj) //EMIT DATA ON SPIN CLICK
  199. {
  200. // Debug.LogError("SendGameData");
  201. nsp.Emit(StringConstants.Socket_sendData, obj);
  202. }
  203.  
  204. public void Emit_TotalwinToEntriesReflect(double amount)
  205. {
  206. CheckForInternet();
  207. //Debug.LogError("Emit_TotalwinToEntriesReflect " + amount);
  208. LoginApiParser.TotalWinReflectData totalWinReflect = new LoginApiParser.TotalWinReflectData();
  209. totalWinReflect._id = player_id;
  210. totalWinReflect.amount = amount;
  211. totalWinReflect.user_type = MenuCOntroller.userType == userType.SweepstakesType ? "Sweepstakes" : "Classic";
  212. nsp.Emit(StringConstants.Request_TotalwinToEntriesReflect, totalWinReflect);
  213.  
  214.  
  215. }
  216.  
  217. public void Emit_ForwolfReel(int freeCount, int betperline)
  218. {
  219. // Debug.LogError("Emit_TotalwinToEntriesReflect " + freeCount);
  220. LoginApiParser.WolfReelData wolfReel = new LoginApiParser.WolfReelData();
  221. wolfReel.freeCount = freeCount;
  222. wolfReel._id = player_id;
  223. wolfReel.bet_per_lines = betperline;
  224. nsp.Emit(StringConstants.RequestWolfReelFreeSpin, wolfReel);
  225. }
  226.  
  227. public void Emit_RequestForDailyEntry()
  228. {
  229. // Debug.LogError("Emit_TotalwinToEntriesReflect " + freeCount);
  230. LoginApiParser.InitialLoginData obj = new LoginApiParser.InitialLoginData();
  231. obj._id = player_id;
  232. nsp.Emit(StringConstants.RequestForDailyEntry, obj);
  233. }
  234. public void Emit_ConfirmationDailyEntry()
  235. {
  236. // Debug.LogError("Emit_TotalwinToEntriesReflect " + freeCount);
  237. LoginApiParser.InitialLoginData obj = new LoginApiParser.InitialLoginData();
  238. obj._id = player_id;
  239. obj.amount = CountDownTimer.EntryWinAmount;
  240. nsp.Emit(StringConstants.ConfirmationForDailyEntry, obj);
  241. }
  242.  
  243. public void Emit_OnGameChange()
  244. {
  245. // Debug.LogError("Emit_TotalwinToEntriesReflect " + freeCount);
  246. LoginApiParser.InitialLoginData obj = new LoginApiParser.InitialLoginData();
  247. obj._id = player_id;
  248. nsp.Emit(StringConstants.ResponseOnGameChange, obj);
  249. }
  250.  
  251. #endregion
  252.  
  253.  
  254. #region ResponseRequests
  255.  
  256. void OnResponseDailyEntry(Socket socket, Packet packet, params object[] args)//WHEN ADMIN ADD OR DEDUCT MONEY
  257. {
  258. Debug.Log("<color=green>[SocketIO] OnResponseTakeAndDouble received:</color> packet : " + packet);
  259. Dictionary<string, object> pairs = (Dictionary<string, object>)args[0];
  260. LoginApiParser.DailyEntryAmount dailyEntry = new LoginApiParser.DailyEntryAmount();
  261. JsonUtility.FromJsonOverwrite(Json.Encode(pairs), dailyEntry);
  262. CountDownTimer.EntryWinAmount = dailyEntry.amount;
  263. Debug.LogError(" CountDownTimer.EntryWinAmount :" + CountDownTimer.EntryWinAmount);
  264. if (MenuCOntroller.OnDailyEntry != null)
  265. MenuCOntroller.OnDailyEntry(dailyEntry.amount);
  266. }
  267. void OnResponseMultipleLogin(Socket socket, Packet packet, params object[] args)//WHEN ADMIN ADD OR DEDUCT MONEY
  268. {
  269. Debug.Log("<color=green>[SocketIO] Logging out other user</color> "+ packet);
  270. DoubleUserLogin();
  271.  
  272. }
  273.  
  274.  
  275. void OnResponseTakeAndDouble(Socket socket, Packet packet, params object[] args)//WHEN ADMIN ADD OR DEDUCT MONEY
  276. {
  277. Debug.Log("<color=green>[SocketIO] OnResponseTakeAndDouble received:</color> packet : " + packet);
  278. Dictionary<string, object> pairs = (Dictionary<string, object>)args[0];
  279. LoginApiParser.TakeDoubleData takeDouble = new LoginApiParser.TakeDoubleData();
  280. JsonUtility.FromJsonOverwrite(Json.Encode(pairs), takeDouble);
  281. if (TakeAndDouble.OnTakeDoubleCallBack != null)
  282. TakeAndDouble.OnTakeDoubleCallBack(takeDouble.response);
  283. }
  284.  
  285. void OnResponseSweepstakeCashBack(Socket socket, Packet packet, params object[] args)//WHEN ADMIN ADD OR DEDUCT MONEY
  286. {
  287. // Debug.Log("<color=green>[SocketIO] OnResponseCashBack received:</color> packet : " + packet);
  288. Dictionary<string, object> pairs = (Dictionary<string, object>)args[0];
  289. LoginApiParser.SweepstakeCashBackRootObject cashBackRootObject = new LoginApiParser.SweepstakeCashBackRootObject();
  290. JsonUtility.FromJsonOverwrite(Json.Encode(pairs), cashBackRootObject);
  291. if (cashBackRootObject.data.status == 200)
  292. {
  293. if (MenuCOntroller.OnCashBack_Sweepstake != null)
  294. MenuCOntroller.OnCashBack_Sweepstake(cashBackRootObject.data.calculated_amount, cashBackRootObject.data.percentage, cashBackRootObject.data.deposit_amount);
  295. }
  296.  
  297. }
  298.  
  299. void OnResponseClassicCashBack(Socket socket, Packet packet, params object[] args)//WHEN ADMIN ADD OR DEDUCT MONEY
  300. {
  301. // Debug.Log("<color=green>[SocketIO] OnResponseClassicCashBack received:</color> packet : " + packet);
  302. Dictionary<string, object> pairs = (Dictionary<string, object>)args[0];
  303. LoginApiParser.ClassicCashBackData classicCashBackData = new LoginApiParser.ClassicCashBackData();
  304. JsonUtility.FromJsonOverwrite(Json.Encode(pairs), classicCashBackData);
  305. if (classicCashBackData.status == 200)
  306. {
  307. ClassicTypeBonusHandler(classicCashBackData.bonus_amount * 100);
  308. Debug.LogError("classicCashBackData.bonus_amount :" + classicCashBackData.bonus_amount);
  309. }
  310. }
  311.  
  312. void OnResponseTotalMoneyChanged(Socket socket, Packet packet, params object[] args)//WHEN ADMIN ADD OR DEDUCT MONEY
  313. {
  314. // Debug.Log("<color=green>[SocketIO] ConfirmationCallbackFromSocket received:</color> packet : " + packet);
  315. Dictionary<string, object> pairs = (Dictionary<string, object>)args[0];
  316.  
  317. LoginApiParser.MoneyChanged moneyChanged = new LoginApiParser.MoneyChanged();
  318. JsonUtility.FromJsonOverwrite(Json.Encode(pairs), moneyChanged);
  319. if (MenuCOntroller.OnTotalMoneyChange != null)
  320. MenuCOntroller.OnTotalMoneyChange(moneyChanged.credit, moneyChanged.total_win);
  321. if (DataSaveLoad.OnTotalMoneyChange != null)
  322. DataSaveLoad.OnTotalMoneyChange(moneyChanged.credit, moneyChanged.total_win);
  323.  
  324. }
  325.  
  326.  
  327. public void ConfirmationCallbackFromSocket(Socket socket, Packet packet, params object[] args) //CONFIRMATION CALL BACK FROM SCOKET THAT PASSWORD IS RIGHT
  328. {
  329. Debug.Log("<color=green>[SocketIO] ConfirmationCallbackFromSocket received:</color>" + socket + " packet : " + packet + " args[0]: " + args[0]);
  330. Dictionary<string, object> pairs = (Dictionary<string, object>)args[0];
  331. LoginApiParser.ConfirmationRootObject confirmationRO = new LoginApiParser.ConfirmationRootObject();
  332. JsonUtility.FromJsonOverwrite(Json.Encode(pairs), confirmationRO);
  333.  
  334. if (confirmationRO.message == "connected") //IF CONFIRMATION DONE LOAD GAMES....
  335. {
  336. if (MenuCOntroller.loginDone != null)
  337. {
  338. MenuCOntroller.jackPotAllVal = new List<float>(4);
  339. for (int i = 0; i < 4; i++)
  340. {
  341. MenuCOntroller.jackPotAllVal.Add(0);
  342. }
  343. for (int i = 0; i < confirmationRO.details.jackpot.Count; i++)
  344. {
  345. switch (confirmationRO.details.jackpot[i].name)
  346. {
  347. case "Red":
  348. int num = (int)(confirmationRO.details.jackpot[i].Red * 100);
  349. MenuCOntroller.jackPotAllVal[0] = (num / 100f); break;
  350. case "Gold":
  351. num = (int)(confirmationRO.details.jackpot[i].Gold * 100);
  352. MenuCOntroller.jackPotAllVal[2] = (num / 100f); break;
  353. case "Silver":
  354. num = (int)(confirmationRO.details.jackpot[i].Silver * 100);
  355. MenuCOntroller.jackPotAllVal[1] = (num / 100f); break;
  356. case "Platinum":
  357. num = (int)(confirmationRO.details.jackpot[i].Platinum * 100);
  358. MenuCOntroller.jackPotAllVal[3] = (num / 100f); break;
  359. }
  360.  
  361. }
  362. MenuCOntroller.loginDone(confirmationRO.details.credit.ToString(), confirmationRO.details.total_win.ToString(), confirmationRO.details.mode, confirmationRO.details.skill_type);// login successfully proceed.
  363. }
  364. }
  365. else if (confirmationRO.details.status == 400)
  366. {
  367. NetworkLose();
  368. }
  369. else
  370. {
  371. Debug.Log("error........");
  372. }
  373.  
  374. }
  375.  
  376.  
  377. public void OnResponseGameDetail_GetData(Socket socket, Packet packet, params object[] args)
  378. {
  379. Debug.Log("<color=green>[SocketIO] CallBack_Socket_GetData received:</color> " + packet + " args[0]: " + args[0]);
  380. Dictionary<string, object> pairs = (Dictionary<string, object>)args[0];
  381. LoginApiParser.GameDataRootObject DataRootObject = new LoginApiParser.GameDataRootObject();
  382. JsonUtility.FromJsonOverwrite(Json.Encode(pairs), DataRootObject);
  383. Debug.Log("DataRootObject.status " + DataRootObject.status);
  384. if (DataRootObject.status == 200)
  385. {
  386. if (DataSaveLoad.AccessData != null)
  387. DataSaveLoad.AccessData(Json.Encode(pairs).ToString());
  388. CountDownTimer.isDailyEntry = DataRootObject.detail.is_daily_entries;
  389. }
  390. else if (DataRootObject.status == 400)
  391. {
  392. DoubleUserLogin();
  393. }
  394. }
  395.  
  396. List<List<int>> result;
  397. public void OnResponseSpinResult(Socket socket, Packet packet, params object[] args)
  398. {
  399. Debug.Log("<color=green>[SocketIO] GetspinResult:</color>" + socket + " packet : " + packet + " args[0]: " + args[0]);
  400. Dictionary<string, object> pairs = (Dictionary<string, object>)args[0];
  401. LoginApiParser.SpinResult spinResult = new LoginApiParser.SpinResult();
  402. JsonUtility.FromJsonOverwrite(Json.Encode(pairs), spinResult);
  403.  
  404. if (DataSaveLoad.AccessSpinResultData != null)
  405. DataSaveLoad.AccessSpinResultData(Json.Encode(pairs).ToString());
  406. }
  407.  
  408.  
  409. void OnResponseUpdatedVersion(Socket socket, Packet packet, params object[] args)//WHEN ADMIN ADD OR DEDUCT MONEY
  410. {
  411. Debug.Log("<color=green>[SocketIO] OnResponseTakeAndDouble received:</color> packet : " + packet);
  412. Dictionary<string, object> pairs = (Dictionary<string, object>)args[0];
  413.  
  414. LoginApiParser.GameVersion gameVersion = new LoginApiParser.GameVersion();
  415. // #if UNITY_ANDROID
  416. //if (gameVersion.amount != LocalDataSave.CurrentVersion)
  417. //{
  418. // LocalDataSave.ServerBuildVersionCode = gameVersion.amount;
  419. // PlayerPrefs.SetInt(LocalDataSave.ServerBuildVersionCodeKey, LocalDataSave.ServerBuildVersionCode);
  420. // SceneManager.LoadScene(0);
  421. //}
  422. // #endif
  423. }
  424.  
  425.  
  426. #endregion
  427.  
  428. public void NetworkLose()
  429. {
  430. SoundManager.sm.OnOffSound_LoginLogout(false);
  431. MenuCOntroller.isLoginDone = false;
  432. SceneManager.LoadScene(0);
  433. BuyTimeController.Instance.buyGUIObj.SetActive(false);
  434.  
  435. if (MenuCOntroller.IsPlayFromBackend)
  436. LoadSavedPasskey();
  437.  
  438. }
  439.  
  440. public void DoubleUserLogin()
  441. {
  442. SoundManager.sm.OnOffSound_LoginLogout(false);
  443. isAnotherUserLogin = true;
  444. MenuCOntroller.isLoginDone = false;
  445. MenuCOntroller.isDisconnectUser = true;
  446. SceneManager.LoadScene(0);
  447. BuyTimeController.Instance.buyGUIObj.SetActive(false);
  448. LoadSavedPasskey();
  449. }
  450.  
  451. public void OnServerConnect(Socket socket, Packet packet, params object[] args)
  452. {
  453.  
  454. Debug.Log("Connected");
  455. }
  456.  
  457. public void OnDisconnect()
  458. {
  459. LogoutApiSent();
  460. nsp.Disconnect();
  461. connectedWithUser = false;
  462. InitializeSocket();
  463.  
  464. // EmitForLogout();
  465. }
  466. //FOR LOGIN ON SERVER
  467.  
  468. public LoginApiParser.RootObject logins;
  469. public void LoginApiSent()
  470. {
  471. WWWForm form = new WWWForm();
  472. string passkeyTemp = MenuCOntroller.menuCOntroller.passwordText.text;
  473.  
  474. if (passkeyTemp.Contains("-"))
  475. passkeyTemp = passkeyTemp.Replace("-", "");
  476. password = passkeyTemp;
  477. form.AddField("passkey", password);
  478.  
  479. StartCoroutine(ProcessRequest(loginURL, form, (result) =>
  480. {
  481. LoginApiParser.RootObject loginResult = new LoginApiParser.RootObject();
  482.  
  483. JsonUtility.FromJsonOverwrite(result, loginResult);
  484. logins = loginResult;
  485. if (loginResult.status == 200)
  486. {
  487. Debug.LogError("success");
  488. }
  489. else
  490. {
  491. Debug.Log("error");
  492. }
  493. }));
  494.  
  495. }
  496.  
  497.  
  498. public LoginApiParser.RootObject myRoot;
  499. IEnumerator ProcessRequest(string apiUrl, WWWForm form, Action<string> onComplete)
  500. {
  501. UnityWebRequest apiHitter = UnityWebRequest.Post(loginURL, form);
  502. yield return apiHitter.SendWebRequest();
  503. string result = apiHitter.downloadHandler.text;
  504. // Debug.LogError("result " + result);
  505.  
  506. if (apiHitter.error == null)
  507. {
  508. myRoot = new LoginApiParser.RootObject();
  509. JsonUtility.FromJsonOverwrite(apiHitter.downloadHandler.text, myRoot);
  510. // Debug.LogError("My root " + myRoot.status + " " + myRoot.data.user._id+ " time :"+myRoot.data.time);
  511. if (myRoot.status == 200)
  512. {
  513. StartCoroutine("InitAfterConnected");
  514. MenuCOntroller.menuCOntroller.InvalidPasskeyPanel.SetActive(false);
  515. create_user_id = myRoot.data.user.create_user_id;
  516. SavePassKey();
  517. CountDownTimer.instance.TimerCallBackFromSever(myRoot.data.time);
  518. }
  519. else
  520. {
  521. MenuCOntroller.menuCOntroller.InvalidPasskeyPanel.SetActive(true);
  522. if (MenuCOntroller.logOut != null)
  523. MenuCOntroller.logOut();
  524. // ResetGameDataKey();
  525. LoadSavedPasskey();
  526. }
  527. MenuCOntroller.menuCOntroller.ServerErrotPanel.SetActive(false);
  528. }
  529. else
  530. {
  531. Debug.LogError("Error => Sign up" + apiHitter.error);
  532. MenuCOntroller.menuCOntroller.ServerErrotPanel.SetActive(true);
  533. MenuCOntroller.menuCOntroller.InvalidPasskeyPanel.SetActive(false);
  534. if (MenuCOntroller.logOut != null)
  535. MenuCOntroller.logOut();
  536. LoadSavedPasskey();
  537. // ResetGameDataKey();
  538.  
  539. }
  540.  
  541. MenuCOntroller.menuCOntroller.OtherTextPanel.SetActive(false);
  542. MenuCOntroller.menuCOntroller.ConnectedPanel.SetActive(false);
  543. Debug.LogError("END HAI");
  544. }
  545.  
  546. IEnumerator InitAfterConnected()
  547. {
  548. while (!connectedWithUser)
  549. {
  550. yield return null;
  551. }
  552. InIt(myRoot.data.user._id, myRoot.data.user.last_login_key);
  553. yield break;
  554. }
  555.  
  556.  
  557. #region CheckForPlayType
  558. public void RequestPlayTypeApi()
  559. {
  560.  
  561. MenuCOntroller.menuCOntroller.WaitingScreen_Panel.SetActive(true);
  562. WWWForm form = new WWWForm();
  563. form.AddField("key", StringConstants.RequestForGameType);
  564. StartCoroutine(GetPlayTypeProcessRequest(gamePlayURL, form, (result) =>
  565. {
  566.  
  567. }));
  568. }
  569.  
  570. IEnumerator GetPlayTypeProcessRequest(string apiUrl, WWWForm form, Action<string> OnComplete)
  571. {
  572. UnityWebRequest apiHitter = UnityWebRequest.Post(apiUrl, form);
  573. yield return apiHitter.SendWebRequest();
  574. string resultTemp = apiHitter.downloadHandler.text;
  575. Debug.LogError("API " + gamePlayURL);
  576. if (apiHitter.error == null)
  577. {
  578. Debug.Log("Find For PlayType" + apiHitter.downloadHandler.text);
  579. LoginApiParser.GameTypeRootObject gameTypeRootObject = new LoginApiParser.GameTypeRootObject();
  580. JsonUtility.FromJsonOverwrite(apiHitter.downloadHandler.text, gameTypeRootObject);
  581. if (gameTypeRootObject.status == 200)
  582. {
  583. //if (MenuCOntroller.OnFindGamePlayType != null)
  584. //MenuCOntroller.OnFindGamePlayType(gameTypeRootObject.data.value);
  585.  
  586.  
  587. //This IS ONLY For Fun MOde in Android ,Change this for other platform
  588. #if UNITY_ANDROID || UNITY_IOS||UNITY_EDITOR
  589. MenuCOntroller.isLoginDone = true;
  590. if (MenuCOntroller.OnFindGamePlayType != null)
  591. MenuCOntroller.OnFindGamePlayType("0");//THIS IS FOR OFFLINE
  592. #if UNITY_ANDROID
  593. CheckForAndroidBundleVersion(gameTypeRootObject.android,gameTypeRootObject.build);
  594. #endif
  595.  
  596. #elif UNITY_WEBGL || UNITY_STANDALONE
  597.  
  598. if (MenuCOntroller.OnFindGamePlayType != null)
  599. MenuCOntroller.OnFindGamePlayType(gameTypeRootObject.data.value);
  600. #endif
  601. MenuCOntroller.menuCOntroller.ServerErrotPanel.SetActive(false);
  602. MenuCOntroller.menuCOntroller.NoInternetPanel.SetActive(false);
  603. }
  604. else
  605. {
  606. MenuCOntroller.menuCOntroller.WaitingScreen_Panel.SetActive(false);
  607. MenuCOntroller.menuCOntroller.NoInternetPanel.SetActive(true);
  608. }
  609. }
  610. else
  611. {
  612. Debug.LogError("Error => Sign up" + apiHitter.error);
  613. MenuCOntroller.menuCOntroller.WaitingScreen_Panel.SetActive(false);
  614. MenuCOntroller.menuCOntroller.NoInternetPanel.SetActive(true);
  615. }
  616. }
  617.  
  618. #endregion
  619.  
  620. /// <summary>
  621. /// <para>Classictype user bonus handling</para>
  622. /// </summary>
  623. void ClassicTypeBonusHandler(double CreditAmount)
  624. {
  625. if (MenuCOntroller.userType == userType.classicType)
  626. {
  627. ClassicCashBack_Panel.SetActive(true);
  628. MenuCOntroller.TotalCredits += (int)CreditAmount;
  629. ClassicbonusText.text = CreditAmount.ToString();
  630.  
  631. if (MenuCOntroller.OnTotalMoneyChange != null)
  632. MenuCOntroller.OnTotalMoneyChange(MenuCOntroller.TotalCredits.ToString(), MenuCOntroller.Totalwin.ToString());
  633. if (DataSaveLoad.OnTotalMoneyChange != null)
  634. DataSaveLoad.OnTotalMoneyChange(MenuCOntroller.TotalCredits.ToString(), MenuCOntroller.Totalwin.ToString());
  635. }
  636. }
  637. public void DisableClassicPanel()
  638. {
  639. ClassicCashBack_Panel.SetActive(false);
  640. }
  641.  
  642. public void LoadSavedPasskey()
  643. {
  644. //if (!MenuCOntroller.IsPlayFromBackend)
  645. //MenuCOntroller.menuCOntroller.ResetToInitialKey();
  646. }
  647.  
  648. public void SavePassKey()
  649. {
  650. //if(!MenuCOntroller.IsPlayFromBackend)
  651. //MenuCOntroller.menuCOntroller.SavePassKey();
  652. }
  653.  
  654.  
  655. IEnumerator checkInternetConnection()
  656. {
  657. WWWForm form = new WWWForm();
  658. form.AddField("key", StringConstants.RequestForGameType);
  659. UnityWebRequest apiHitter = UnityWebRequest.Post(gamePlayURL, form);
  660. yield return apiHitter.SendWebRequest();
  661. string resultTemp = apiHitter.downloadHandler.text;
  662. //if (apiHitter.error == null)
  663. // OnComplete(resultTemp);
  664.  
  665. if (apiHitter.error == null)
  666. {
  667. LoginApiParser.GameTypeRootObject gameTypeRootObject = new LoginApiParser.GameTypeRootObject();
  668. JsonUtility.FromJsonOverwrite(apiHitter.downloadHandler.text, gameTypeRootObject);
  669. if (gameTypeRootObject.status == 200)
  670. {
  671. Debug.Log("gameTypeRootObject.status " + gameTypeRootObject.status);
  672. }
  673. else
  674. {
  675. MenuCOntroller.isLoginDone = false;
  676. if (MenuCOntroller.menuCOntroller != null)
  677. MenuCOntroller.menuCOntroller.NoInternetPanel.SetActive(true);
  678. }
  679. }
  680. else
  681. {
  682. MenuCOntroller.isLoginDone = false;
  683. if (MenuCOntroller.menuCOntroller != null)
  684. MenuCOntroller.menuCOntroller.NoInternetPanel.SetActive(true);
  685. }
  686. }
  687.  
  688. public void CheckForInternet()
  689. {
  690. StartCoroutine(checkInternetConnection());
  691. }
  692.  
  693.  
  694. #region LogoutAPI
  695. public void LogoutApiSent()
  696. {
  697. WWWForm form = new WWWForm();
  698. // Debug.Log("player_id " + player_id + "create_user_id " + create_user_id);
  699. form.AddField("_id", player_id);
  700. form.AddField("create_user_id", create_user_id);
  701. StartCoroutine(ProcessLogoutRequest(logOutURL, form));
  702.  
  703. }
  704.  
  705. IEnumerator ProcessLogoutRequest(string apiUrl, WWWForm form)
  706. {
  707. UnityWebRequest apiHitter = UnityWebRequest.Post(apiUrl, form);
  708. yield return apiHitter.SendWebRequest();
  709. string result = apiHitter.downloadHandler.text;
  710. Debug.LogError("ProcessLogoutRequest " + result);
  711. if (apiHitter.error == null)
  712. {
  713. LoadSavedPasskey();
  714. }
  715. else
  716. {
  717. Debug.LogError("Error => Sign up" + apiHitter.error);
  718. }
  719. }
  720. #endregion
  721.  
  722. private void OnApplicationFocus(bool isApplicationfocus)
  723. {
  724. // Time.timeScale = isApplicationfocus ? 1 : 0;
  725. // Debug.LogError("isApplicationfocus :"+isApplicationfocus);
  726. }
  727.  
  728.  
  729. public void CloseInsufficientFund()
  730. {
  731. InsufficientFund_Panel.SetActive(false);
  732. }
  733.  
  734.  
  735. string CompareString(int IndexInt)
  736. {
  737. string TempString = SceneNames[IndexInt].Replace(" ", "");
  738. return TempString.ToLower();
  739. }
  740.  
  741. void CheckForAndroidBundleVersion(List<string> androidTemp, List<LoginApiParser.Build> build)
  742. {
  743. ServerAndroidVersionCode = new List<int>();
  744. for(int i=0;i<SceneNames.Length;i++)
  745. {
  746. string tempName= CompareString(i);
  747. for (int kk=0;kk<androidTemp.Count;kk++)
  748. {
  749. if (androidTemp[kk].Contains(tempName))
  750. {
  751. if (androidTemp[kk].Contains("_"))
  752. {
  753. string[] ss = androidTemp[kk].Split('_');
  754. if (ss.Length > 1)
  755. ServerAndroidVersionCode.Add(int.Parse(ss[1]));
  756. // for (int ss1 = 0; ss1 < ss.Length; ss1++)
  757. Debug.Log(""+ss[0]+ " "+ ss[1]);
  758. }
  759. }
  760. }
  761. }
  762. Debug.Log("build : "+build.Count);
  763. for(int i=0;i<build.Count;i++)
  764. {
  765. if(build[i].key== "android_apk_version")
  766. {
  767. Debug.Log("android_apk_version "+build[i].value);
  768. LocalDataSave.ServerBuildVersionCode = build[i].value;
  769. PlayerPrefs.SetString(LocalDataSave.ServerBuildVersionCodeKey,LocalDataSave.ServerBuildVersionCode);
  770. MenuCOntroller.menuCOntroller.UpdateForAndroidVersionChange();
  771. }
  772. }
  773. }
  774. }
Add Comment
Please, Sign In to add comment