Rodlaiz

Untitled

Mar 25th, 2022
957
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 15.24 KB | None | 0 0
  1. using System.Collections.Generic;
  2. using UnityEngine;
  3. using UnityEngine.Events;
  4.  
  5. namespace Game.Core
  6. {
  7.     public class WebApi
  8.     {
  9.         private static string _apiUrl;
  10.  
  11.  
  12.         public static void DefineEnvironment()
  13.         {
  14.             if (GameData.BuildConfig.liveEnvironment)
  15.             {
  16.                 _apiUrl = GameData.BackendConfig.apiLiveUrl;
  17.             }
  18.             else if (GameData.DevMode && GameData.DevConfig.useLocalApiUrl)
  19.             {
  20.                 _apiUrl = GameData.BackendConfig.apiLocalUrl;
  21.             }
  22.             else
  23.             {
  24.                 _apiUrl = GameData.BackendConfig.apiDevUrl;
  25.             }
  26.         }
  27.  
  28.         public static void GetInitData(UnityAction<object> onSuccess, UnityAction<int, string> onError)
  29.         {
  30.             Dictionary<string, string> data = new Dictionary<string, string>
  31.             {
  32.                 { "deviceId", GameInit.Instance.DeviceId },
  33.             };
  34.  
  35.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/gameinit");
  36.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  37.         }
  38.  
  39.         public static void GetIslandsData(UnityAction<object> onSuccess, UnityAction<int, string> onError)
  40.         {
  41.             Dictionary<string, string> data = new Dictionary<string, string>
  42.             {
  43.                 { "deviceId", GameInit.Instance.DeviceId },
  44.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  45.             };
  46.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/islands/clientData");
  47.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  48.         }
  49.  
  50.         public static void GetPerksData(UnityAction<object> onSuccess, UnityAction<int, string> onError)
  51.         {
  52.             Dictionary<string, string> data = new Dictionary<string, string>
  53.             {
  54.                 { "deviceId", GameInit.Instance.DeviceId },
  55.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  56.             };
  57.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/perks/clientData");
  58.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  59.         }
  60.  
  61.         public static void PurchasePerk(int perkId, int amount, UnityAction<object> onSuccess, UnityAction<int, string> onError)
  62.         {
  63.             Dictionary<string, string> data = new Dictionary<string, string>
  64.             {
  65.                 { "deviceId", GameInit.Instance.DeviceId },
  66.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  67.                 { "perkId", perkId.ToString() },
  68.                 { "amount", amount.ToString() },
  69.             };
  70.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/perks/purchase");
  71.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  72.         }
  73.  
  74.         public static void GetSkinsData(UnityAction<object> onSuccess, UnityAction<int, string> onError)
  75.         {
  76.             Dictionary<string, string> data = new Dictionary<string, string>
  77.             {
  78.                 { "deviceId", GameInit.Instance.DeviceId },
  79.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  80.             };
  81.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/skins/clientData");
  82.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  83.         }
  84.  
  85.         public static void PurchaseSkin(int skinId, UnityAction<object> onSuccess, UnityAction<int, string> onError)
  86.         {
  87.             Dictionary<string, string> data = new Dictionary<string, string>
  88.             {
  89.                 { "deviceId", GameInit.Instance.DeviceId },
  90.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  91.                 { "skinId", skinId.ToString() },
  92.             };
  93.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/skins/purchase");
  94.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  95.         }
  96.        
  97.         public static void EquipSkin(int skinId, UnityAction<object> onSuccess, UnityAction<int, string> onError)
  98.         {
  99.             Dictionary<string, string> data = new Dictionary<string, string>
  100.             {
  101.                 { "deviceId", GameInit.Instance.DeviceId },
  102.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  103.                 { "skinId", skinId.ToString() },
  104.             };
  105.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/skins/equip");
  106.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  107.         }
  108.  
  109.         public static void GetChestsData(UnityAction<object> onSuccess, UnityAction<int, string> onError)
  110.         {
  111.             Dictionary<string, string> data = new Dictionary<string, string>
  112.             {
  113.                 { "deviceId", GameInit.Instance.DeviceId },
  114.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  115.             };
  116.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/chests/clientData");
  117.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  118.         }
  119.  
  120.         public static void GetChestsQueueData(UnityAction<object> onSuccess, UnityAction<int, string> onError)
  121.         {
  122.             Dictionary<string, string> data = new Dictionary<string, string>
  123.             {
  124.                 { "deviceId", GameInit.Instance.DeviceId },
  125.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  126.             };
  127.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/chests/queue");
  128.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  129.         }
  130.  
  131.         public static void OpenChest(int playerChestId, UnityAction<object> onSuccess, UnityAction<int, string> onError)
  132.         {
  133.             Dictionary<string, string> data = new Dictionary<string, string>
  134.             {
  135.                 { "deviceId", GameInit.Instance.DeviceId },
  136.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  137.                 { "playerChestId", playerChestId.ToString() },
  138.             };
  139.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/chests/open");
  140.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  141.         }
  142.  
  143.         public static void PurchaseChest(int chestId, UnityAction<object> onSuccess, UnityAction<int, string> onError)
  144.         {
  145.             Dictionary<string, string> data = new Dictionary<string, string>
  146.             {
  147.                 { "deviceId", GameInit.Instance.DeviceId },
  148.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  149.                 { "chestId", chestId.ToString() },
  150.             };
  151.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/chests/purchase");
  152.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  153.         }
  154.  
  155.         public static void StartChestUnlock(int playerChestId, UnityAction<object> onSuccess, UnityAction<int, string> onError)
  156.         {
  157.             Dictionary<string, string> data = new Dictionary<string, string>
  158.             {
  159.                 { "deviceId", GameInit.Instance.DeviceId },
  160.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  161.                 { "playerChestId", playerChestId.ToString() },
  162.             };
  163.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/chests/startUnlock");
  164.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  165.         }
  166.  
  167.         public static void PurchaseChestUnlock(int playerChestId, UnityAction<object> onSuccess, UnityAction<int, string> onError)
  168.         {
  169.             Dictionary<string, string> data = new Dictionary<string, string>
  170.             {
  171.                 { "deviceId", GameInit.Instance.DeviceId },
  172.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  173.                 { "playerChestId", playerChestId.ToString() },
  174.             };
  175.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/chests/purchaseUnlock");
  176.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  177.         }
  178.  
  179.         public static void ClaimFreeChest(UnityAction<object> onSuccess, UnityAction<int, string> onError)
  180.         {
  181.             Dictionary<string, string> data = new Dictionary<string, string>
  182.             {
  183.                 { "deviceId", GameInit.Instance.DeviceId },
  184.                 { "st", GameInit.Instance.PlayerProfile.SessionToken }
  185.             };
  186.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/chests/claimFree");
  187.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  188.         }
  189.  
  190.         public static void UpdateProfileInfo(Dictionary<string, string> data, UnityAction<object> onSuccess, UnityAction<int, string> onError)
  191.         {
  192.             data.Add("deviceId", GameInit.Instance.DeviceId);
  193.             data.Add("st", GameInit.Instance.PlayerProfile.SessionToken);
  194.  
  195.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/playerProfile/updateInfo");
  196.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.POST, data, onSuccess, onError);
  197.         }
  198.  
  199.         public static void UpdateProfileFlags(bool? isTutorialComplete, bool? isInPolicyAgreement, UnityAction<object> onSuccess, UnityAction<int, string> onError)
  200.         {
  201.             Dictionary<string, string> data = new Dictionary<string, string>();
  202.  
  203.             if (isInPolicyAgreement != null)
  204.                 data.Add("isInPolicyAgreement", isInPolicyAgreement.ToString());
  205.  
  206.             if (isTutorialComplete != null)
  207.                 data.Add("isTutorialComplete", isTutorialComplete.ToString());
  208.  
  209.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/playerProfile/updateFlags");
  210.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.POST, data, onSuccess, onError);
  211.         }
  212.  
  213.         public static void GetWalletData(UnityAction<object> onSuccess, UnityAction<int, string> onError)
  214.         {
  215.             Dictionary<string, string> data = new Dictionary<string, string>
  216.             {
  217.                 { "deviceId", GameInit.Instance.DeviceId },
  218.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  219.             };
  220.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/wallet");
  221.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  222.         }
  223.  
  224.         public static void GetStoreData(UnityAction<object> onSuccess, UnityAction<int, string> onError)
  225.         {
  226.             Dictionary<string, string> data = new Dictionary<string, string>
  227.             {
  228.                 { "deviceId", GameInit.Instance.DeviceId },
  229.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  230.             };
  231.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/store/clientData");
  232.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  233.         }
  234.        
  235.         public static void PurchaseStoreOffer(int offerId, UnityAction<object> onSuccess, UnityAction<int, string> onError)
  236.         {
  237.             Dictionary<string, string> data = new Dictionary<string, string>
  238.             {
  239.                 { "deviceId", GameInit.Instance.DeviceId },
  240.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  241.                 { "offerId", offerId.ToString() },
  242.             };
  243.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/store/purchaseOffer");
  244.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  245.         }
  246.        
  247.         public static void PurchaseStoreDeal(int dealId, UnityAction<object> onSuccess, UnityAction<int, string> onError)
  248.         {
  249.             Dictionary<string, string> data = new Dictionary<string, string>
  250.             {
  251.                 { "deviceId", GameInit.Instance.DeviceId },
  252.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  253.                 { "dealId", dealId.ToString() },
  254.             };
  255.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/store/purchaseDeal");
  256.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  257.         }
  258.        
  259.         public static void PurchaseStoreCurrencyPack(int packId, UnityAction<object> onSuccess, UnityAction<int, string> onError)
  260.         {
  261.             Dictionary<string, string> data = new Dictionary<string, string>
  262.             {
  263.                 { "deviceId", GameInit.Instance.DeviceId },
  264.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  265.                 { "packId", packId.ToString() },
  266.             };
  267.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/store/purchaseCurrencyPack");
  268.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  269.         }
  270.  
  271.         public static void GetLocalizationData(string languageCode, UnityAction<object> onSuccess, UnityAction<int, string> onError)
  272.         {
  273.             Dictionary<string, string> data = new Dictionary<string, string>
  274.             {
  275.                 { "deviceId", GameInit.Instance.DeviceId },
  276.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  277.                 { "languageCode", languageCode },
  278.             };
  279.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/localization");
  280.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  281.         }
  282.  
  283.         public static void GetLegalsData(UnityAction<object> onSuccess, UnityAction<int, string> onError)
  284.         {
  285.             Dictionary<string, string> data = new Dictionary<string, string>
  286.             {
  287.                 { "deviceId", GameInit.Instance.DeviceId },
  288.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  289.             };
  290.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/legals");
  291.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  292.         }
  293.  
  294.         public static void DeclareIAP(UnityAction<object> onSuccess, UnityAction<int, string> onError)
  295.         {
  296.             Dictionary<string, string> data = new Dictionary<string, string>
  297.             {
  298.                 { "deviceId", GameInit.Instance.DeviceId },
  299.                 { "st", GameInit.Instance.PlayerProfile.SessionToken },
  300.             };
  301.             string requestUrl = string.Format("{0}{1}", _apiUrl, "api/iap");
  302.             GameInit.Instance.RequestsController.CreateRequest(requestUrl, RequestType.GET, data, onSuccess, onError);
  303.         }
  304.     }
  305. }
Advertisement
Add Comment
Please, Sign In to add comment