public static void PurchaseItem(ITEM_MALL_ITEM item, bool bIfItemKeyNull_NotifyCantBuy) { if (item == null) { return; } BillingManager billingManager = BillingManager.GetBillingManager(); if (billingManager == null) { return; } if (string.IsNullOrEmpty(item.GetStoreItem())) { if (bIfItemKeyNull_NotifyCantBuy) { Main_UI_SystemMessage.ADDMessage(NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("211")); } else { TsLog.LogError("Store Item key is null", new object[0]); Main_UI_SystemMessage.ADDMessage("Store Item key is null", SYSTEM_MESSAGE_TYPE.CAUTION_MESSAGE); } return; } if (billingManager != null) { GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ(); gS_BILLING_ITEM_RECODE_REQ.i8Type = 0; gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = item.m_Idx; SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ); billingManager.PurchaseItem(item.GetStoreItem(), (int)item.m_nPrice); NrTSingleton <FiveRocksEventManager> .Instance.Placement("paying"); } }
public bool Receive(Socket socket, SocketFlags option) { if (socket != null && socket.Connected && 0 < socket.Available) { int available = socket.Available; if (this.mReceiveIndex + available > this.mBufferPool.Length) { TsLog.LogError("Offset OVER Rewind {0}({1} + {2}) > {3} ", new object[] { this.mReceiveIndex + available, this.mReceiveIndex, available, this.mBufferPool.Length }); this.SetRewindBuffer(); } int num = socket.Receive(this.mBufferPool, this.mReceiveIndex, available, option); if (available != num) { Debug.LogError(string.Concat(new object[] { ":NotMathch", available, ", ", num })); } this.mTotalLen += num; this.mReceiveIndex += num; return(true); } return(false); }
public void Add(E_CHAR_SELECT_STEP NextStep, Action <object> a_EndEvent, float _fEventFixTime, params object[] _states) { for (int i = 0; i < _states.Length; i++) { object obj = _states[i]; try { E_CAMARA_STATE_ANI e_CAMARA_STATE_ANI = (E_CAMARA_STATE_ANI)((int)obj); AniKeyPair data = this.m_aniKeyManager.GetData(e_CAMARA_STATE_ANI); if (data != null) { this.m_PlayAniQue.Enqueue(data); } else { TsLog.LogWarning("STATE ITEM == NULL : {0}", new object[] { e_CAMARA_STATE_ANI }); } } catch (Exception ex) { TsLog.LogError("Error State : {0} , Message : {1}", new object[] { obj.ToString(), ex.Message }); } } this.m_fFixTime = _fEventFixTime; this.m_bSendEvent = false; this.m_NextStep = NextStep; this.m_PlayAniEndEvent = a_EndEvent; }
private BABEL_CLEARINFO GetBabelClearInfo(byte _column_num, short floortype) { foreach (BABEL_CLEARINFO current in this.BabelClearList) { if (_column_num == current.ColumnNum && floortype == current.FloorType) { return(current); } } TsLog.LogError("BABEL_CLEARINFO == NULL ColumnNum={0} FloorType ={1}", new object[] { _column_num, floortype }); foreach (BABEL_CLEARINFO current2 in this.BabelClearList) { TsLog.LogError("BABEL_CLEARINFO Data ColumnNum={0} FloorType ={1} ClearData = {2} ", new object[] { current2.ColumnNum, current2.FloorType, current2.ClearInfo }); } return(null); }
private void queryInventoryFailedEvent(string error) { BillingManager_Google component = BillingManager_Google.Instance.GetComponent <BillingManager_Google>(); if (component != null) { if (this.m_i32QueryInventoryCount < 5) { component.CheckRestoreItem(); this.m_i32QueryInventoryCount++; } else { GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ(); gS_BILLING_ITEM_RECODE_REQ.i8Type = 3; gS_BILLING_ITEM_RECODE_REQ.i8Result = 0; gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = 0L; NrTSingleton <ItemMallItemManager> .Instance.RecodeErrorMessage(ref gS_BILLING_ITEM_RECODE_REQ, error); SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ); this.m_i32QueryInventoryCount = 0; } component.SendQueryInventory = false; } TsLog.LogError("error :{0}", new object[] { error }); }
private static IObjectPoolContainer I_GetObjectPoolContainer(ObjectPoolKey _key) { IObjectPoolContainer objectPoolContainer; if (!ObjectPoolManager.ms_ObjPools.TryGetValue(_key, out objectPoolContainer)) { bool flag = true; object[] customAttributes = _key.GetObjType().GetCustomAttributes(false); for (int i = 0; i < customAttributes.Length; i++) { ObjectPoolAttribute objectPoolAttribute = (ObjectPoolAttribute)customAttributes[i]; ObjectPoolAttribute objectPoolAttribute2 = objectPoolAttribute; if (objectPoolAttribute2 != null) { objectPoolContainer = objectPoolAttribute2.CreatePoolContainerStaticPrivate(objectPoolAttribute2); ObjectPoolManager.ms_ObjPools.Add(_key, objectPoolContainer); flag = false; break; } } if (flag) { TsLog.LogError("ObjectPoolManager.I_GetObjectPoolContainer(...). Fail creation {0}", new object[] { _key.GetObjType() }); } } return(objectPoolContainer); }
public bool IsBuyCountLimit(ITEM_MALL_ITEM ItemMallItem) { ITEM_VOUCHER_DATA itemVoucherDataFromItemID = this.GetItemVoucherDataFromItemID(ItemMallItem.m_Idx); if (itemVoucherDataFromItemID != null) { long voucherRemainTime = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.GetVoucherRemainTime((eVOUCHER_TYPE)itemVoucherDataFromItemID.ui8VoucherType, itemVoucherDataFromItemID.i64ItemMallID); TsLog.LogError("i64RemainTime ={0}", new object[] { voucherRemainTime }); if (voucherRemainTime > 0L) { return(true); } } if (ItemMallItem.m_nSaleNum == 0) { return(true); } for (int i = 0; i < this.m_ItemMallBuyCountList.Count; i++) { if (this.m_ItemMallBuyCountList[i].i64ItemMallID == ItemMallItem.m_Idx) { return(ItemMallItem.m_nSaleNum > this.m_ItemMallBuyCountList[i].i32BuyCount); } } return(true); }
public void SetAnim(TextureAnim anim, int idx) { if (anim == null) { return; } if (anim.spriteFrames == null) { return; } this.frames = new SPRITE_FRAME[anim.spriteFrames.Length]; this.index = idx; this.name = anim.name; this.loopCycles = anim.loopCycles; this.loopReverse = anim.loopReverse; this.framerate = anim.framerate; this.onAnimEnd = anim.onAnimEnd; try { for (int i = 0; i < this.frames.Length; i++) { this.frames[i] = anim.spriteFrames[i].ToStruct(); } } catch (Exception ex) { TsLog.LogError("Exception caught in UVAnimation.SetAnim(). Make sure you have re-built your atlases!\nException: " + ex.Message, new object[0]); } this.CalcLength(); }
public void OnEvent_Downloaded(IDownloadedItem wItem, object obj) { if (!wItem.canAccessAssetBundle) { return; } AudioClip x = wItem.mainAsset as AudioClip; if (x == null) { TsLog.LogError("Error! It's not AudioClip. DownLoadPath= " + wItem.assetPath, new object[0]); return; } TsAudio.RequestData requestData = obj as TsAudio.RequestData; TsAudio tsAudio = TsAudioCreator.Create(requestData.baseData); if (tsAudio == null) { TsLog.LogError("Error! Cannot Create TsAudio DownLoadPath= " + wItem.assetPath, new object[0]); return; } tsAudio.RefAudioClip = (wItem.mainAsset as AudioClip); TsLog.Log("OnEvent_Downloaded() Success Download~! ClipName= " + tsAudio.RefAudioClip.name, new object[0]); this._downloadedAudioEx.Add(tsAudio); wItem.unloadImmediate = true; }
public static object LoadFromResources(string strKey) { if (string.IsNullOrEmpty(strKey)) { Debug.LogWarning("key name can't be null."); return(null); } string text = strKey.ToLower(); object obj = ResourceCache.GetResource(text); if (obj != null) { return(obj); } obj = ResourceCache.LoadFromResourcesImmediate(text); if (obj == null) { TsLog.LogError("Fail! CResources::Load - {0}\n\\rCallStack : {1}", new object[] { text, StackTraceUtility.ExtractStackTrace() }); } else { ResourceCache.ms_CacheDic.Add(text, new ResourceCache.LifeSaver(obj)); } return(obj); }
public bool ReadIntermalCurve(XmlReader reader, ref AnimationCurve anicurve) { try { while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element && reader.Name.CompareTo("USInternalCurve") == 0) { anicurve = new AnimationCurve(); this.ReadAnimationCurve(reader, ref anicurve); } if (reader.NodeType == XmlNodeType.EndElement) { reader.Read(); break; } } } catch (Exception ex) { TsLog.LogError(ex.Message + " " + ex.StackTrace, new object[0]); return(false); } return(true); }
private void LoadMaterial() { if (this.m_MaterialNames == null) { return; } this.m_ProgressCount = this.m_MaterialNames.Length; this.m_Materials = new Material[this.m_ProgressCount]; for (int i = 0; i < this.m_MaterialNames.Length; i++) { if (!string.IsNullOrEmpty(this.m_MaterialNames[i])) { string text = TsMaterialBundleLoader.MakeBundlePath(this.m_MaterialNames[i]); WWWItem wWWItem = Holder.TryGetOrCreateBundle(text, TsMaterialBundleLoader.CommonTextureGroup.Name); if (wWWItem != null) { wWWItem.SetItemType(ItemType.USER_ASSETB); wWWItem.SetCallback(new PostProcPerItem(this.OnCompleteDownload), i); TsImmortal.bundleService.RequestDownloadCoroutine(wWWItem, DownGroup.RUNTIME, false); } else { TsLog.LogError("[RuntimeTexture] cannot create WWWItem (\"{0}\")", new object[] { text }); } } } }
protected override void _OnAwake() { if (base.RefAudioSource == null) { TsLog.LogError("AudioSource Must need~!", new object[0]); } }
public bool ReadCamera(XmlReader reader, ref CutScene_Camera camera) { bool flag = true; try { while (flag) { if (reader.NodeType == XmlNodeType.Element && !reader.IsEmptyElement) { if (reader.Name.CompareTo("localPosition") == 0) { this.ReadLocalPosition(reader, ref camera); } else if (reader.Name.CompareTo("localRotation") == 0) { this.ReadLocalRotation(reader, ref camera); } } else if (reader.NodeType == XmlNodeType.EndElement) { reader.Read(); break; } flag = reader.Read(); } } catch (Exception ex) { TsLog.LogError(ex.Message + " " + ex.StackTrace, new object[0]); return(false); } return(true); }
public void FinishDownloadWeaponTrail(IDownloadedItem wItem, object kParamObj) { try { if (!(this.m_kBaseObject == null)) { if (!wItem.isCanceled) { if (wItem.GetSafeBundle() == null) { TsLog.LogWarning("wItem.mainAsset is null -> Path = {0}", new object[] { wItem.assetPath }); } else { GameObject original = wItem.GetSafeBundle().mainAsset as GameObject; this.m_kWeaponTrailObject = (GameObject)UnityEngine.Object.Instantiate(original); this.m_kWeaponTrailObject.transform.parent = this.m_kBaseObject.transform; this.m_kWeaponTrailObject.transform.localPosition = Vector3.zero; this.m_kWeaponTrailObject.SetActive(true); NkUtil.SetAllChildActive(this.m_kWeaponTrailObject, false, true); } } } } catch (Exception obj) { TsLog.LogError(obj); } }
private bool SetMaterial(ref GameObject _obj, string ImageKey) { Texture2D texture = NrTSingleton <UIImageBundleManager> .Instance.GetTexture(ImageKey); if (null != texture) { Material material = new Material(Shader.Find("Transparent/Vertex Colored" + NrTSingleton <UIDataManager> .Instance.AddFilePath)); if (null != material) { material.mainTexture = texture; if (null != this.BasefaceGameObject.renderer) { _obj.renderer.sharedMaterial = material; } return(true); } } else { TsLog.LogError("Not Found ImageKey = {0}", new object[] { ImageKey }); } return(false); }
public static T DispatchReturn <T>(object objHandler, Type typeHandler, string functionName, params object[] Params) { Type type = null; MethodInfo methodInfo = Dispatcher._GetMethodInfo(objHandler, typeHandler, functionName, out type); if (methodInfo == null) { TsLog.LogError("MSGHANDLE DispatchReturn<T> --- Missing! Message Handler not found! {0}.{1}", new object[] { (type != null) ? type.Name : "null", functionName }); } else { try { return((T)((object)methodInfo.Invoke(objHandler, Params))); } catch (NullReferenceException) { TsLog.LogWarning(string.Format("MSGHANDLE DispatchReturn<T> --- Invalid return type! {0}.{1}", type.Name, functionName), new object[0]); } catch (Exception ex) { TsLog.LogError("MSGHANDLE DispatchReturn<T> --- Invalid invoke! {0}.{1} - {2}", new object[] { type.Name, functionName, ex }); } } return(default(T)); }
protected virtual void Awake() { this.screenSize.x = 0f; this.screenSize.y = 0f; if (base.name.EndsWith("(Clone)")) { this.isClone = true; } if (!this.managed) { MeshFilter meshFilter = (MeshFilter)base.GetComponent(typeof(MeshFilter)); if (meshFilter != null) { this.oldMesh = meshFilter.sharedMesh; meshFilter.sharedMesh = null; } this.AddMesh(); } else if (this.manager != null) { this.manager.AddSprite(this); } else { TsLog.LogError("Managed sprite \"" + base.name + "\" has not been assigned to a SpriteManager!", new object[0]); } }
public static GameObject CreateGameObjectWithAudio(string goName, TsAudio.BaseData baseData, AudioClip clip, bool loop, bool isDontDestroyOnLoad) { if (string.IsNullOrEmpty(goName)) { goName = "_Audio: " + clip.name; } TsAudio tsAudio = TsAudioCreator.Create(baseData); if (tsAudio == null) { TsLog.LogError("CreateGameObjectWithAudio()~! Failed Create~! goName= " + goName, new object[0]); return(null); } GameObject gameObject = new GameObject(goName, new Type[] { typeof(AudioSource) }); tsAudio.RefAudioSource = gameObject.audio; tsAudio.RefAudioClip = clip; TsAudioAdapter tsAudioAdapter = TsAudioAdapter.TryToAddAdapter(gameObject, tsAudio); tsAudioAdapter.GetAudioEx().baseData.Loop = loop; tsAudioAdapter.GetAudioEx().baseData.IsDontDestroyOnLoad = isDontDestroyOnLoad; return(gameObject); }
public void ClearData() { PlayerPrefs.SetString(NrPrefsKey.BUY_PRODUCT_ID, string.Empty); PlayerPrefs.SetString(NrPrefsKey.BUY_UNIQUE_CODE, string.Empty); PlayerPrefs.SetString(NrPrefsKey.BUY_DATE, string.Empty); PlayerPrefs.Save(); TsLog.LogError("ClearData!!!", new object[0]); this.m_bRecovery = false; this.m_bRecoverytem = false; this.m_bRecovery = false; if (NrTSingleton <GameGuideManager> .Instance.ExecuteGuide) { GameGuideDlg gameGuideDlg = NrTSingleton <FormsManager> .Instance.GetForm(G_ID.GAMEGUIDE_DLG) as GameGuideDlg; if (gameGuideDlg != null) { if (NrTSingleton <GameGuideManager> .Instance.ContinueCheck(GameGuideType.PURCHASE_RESTORE)) { gameGuideDlg.SetTalkText(); } else { gameGuideDlg.ClickClose(null); } } } else { NrTSingleton <GameGuideManager> .Instance.RemoveGuide(GameGuideType.PURCHASE_RESTORE); } }
public static void Recv_LS_LOGIN_USER_ACK(NkDeserializePacket kDeserializePacket) { LS_LOGIN_USER_ACK packet = kDeserializePacket.GetPacket <LS_LOGIN_USER_ACK>(); if (packet.Result != 0) { string message = string.Empty; if (packet.Result == 2) { message = NrTSingleton <NrTextMgr> .Instance.GetTextFromPreloadText("Message5"); } else { message = NrTSingleton <NrTextMgr> .Instance.GetTextFromPreloadText("Message2"); } Main_UI_SystemMessage.ADDMessage(message); TsLog.LogError("LoginFailed = {0}", new object[] { (eRESULT)packet.Result }); BaseNet_Login.GetInstance().Quit(); return; } NrTSingleton <NkCharManager> .Instance.m_kCharAccountInfo.m_szAuthKey = TKString.NEWString(packet.szAuthKey); NrTSingleton <NkCharManager> .Instance.m_kCharAccountInfo.m_nSerialNumber = packet.nSerialNumber; Debug.LogWarning("Logged in from login server."); MsgHandler.Handle("Rcv_LOGIN_USER_ACK", new object[0]); }
public override void OnOK() { TsLog.LogError("StageNPatch - CHANGE", new object[0]); NrTSingleton <NrMainSystem> .Instance.m_ReLogin = false; NrTSingleton <NrMainSystem> .Instance.m_Login_BG = true; NrTSingleton <NrGlobalReference> .Instance.localWWW = true; NrTSingleton <NrMainSystem> .Instance.ReLogin(false); }
public void OnFinishCall(string message) { TsLog.LogError("OnFinishCall ", new object[0]); if (TsPlatform.IsAndroid) { TsPlatform.Operator.CloseWebView(); } }
private void Awake() { if (this.m_shader1 == null) { TsLog.LogError("Inspector 창에서 TsForceIncludeShaders 컴포넌트를 Reset 시켜주세요.", new object[0]); this._AssignShders(); } }
protected override void _OnAwake() { if (base.RefAudioSource == null) { TsLog.LogError("AudioSource Must need~!", new object[0]); } this._loopIntervalEndTime = 3.40282347E+38f; }
private void SetList(WhisperRoom Room) { List <WhisperUser> users = Room.GetUsers(); if (users == null) { return; } this.m_InviteList.Clear(); foreach (WhisperUser current in users) { ListItem listItem = new ListItem(); NrCharKindInfo charKindInfo = NrTSingleton <NrCharKindInfoManager> .Instance.GetCharKindInfo(current.nFaceKind); if (charKindInfo == null) { TsLog.LogError("WhisperUser NrCharKindInfo == NULL FaceKind = {0}", new object[] { current.nFaceKind }); } listItem.SetColumnGUIContent(0, charKindInfo.GetCharKind(), false); listItem.SetColumnStr(1, current.Name, NrTSingleton <CTextParser> .Instance.GetTextColor("1101")); string text = string.Empty; string strTextKey = string.Empty; switch (current.byPlayState) { case 0: strTextKey = "2142"; break; case 1: strTextKey = "2143"; break; case 2: strTextKey = "2144"; break; default: TsLog.LogWarning("byPlayState = {0}", new object[] { current.byPlayState }); strTextKey = "2142"; break; } text = string.Format("({0})", NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface(strTextKey)); TsLog.LogWarning("UserState = {0}", new object[] { text }); listItem.SetColumnStr(2, text, NrTSingleton <CTextParser> .Instance.GetTextColor("1101")); listItem.Key = current; this.m_InviteList.Add(listItem); } this.m_InviteList.RepositionItems(); }
public override void PlayAnim(int index) { if (index >= this.animations.Length) { TsLog.LogError("ERROR: Animation index " + index + " is out of bounds!", new object[0]); return; } this.PlayAnim(this.animations[index], 0); }
private bool _Init() { TsAudio.LoadPlayerPrefs(); TsAudio.RefreshAllAudioVolumes(); TsAudio.RefreshAllMuteAudio(); this._defaultAudioListenerSwitcher = new TsAudioListenerSwitcher(base.gameObject); if (Application.isPlaying) { this._currentAudioListenerSwitcher = null; AudioListener audioListener = this.SearchAndEnable_CurrentAudioListener(); if (audioListener != null) { this._currentAudioListenerSwitcher = new TsAudioListenerSwitcher(audioListener.gameObject); if (this._currentAudioListenerSwitcher == null) { TsLog.LogWarning("_currentAudioListenerSwitcher == null", new object[0]); } } else if (Camera.main != null) { this._currentAudioListenerSwitcher = new TsAudioListenerSwitcher(Camera.main.gameObject); if (this._currentAudioListenerSwitcher == null) { TsLog.LogWarning("_currentAudioListenerSwitcher == null", new object[0]); } } if (this._currentAudioListenerSwitcher == null) { this._currentAudioListenerSwitcher = this._defaultAudioListenerSwitcher; } this._currentAudioListenerSwitcher.Switch(); if (this.CurrentAudioListener == null) { TsLog.LogError("Failed~! Set Current AudioListener~!", new object[0]); } } else { this._defaultAudioListenerSwitcher.Switch(); } if (Application.isEditor) { if (base.gameObject.GetComponent <TsAudioDebugger>() == null) { base.gameObject.AddComponent <TsAudioDebugger>(); } if (base.gameObject.GetComponent <TsTestDownloadAtAudioContainer>() == null) { base.gameObject.AddComponent <TsTestDownloadAtAudioContainer>(); } } if (this._tempclip == null) { this._tempclip = AudioClip.Create("tempclip", 44100, 1, 44100, false, false); } return(true); }
public void PlayAnimInReverse(int index, int frame) { if (index >= this.animations.Length) { TsLog.LogError("ERROR: Animation index " + index + " is out of bounds!", new object[0]); return; } this.PlayAnimInReverse(this.animations[index], frame); }
public void PurchaseComplete(string strParam) { TsLog.LogError("PurchaseComplete = {0}", new object[] { strParam }); string[] array = strParam.Split(new char[] { '\n' }); string text = string.Empty; if (!string.IsNullOrEmpty(this.Receipt.ToString())) { this.Receipt.Append("&"); } string[] array2 = array; for (int i = 0; i < array2.Length; i++) { string text2 = array2[i]; if (text2.Contains("product_id")) { text = text2.Substring("product_id:".Length); this.Receipt.Append("product_id=" + text); break; } } NrMyCharInfo myCharInfo = NrTSingleton <NkCharManager> .Instance.GetMyCharInfo(); if (myCharInfo != null) { GS_BILLINGCHECK_REQ gS_BILLINGCHECK_REQ = new GS_BILLINGCHECK_REQ(); gS_BILLINGCHECK_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(text); TKString.StringChar(this.m_strTid, ref gS_BILLINGCHECK_REQ.UniqueCode); TKString.StringChar(this.Receipt.ToString(), ref gS_BILLINGCHECK_REQ.Receipt); SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLINGCHECK_REQ, gS_BILLINGCHECK_REQ); PlayerPrefs.SetString(NrPrefsKey.SHOP_PRODUCT_ID, gS_BILLINGCHECK_REQ.i64ItemMallIndex.ToString()); PlayerPrefs.SetString(NrPrefsKey.SHOP_RECEIPT, this.Receipt.ToString()); TsPlatform.FileLog(string.Format("TStorePurchaseComplete\nReceipt ={0} ProductID = {1} ItemMallIdex = {2}", this.Receipt, text, gS_BILLINGCHECK_REQ.i64ItemMallIndex)); TsLog.LogWarning("Send BillingCheck ProductID = {0} ItemMallIdex = {1}", new object[] { text, gS_BILLINGCHECK_REQ.i64ItemMallIndex }); this.Receipt.Remove(0, this.Receipt.Length); } GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ(); gS_BILLING_ITEM_RECODE_REQ.i8Type = 1; gS_BILLING_ITEM_RECODE_REQ.i8Result = 0; gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(text); SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ); NrTSingleton <NrMainSystem> .Instance.m_bIsBilling = false; }