//通过状态,返回区服文字颜色 public static string GetZoneNameByState(Pmd.ZoneInfo zone) { string zonename = zone.zonename; // if (zone.state == Pmd.ZoneState.Shutdown) // { // //灰色 // zonename = "[777777]" + zonename + "[-]"; // } // else if (zone.state == Pmd.ZoneState.Normal) // { // //绿色 // zonename = "[00ff00]" + zonename + "[-]"; // } // else if (zone.state == Pmd.ZoneState.Fullly) // { // //红色 // zonename = "[ff0000]" + zonename + "[-]"; // } // else if (zone.state == Pmd.ZoneState.Starting) // { // zonename = "[68228B]" + zonename + "[-]"; // } return(zonename); }
public void DoPlatformPay(GameCmd.stCreatePlatOrderPropertyUserCmd_S msg , uint characterId, int characterlv, string roleName, string clanName, Pmd.ZoneInfo zoneInfo, string currencyName, float currencyRatio, table.RechargeDataBase rechargeDb) { LoginDataManager lg = DataManager.Manager <LoginDataManager>(); int payMoney = (int)rechargeDb.money; int fenPayMoney = payMoney * 100; string moneyStr = fenPayMoney.ToString(); string characterIDStr = characterId.ToString(); string gameOrder = msg.gameorder; string token = lg.LoginToken; string serverNo = lg.ServerNo; string serverName = lg.ServerName; string account = lg.Acount; string accountIDStr = lg.AccountID; string characterLvStr = characterlv.ToString(); if (Application.platform == RuntimePlatform.Android) { CommonSDKPlaform.Instance.Pay(msg, characterId, characterlv, roleName, clanName, zoneInfo, currencyName, currencyRatio, rechargeDb); } else if (Application.platform == RuntimePlatform.IPhonePlayer) { ZqgameSDKController.Instance.Pay(moneyStr, account, characterIDStr, gameOrder, accountIDStr, token, rechargeDb.iosIAPId, serverNo, characterLvStr); } }
/// <summary> /// 服务器返回订单信息 /// </summary> public void OnRequestRechargeOrder(GameCmd.stCreatePlatOrderPropertyUserCmd_S msg) { Client.IPlayer mainPlayer = DataManager.Instance.MainPlayer; if (null == mainPlayer) { return; } uint characterID = mainPlayer.GetID(); int characterLv = mainPlayer.GetProp((int)Client.CreatureProp.Level); ClanDefine.LocalClanInfo clanInfo = DataManager.Manager <ClanManger>().ClanInfo; string clanName = ""; if (null != clanInfo) { clanName = clanInfo.Name; } Pmd.ZoneInfo zoneInfo = DataManager.Manager <LoginDataManager>().GetZoneInfo(); string currencyName = "元宝"; string roleName = mainPlayer.GetName(); table.RechargeDataBase rechargeDb = GameTableManager.Instance.GetTableItem <table.RechargeDataBase>(msg.goodid); //平台支付 DoPlatformPay(msg, characterID, characterLv, roleName, clanName, zoneInfo, currencyName, CURRENCY_RATIO, rechargeDb); }
/// <summary> /// 服务器在线状态 /// </summary> /// <returns></returns> public static int GetZoneOnlineStatus(Pmd.ZoneInfo zone) { uint onlinenum = zone.onlinenum; if (zone.state == Pmd.ZoneState.Shutdown) { return(4);//维护 } if (onlinenum > 1000) { return(1);//火爆 } else if (onlinenum > 500) { return(2);//拥挤 } return(3);//畅通 }
void InitZone() { m_label_LabelServer.text = ""; DataManager.Manager <LoginDataManager>().IpStr = null; Pmd.ZoneInfo curZoneInfo = null; if (GlobalConfig.Instance().Test) { curZoneInfo = Mgr.GetZoneInfo(GlobalConfig.Instance().TestServerId); } else { curZoneInfo = Mgr.GetZoneInfo(); } int zoneState = 4; string zoneName = ""; if (null != curZoneInfo) { //有可用区服 zoneState = UIServerListGrid.GetZoneOnlineStatus(curZoneInfo); zoneName = curZoneInfo.zonename; DataManager.Manager <LoginDataManager>().StartCheckServerStateTimer(); } else { //无可用区服 zoneState = 4; zoneName = "无可用区服"; } if (m_spriteEx_status != null) { m_spriteEx_status.ChangeSprite(zoneState); } if (null != m_label_LabelServer) { m_label_LabelServer.text = zoneName; } }
public void SetServerListGridData(Pmd.ZoneInfo zone, int index) { if (zone == null) { gameObject.SetActive(false); return; } m_index = index; if (!gameObject.activeSelf) { gameObject.SetActive(true); } m_zone = zone; if (m_lableName != null) { m_lableName.text = GetZoneNameByState(zone); } if (m_spriteStatus != null) { m_spriteStatus.ChangeSprite(GetZoneOnlineStatus(zone)); } //TODO if (m_spriteRoleIcon != null) { m_spriteRoleIcon.ChangeSprite(0); if (m_lableLevel != null) { m_lableLevel.text = ""; } } if (m_goNewTips != null) { m_goNewTips.SetActive(false); } }
/// <summary> /// 支付接口 /// </summary> public void Pay(GameCmd.stCreatePlatOrderPropertyUserCmd_S orderMsg, uint characterId, int characterlv, string roleName, string clanName , Pmd.ZoneInfo zoneInfo, string currencyName, float currencyRatio , table.RechargeDataBase rechargeDB) { if (!DataManager.Manager <LoginDataManager>().IsSDKLogin) { Debug.LogError("Pay Faield,SDK not login!"); return; } if (Application.platform == RuntimePlatform.Android) { if (null == rechargeDB) { Debug.LogError("充值失败,数据错误"); return; } AndroidJavaObject payData = new AndroidJavaObject("com.talkingsdk.models.PayData"); AndroidJavaObject hashmap = new AndroidJavaObject("java.util.HashMap"); System.IntPtr methodPut = AndroidJNIHelper.GetMethodID(hashmap.GetRawClass(), "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"); Debug.Log("m_loginResult.uid :" + m_loginResult.uid); Dictionary <string, string> dict = new Dictionary <string, string>(); dict.Add("UserId", m_loginResult.szLoginAcccount); //uid //dict.Add("UserId", m_loginResult.uid); //uid dict.Add("UserBalance", "0"); //用户余额 dict.Add("UserGamerVip", "1"); //vip 等级 dict.Add("UserLevel", characterlv.ToString()); //角色等级 if (string.IsNullOrEmpty(clanName)) { clanName = "testName"; } dict.Add("UserPartyName", clanName); //工会,帮派 if (string.IsNullOrEmpty(roleName)) { roleName = "Underworld"; } dict.Add("UserRoleName", roleName); //角色名称 dict.Add("UserRoleId", characterId.ToString()); //角色id dict.Add("LoginAccount", m_loginResult.szLoginAcccount); dict.Add("LoginDataEx", m_loginResult.szLoginDataEx); dict.Add("LoginSession", m_loginResult.szLoginSession); dict.Add("AccessKey", orderMsg.sign); //拓展字段 dict.Add("OutOrderID", orderMsg.platorder); //平台订单号 dict.Add("NoticeUrl", orderMsg.noticeurl); //支付回调地址 //UserServerId string zoneIdStr = ""; string serverNameStr = "Underworld"; if (null != zoneInfo) { //合服后使用目标服务器 zoneIdStr = LoginDataManager.GetBestZoneID(zoneInfo).ToString(); serverNameStr = zoneInfo.zonename; } dict.Add("UserServerId", zoneIdStr); dict.Add("UserServerName", serverNameStr); // int payMoney = (int)rechargeDB.money; int gameMoneyAmout = payMoney * 10; dict.Add("GameMoneyAmount", gameMoneyAmout.ToString()); dict.Add("GameMoneyName", currencyName); object[] args = new object[2]; foreach (KeyValuePair <string, string> kvp in dict) { AndroidJavaObject k = new AndroidJavaObject("java.lang.String", kvp.Key); AndroidJavaObject v = new AndroidJavaObject("java.lang.String", kvp.Value); args[0] = k; args[1] = v; AndroidJNI.CallObjectMethod(hashmap.GetRawObject(), methodPut, AndroidJNIHelper.CreateJNIArgArray(args)); } Debug.LogError("go to pay.... setMyOrderId " + orderMsg.gameorder + " payGoodsData.pay_info.out_order: " + orderMsg.platorder + " rmb: " + payMoney + " setProductCount :" + orderMsg.goodnum + " setProductId :" + orderMsg.appgoodid + " setProductName :" + rechargeDB.rechargeName + " setSubmitTime:" + orderMsg.createtime + " extData:" + orderMsg.extdata + " AccessKey:" + orderMsg.sign + " userID:" + m_loginResult.szLoginAcccount + " LoginAcccount:" + m_loginResult.szLoginAcccount ); //string 类型 payData.Call("setMyOrderId", orderMsg.gameorder); payData.Call("setProductId", orderMsg.appgoodid.ToString());//"1");// payData.Call("setSubmitTime", orderMsg.createtime); payData.Call("setDescription", rechargeDB.desc); payData.Call("setProductName", rechargeDB.rechargeName); //int 类型 ,SDK 这边统一以分为单位 int fenPayMoney = payMoney * 100; payData.Call("setProductRealPrice", fenPayMoney); payData.Call("setProductIdealPrice", fenPayMoney); payData.Call("setProductCount", (int)orderMsg.goodnum); payData.Call("setEx", hashmap); sdkBase.Call("pay", payData); } else if (Application.platform == RuntimePlatform.IPhonePlayer) { } }