YouYiSDKiOS.cs 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. #if UNITY_IOS
  2. using System.Runtime.InteropServices;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using UnityEngine;
  6. using qsdk;
  7. public class YouYiSDKiOS : SDKBase
  8. {
  9. private YouYiListener m_YouYiListener;
  10. public QKGame qKGamesdk;
  11. private QSdkListener qListenter;
  12. public YouYiSDKiOS()
  13. {
  14. SDKName = "XUAN_YOU_IOS";
  15. m_YouYiListener = SDKMgr.Instance.gameObject.AddComponent<YouYiListener>();
  16. qListenter = SDKMgr.Instance.gameObject.AddComponent<QSdkListener>();
  17. qKGamesdk = new QKGame();
  18. //YouYi_SetCallbackGoName(SDKMgr.Instance.gameObject.name);
  19. qListenter.InitListener(m_YouYiListener);
  20. QSdkMgr.SetListener(qListenter.gameObject.name);
  21. }
  22. public override void Init()
  23. {
  24. base.Init();
  25. //YouYi_Init();
  26. if (QSdkMgr.InitState == QKSDKInitState.Success)
  27. {
  28. CallInitSuccessCB();
  29. return;
  30. }
  31. QSdkMgr.Init();
  32. }
  33. public override void OnApplicationFocus(bool focusStatus)
  34. {
  35. base.OnApplicationFocus(focusStatus);
  36. }
  37. public override void Login()
  38. {
  39. QSdkMgr.Login();
  40. }
  41. public override void Logout()
  42. {
  43. //YouYi_Logout();
  44. QSdkMgr.Logout();
  45. }
  46. public override void SwitchAccount()
  47. {
  48. //YouYi_SwitchAccount();
  49. }
  50. public override void Pay(int goodsId, string goodsName, string goodsDesc, int count, float amount, string cpOrderId, string extrasParams)
  51. {
  52. GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
  53. if (gameRoleInfo == null || !gameRoleInfo.Valid())
  54. {
  55. Debug.LogError("[YISDK][Pay] GameRoleInfo is null or not valid !!!");
  56. m_YouYiListener.OnPayFailed();
  57. return;
  58. }
  59. Dictionary<string, SDKMgr.ProductInfo> cfgs = SDKMgr.Instance.ProductInfos;
  60. int itemp = Mathf.FloorToInt(amount);
  61. string pice = "";
  62. if ((itemp + 0.005f) > amount)
  63. {
  64. pice = itemp.ToString();
  65. }
  66. else
  67. {
  68. pice = amount.ToString("F2");
  69. }
  70. Debug.Log("价格 = " + pice);
  71. if (cfgs.ContainsKey(pice))
  72. {
  73. Debug.Log("有 价格 = " + pice);
  74. SDKMgr.ProductInfo productInfo = cfgs[pice];
  75. //Debug.Log($"=========================={productInfo.ID}======={productInfo.Name}");
  76. object extraInfo =JsonUtility.FromJson(extrasParams, typeof(SDKOrderExtraInfo));
  77. if (extraInfo != null)
  78. {
  79. SDKOrderExtraInfo ext = (SDKOrderExtraInfo)extraInfo;
  80. ext.orderNo = cpOrderId;
  81. extrasParams = JsonUtility.ToJson(ext);
  82. }
  83. QSdkMgr.Pay(productInfo.ID, productInfo.Name, amount.ToString(), cpOrderId, goodsName,
  84. extrasParams, Application.productName, gameRoleInfo.serverName, goodsDesc,
  85. gameRoleInfo.serverId.ToString(), m_YouYiListener.UID,gameRoleInfo.roleId,gameRoleInfo.roleLv.ToString());
  86. }
  87. else
  88. {
  89. Debug.Log("没有 价格 = " + pice);
  90. m_YouYiListener.OnPayFailed();
  91. }
  92. }
  93. public override void CreateRole()
  94. {
  95. GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
  96. if (gameRoleInfo == null || !gameRoleInfo.Valid())
  97. {
  98. return;
  99. }
  100. QSdkMgr.UpdateRoleInfo(0,gameRoleInfo,"");
  101. }
  102. public override void EnterGame()
  103. {
  104. GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
  105. if (gameRoleInfo == null || !gameRoleInfo.Valid())
  106. {
  107. return;
  108. }
  109. QSdkMgr.UpdateRoleInfo(1, gameRoleInfo, "");
  110. }
  111. public override void UpdateRoleLv()
  112. {
  113. GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
  114. if (gameRoleInfo == null || !gameRoleInfo.Valid())
  115. {
  116. return;
  117. }
  118. QSdkMgr.UpdateRoleInfo(2, gameRoleInfo, "");
  119. }
  120. public override void ExitGame()
  121. {
  122. }
  123. public override bool Exit()
  124. {
  125. return false;
  126. }
  127. public override bool Quit()
  128. {
  129. return false;
  130. }
  131. public override void CallInitSuccessCB()
  132. {
  133. m_YouYiListener.OnInitSuccess();
  134. }
  135. public override void CallLoginSuccessCB()
  136. {
  137. m_YouYiListener.StartCheckLogin();
  138. }
  139. public class SDKOrderExtraInfo
  140. {
  141. public int serverId;
  142. public string platform;
  143. public string subPlatform;
  144. public string orderNo;
  145. }
  146. }
  147. #endif