예제 #1
0
    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);
 }
예제 #3
0
 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;
 }
예제 #4
0
 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);
 }
예제 #5
0
    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
        });
    }
예제 #6
0
        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);
        }
예제 #7
0
    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);
    }
예제 #8
0
 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();
 }
예제 #9
0
    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;
    }
예제 #10
0
        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);
 }
예제 #12
0
 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
                 });
             }
         }
     }
 }
예제 #13
0
 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);
    }
예제 #15
0
 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);
     }
 }
예제 #16
0
    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));
        }
예제 #18
0
 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]);
     }
 }
예제 #19
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);
    }
예제 #20
0
    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);
        }
    }
예제 #21
0
    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]);
    }
예제 #22
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();
     }
 }
예제 #24
0
 private void Awake()
 {
     if (this.m_shader1 == null)
     {
         TsLog.LogError("Inspector 창에서 TsForceIncludeShaders 컴포넌트를 Reset 시켜주세요.", new object[0]);
         this._AssignShders();
     }
 }
예제 #25
0
 protected override void _OnAwake()
 {
     if (base.RefAudioSource == null)
     {
         TsLog.LogError("AudioSource Must need~!", new object[0]);
     }
     this._loopIntervalEndTime = 3.40282347E+38f;
 }
예제 #26
0
    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);
 }
예제 #28
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);
 }
예제 #30
0
    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;
    }