Guest User

Untitled

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