Exemple #1
0
 private bool AssignAnju(ResultCodeType resultCode)
 {
     if (File.Exists(m_ResultPath2))
     {
         var result = JsonConvert.DeserializeAnonymousType(File.ReadAllText(m_ResultPath2), new
         {
             Name      = string.Empty,
             Half      = string.Empty,
             OtherName = string.Empty,
             Rank      = 0,
             Status    = string.Empty,
             BillNo    = string.Empty
         });
         if (!string.IsNullOrEmpty(result.Name))
         {
             tb_an_Name.Text = result.Name;
             tbHalf.Text     = result.Half;
             tbOther.Text    = result.OtherName;
             tb_an_rank.Text = result.Rank.ToString();
             tbBillNo.Text   = result.BillNo;
             return(true);
         }
     }
     return(false);
 }
Exemple #2
0
        static int Main(string[] args)
        {
            ResultCodeType resultCode = 0;

            if (args.Length > 0)
            {
                switch (args[0].ToLower())
                {
                case "randcode":
                    var gongzu = new GongzuProcess();
                    var t      = gongzu.GenerationRandCodeAsync();
                    t.Wait();

                    var cookies = GetAllCookies(gongzu.Handler.CookieContainer);
                    SSystem.Serializers.SerializeObjectHelper.Save(cookies, "cookies");

                    SSystem.Serializers.SerializeObjectHelper.Save(gongzu.Cache, "cache", SSystem.Serializers.SerializeType.Compressed);
                    resultCode = gongzu.ResultCode;
                    break;

                case "check":
                    List <Cookie> cookies2 = SSystem.Serializers.SerializeObjectHelper.Load <List <Cookie> >("cookies");
                    var           gongzu2  = new GongzuProcess();
                    gongzu2.RandCode = args[3];
                    gongzu2.UserName = args[1];
                    gongzu2.Password = args[2];
                    gongzu2.Cache    = SSystem.Serializers.SerializeObjectHelper.Load <Dictionary <string, string> >("cache", SSystem.Serializers.SerializeType.Compressed);
                    foreach (var c in cookies2)
                    {
                        gongzu2.Handler.CookieContainer.Add(c);
                    }
                    try
                    {
                        gongzu2.Start();
                        if (!string.IsNullOrEmpty(gongzu2.Error))
                        {
                            File.WriteAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "exception.log"), gongzu2.Error);
                        }
                        else
                        {
                            string json = Newtonsoft.Json.JsonConvert.SerializeObject(gongzu2.ResultForGongzu);
                            File.WriteAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "message.json"), json);
                            string json2 = Newtonsoft.Json.JsonConvert.SerializeObject(gongzu2.ResultForAnju ?? new MessageForAnju());
                            File.WriteAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "message_an.json"), json2);
                        }
                    }
                    catch (Exception ex)
                    {
                        File.WriteAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "exception.log"), ex.Message + Environment.NewLine + ex.StackTrace);
                    }
                    resultCode = gongzu2.ResultCode;
                    Reset();
                    break;
                }
            }
            return((int)resultCode);
        }
Exemple #3
0
 private bool AssignGongzu(ResultCodeType resultCode)
 {
     if (File.Exists(m_ResultPath))
     {
         var result = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(File.ReadAllText(m_ResultPath), new
         {
             Name       = string.Empty,
             RankingNum = 0,
             Id         = string.Empty,
             RecvNum    = string.Empty,
             RendNum    = 0,
             Area       = string.Empty
         });
         tbResult_Name.Text       = result.Name;
         tbResult_RankingNum.Text = result.RankingNum.ToString();
         tbResult_Id.Text         = result.Id;
         tbResult_Area.Text       = result.Area;
         tbResult_recvNum.Text    = result.RecvNum;
         SaveRanking(result.RankingNum);
         if (cbIsSave.Checked)
         {
             SaveUser();
         }
         return(true);
     }
     //else
     //{
     //    switch (resultCode)
     //    {
     //        case ResultCodeType.UserNameOrPasswordFailed:
     //            MessageBox.Show("用户名或密码有误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
     //            break;
     //        case ResultCodeType.PageLoadFailed:
     //            MessageBox.Show("页面无法加载成功,请重试", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
     //            break;
     //        case ResultCodeType.CannotCatchingMessage:
     //            MessageBox.Show("无法读取到排名信息,可能系统改版,请跟作者反馈问题", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
     //            break;
     //        case ResultCodeType.ValidateCodeFailed:
     //            MessageBox.Show("验证码错误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
     //            break;
     //        default:
     //            MessageBox.Show("读取数据失败", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
     //            break;
     //    }
     //}
     return(false);
 }
Exemple #4
0
 public virtual void Update()
 {
     if (www.isDone)
     {
         if (string.IsNullOrEmpty(www.error))
         {
             resultCode  = ResultCodeType.Success;
             resultValue = www.text;
         }
         else
         {
             resultCode = ResultCodeType.Server_Connect_Error;
             Debug.LogError("server error: " + www.error);
         }
     }
 }
Exemple #5
0
        private void CallResourceForChecking()
        {
            ResultCodeType resultCode = ResultCodeType.Success;

            Task.Factory.StartNew(() =>
            {
                ProcessStartInfo info = new ProcessStartInfo(@"CheckRanking.exe", string.Format("check {0} {1} {2}", tbUserName.Text, tbPassword.Text, tbRandCode.Text));
                info.WindowStyle      = ProcessWindowStyle.Hidden;
                var process           = Process.Start(info);
                process.WaitForExit();
                resultCode = (ResultCodeType)process.ExitCode;
            }).ContinueWith((t) =>
            {
                btnCheck.Text = "查询排名";
                var succ      = AssignGongzu(resultCode);
                var succ2     = AssignAnju(resultCode);
                succ          = succ || succ2;
                if (!succ)
                {
                    switch (resultCode)
                    {
                    case ResultCodeType.UserNameOrPasswordFailed:
                        MessageBox.Show("用户名或密码有误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        break;

                    case ResultCodeType.PageLoadFailed:
                        MessageBox.Show("页面无法加载成功,请重试", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        break;

                    case ResultCodeType.CannotCatchingMessage:
                        MessageBox.Show("无法读取到排名信息,可能系统改版,请跟作者反馈问题", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        break;

                    case ResultCodeType.ValidateCodeFailed:
                        MessageBox.Show("验证码错误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        break;

                    default:
                        MessageBox.Show("读取数据失败", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        break;
                    }
                }
                CallResource();
                btnCheck.Enabled = true;
            }, TaskScheduler.FromCurrentSynchronizationContext());
        }
Exemple #6
0
    public ResultCodeType m_ResultCodeType; //!< APIリザルトコード区分情報:コード区分

    public ResultCodeTypeIrregular(SERVER_API eAPI, API_CODE eCode, API_CODETYPE eCodeType)
    {
        m_APIType        = eAPI;
        m_ResultCodeType = new ResultCodeType(eCode, eCodeType);
    }
    //----------------------------------------------------------------------------

    /*!
     *          @brief	API受信情報解析
     */
    //----------------------------------------------------------------------------
    static public ResultCodeType RecvPacketAPI(ref PacketData rcPacketData, string strRecvText, string strRecvError, bool bParse = true)
    {
        //--------------------------------
        // 送受信エラーを検出
        //--------------------------------
        if (strRecvError != null)
        {
            //--------------------------------
            // 再送指示。
            // そもそもこの関数に入る前に弾いているのでここに届くことはないはず。
            //--------------------------------
            return(ServerDataManager.Instance.ResultCodeToCodeType(rcPacketData.m_PacketAPI, API_CODE.API_CODE_CLIENT_RETRY));
        }

        //--------------------------------
        // ヘッダ情報のみ抜出
        //--------------------------------
        RecvHeaderChecker cPacketHeader = CreateRecvHeader(strRecvText);

        //--------------------------------
        // セッションIDを更新
        // ヘッダが破損していてもデータがあれば適用するので先行して設定
        //--------------------------------
        if (cPacketHeader != null &&
            cPacketHeader.header.session_id != null &&
            cPacketHeader.header.session_id.Length > 0
            )
        {
            ServerDataParam.m_ServerSessionID = cPacketHeader.header.session_id;
        }

        //--------------------------------
        // サーバーから届いた現在時間を保持
        //--------------------------------
        if (cPacketHeader != null &&
            cPacketHeader.header != null
            )
        {
            //--------------------------------
            //
            //--------------------------------
            if (ServerDataParam.m_ServerTime != 0 &&
                cPacketHeader.header.server_time == 0
                )
            {
                //--------------------------------
                // サーバーから時間情報が返ってくるケースと返ってこないケースがあると処理が破綻する。
                // 返ってくるAPIと返ってこないAPIがあっても一応動作するようにセーフティを入れておく
                //--------------------------------
                Debug.LogError("ServerTime Error! - " + rcPacketData.m_PacketAPI);
                if (TimeManager.Instance != null)
                {
                    TimeUtil.ConvertLocalTimeToServerTime(TimeManager.Instance.m_TimeNow);
                }
            }
            else
            {
                //--------------------------------
                // サーバーから届いた時間情報を使用
                //--------------------------------
                ServerDataParam.m_ServerTime = cPacketHeader.header.server_time;
            }
        }

        //--------------------------------
        // セキュリティコードを更新
        //--------------------------------
        if (cPacketHeader != null &&
            cPacketHeader.header.csum != null &&
            cPacketHeader.header.csum.Length > 0
            )
        {
            ServerDataParam.m_ServerAPICheckSum = cPacketHeader.header.csum;
#if BUILD_TYPE_DEBUG
            Debug.Log("API CheckSum - Recv " + ServerDataParam.m_ServerAPICheckSum);
#endif
        }

        if (cPacketHeader != null &&
            cPacketHeader.header != null
            )
        {
            ServerDataParam.m_ServerAPICheckRandOtt = cPacketHeader.header.ott;
        }

        //--------------------------------
        // ヘッダ情報はフォーマット固定なのでヘッダの取得を行い不具合がないかチェックする
        //--------------------------------
        if (cPacketHeader == null)
        {
            Debug.LogError("RecvPacket Header Broken! : " + strRecvText);
            return(ServerDataManager.Instance.ResultCodeToCodeType(rcPacketData.m_PacketAPI, API_CODE.API_CODE_CLIENT_PARSE_FAILED));
        }

        if (Enum.IsDefined(typeof(API_CODE), cPacketHeader.header.code) == false)
        {
            Debug.LogError("RecvPacket Header Broken! Error Code : " + strRecvText);
            return(ServerDataManager.Instance.ResultCodeToCodeType(rcPacketData.m_PacketAPI, API_CODE.API_CODE_CLIENT_PARSE_FAILED_CODE));
        }

        //--------------------------------
        // リクエストに対する返信ではない場合、
        // 再送依頼してもう一度取り直す
        //--------------------------------
        if (rcPacketData.m_PacketUniqueNum != cPacketHeader.header.packet_unique_id)
        {
            Debug.LogError("RecvPacket UniqueID Not Match! " + "send:" + rcPacketData.m_PacketUniqueNum + " , recv:" + cPacketHeader.header.packet_unique_id);
            return(ServerDataManager.Instance.ResultCodeToCodeType(rcPacketData.m_PacketAPI, API_CODE.API_CODE_CLIENT_RETRY));
        }

        //--------------------------------
        // リザルトデータが存在しない場合に
        // サーバー班が result = null を仕込むのが工数がかかるようなので、
        // ここで例外的にresultが0配列の場合にnullに置き換える。
        //
        // 基本的にエラー発生時にのみコレが引っかかるので、
        // 処理が発生する頻度自体は低いはず…
        //--------------------------------
        if (cPacketHeader.header.code != (int)API_CODE.API_CODE_SUCCESS &&
            strRecvText[strRecvText.Length - 3] == '[' &&
            strRecvText[strRecvText.Length - 2] == ']' &&
            strRecvText[strRecvText.Length - 1] == '}'
            )
        {
            Debug.LogError("Packet Result Format Safety!");
            strRecvText  = strRecvText.Substring(0, strRecvText.Length - 3);
            strRecvText += "null}";
        }

        //--------------------------------
        // 届いたリザルトコードがAPI呼び出し元に渡さないタイプならそのまま終了
        //--------------------------------
        ResultCodeType cResultCodeType = null;
        {
            //--------------------------------
            // APIとリザルトコードのペアからコードタイプを求める
            //--------------------------------
            cResultCodeType = ServerDataManager.Instance.ResultCodeToCodeType(rcPacketData.m_PacketAPI, (API_CODE)cPacketHeader.header.code);
        }

        if (cResultCodeType != null)
        {
            bool bError = false;
            switch (cResultCodeType.m_CodeType)
            {
            case API_CODETYPE.API_CODETYPE_USUALLY: bError = false; break;

            case API_CODETYPE.API_CODETYPE_INVALID_USER: bError = true; break;

            case API_CODETYPE.API_CODETYPE_VERSION_UP: bError = true; break;

            case API_CODETYPE.API_CODETYPE_RESTART: bError = true; break;

            case API_CODETYPE.API_CODETYPE_MENTENANCE: bError = true; break;

            case API_CODETYPE.API_CODETYPE_RETRY: bError = true; break;

            case API_CODETYPE.API_CODETYPE_AUTH_REQUIRED: bError = true; break;

            case API_CODETYPE.API_CODETYPE_TRANSFER_MOVED: bError = true; break;
            }

            if (bError == true)
            {
                return(cResultCodeType);
            }
        }
        else
        {
            Debug.LogError("Packet Result CodeType None! - " + cPacketHeader.header.code);
            return(null);
        }

        if (bParse)
        {
            //--------------------------------
            // APIタイプで分岐して解析処理へ
            //--------------------------------
            switch (rcPacketData.m_PacketAPI)
            {
            case SERVER_API.SERVER_API_USER_CREATE: RecvPacketAPIConvert(JsonMapper.ToObject <RecvCreateUser>(strRecvText)); break;                      // APIタイプ:ユーザー管理:ユーザー新規生成

            case SERVER_API.SERVER_API_USER_AUTHENTICATION: RecvPacketAPIConvert(JsonMapper.ToObject <RecvUserAuthentication>(strRecvText)); break;      // APIタイプ:ユーザー管理:ユーザー承認

            case SERVER_API.SERVER_API_USER_RENAME: RecvPacketAPIConvert(JsonMapper.ToObject <RecvRenameUser>(strRecvText)); break;                      // APIタイプ:ユーザー管理:ユーザー名称変更

            case SERVER_API.SERVER_API_USER_SELECT_DEF_PARTY: RecvPacketAPIConvert(JsonMapper.ToObject <RecvSelectDefParty>(strRecvText)); break;        // APIタイプ:ユーザー管理:ユーザー初期設定

            case SERVER_API.SERVER_API_USER_RENEW: RecvPacketAPIConvert(JsonMapper.ToObject <RecvRenewUser>(strRecvText)); break;                        // APIタイプ:ユーザー管理:ユーザー再構築

            case SERVER_API.SERVER_API_USER_RENEW_CHECK: RecvPacketAPIConvert(JsonMapper.ToObject <RecvCheckRenewUser>(strRecvText)); break;             // APIタイプ:ユーザー管理:ユーザー再構築情報問い合わせ

            case SERVER_API.SERVER_API_MASTER_HASH_GET: RecvPacketAPIConvert(JsonMapper.ToObject <RecvGetMasterHash>(strRecvText)); break;               // APIタイプ:マスターハッシュ情報取得

            case SERVER_API.SERVER_API_MASTER_DATA_GET_ALL: RecvPacketAPIConvert(JsonMapper.ToObject <RecvMasterDataAll>(strRecvText)); break;           // APIタイプ:マスターデータ操作:マスターデータ実体取得

            case SERVER_API.SERVER_API_MASTER_DATA_GET_ALL2: RecvPacketAPIConvert(JsonMapper.ToObject <RecvMasterDataAll2>(strRecvText)); break;         // APIタイプ:マスターデータ操作:マスターデータ実体取得

            case SERVER_API.SERVER_API_GET_ACHIEVEMENT_GP: RecvPacketAPIConvert(JsonMapper.ToObject <RecvAchievementGroup>(strRecvText)); break;         // APIタイプ:アチーブメント操作:アチーブメントグループ実体取得

            case SERVER_API.SERVER_API_GET_ACHIEVEMENT: RecvPacketAPIConvert(JsonMapper.ToObject <RecvMasterDataAchievement>(strRecvText)); break;       // APIタイプ:アチーブメント操作:アチーブメント実体取得

            case SERVER_API.SERVER_API_GET_LOGIN_PACK: RecvPacketAPIConvert(JsonMapper.ToObject <RecvLoginPack>(strRecvText)); break;                    // APIタイプ:ログイン情報:ログインパック情報取得

            case SERVER_API.SERVER_API_GET_LOGIN_PARAM: RecvPacketAPIConvert(JsonMapper.ToObject <RecvLoginParam>(strRecvText)); break;                  // APIタイプ:ログイン情報:ログイン情報取得

            case SERVER_API.SERVER_API_FRIEND_LIST_GET: RecvPacketAPIConvert(JsonMapper.ToObject <RecvFriendListGet>(strRecvText)); break;               // APIタイプ:フレンド操作:フレンド一覧取得

            case SERVER_API.SERVER_API_FRIEND_REQUEST: RecvPacketAPIConvert(JsonMapper.ToObject <RecvFriendRequest>(strRecvText)); break;                // APIタイプ:フレンド操作:フレンド申請

            case SERVER_API.SERVER_API_FRIEND_CONSENT: RecvPacketAPIConvert(JsonMapper.ToObject <RecvFriendConsent>(strRecvText)); break;                // APIタイプ:フレンド操作:フレンド申請承認

            case SERVER_API.SERVER_API_FRIEND_REFUSAL: RecvPacketAPIConvert(JsonMapper.ToObject <RecvFriendRefusal>(strRecvText)); break;                // APIタイプ:フレンド操作:フレンド解除

            case SERVER_API.SERVER_API_FRIEND_SEARCH: RecvPacketAPIConvert(JsonMapper.ToObject <RecvFriendSearch>(strRecvText)); break;                  // APIタイプ:フレンド操作:フレンドユーザー検索

            case SERVER_API.SERVER_API_UNIT_PARTY_ASSIGN: RecvPacketAPIConvert(JsonMapper.ToObject <RecvUnitPartyAssign>(strRecvText)); break;           // APIタイプ:ユニット操作:ユニットパーティ編成設定

            case SERVER_API.SERVER_API_UNIT_SALE: RecvPacketAPIConvert(JsonMapper.ToObject <RecvUnitSale>(strRecvText)); break;                          // APIタイプ:ユニット操作:ユニット売却

            case SERVER_API.SERVER_API_UNIT_BLEND_BUILDUP: RecvPacketAPIConvert(JsonMapper.ToObject <RecvUnitBlendBuildUp>(strRecvText)); break;         // APIタイプ:ユニット操作:ユニット強化合成

            case SERVER_API.SERVER_API_UNIT_BLEND_EVOL: RecvPacketAPIConvert(JsonMapper.ToObject <RecvUnitBlendEvol>(strRecvText)); break;               // APIタイプ:ユニット操作:ユニット進化合成

            case SERVER_API.SERVER_API_UNIT_LINK_CREATE: RecvPacketAPIConvert(JsonMapper.ToObject <RecvUnitLink>(strRecvText)); break;                   // APIタイプ:ユニット操作:ユニットリンク実行

            case SERVER_API.SERVER_API_UNIT_LINK_DELETE: RecvPacketAPIConvert(JsonMapper.ToObject <RecvUnitLink>(strRecvText)); break;                   // APIタイプ:ユニット操作:ユニットリンク解除

            case SERVER_API.SERVER_API_QUEST_HELPER_GET: RecvPacketAPIConvert(JsonMapper.ToObject <RecvQuestHelperGet>(strRecvText)); break;             // APIタイプ:クエスト操作:助っ人一覧取得

            case SERVER_API.SERVER_API_QUEST_HELPER_GET_EVOL: RecvPacketAPIConvert(JsonMapper.ToObject <RecvQuestHelperGetEvol>(strRecvText)); break;    // APIタイプ:クエスト操作:助っ人一覧取得(進化合成向き)

            case SERVER_API.SERVER_API_QUEST_HELPER_GET_BUILD: RecvPacketAPIConvert(JsonMapper.ToObject <RecvQuestHelperGetBuild>(strRecvText)); break;  // APIタイプ:クエスト操作:助っ人一覧取得(強化合成向き)

            case SERVER_API.SERVER_API_QUEST_START: RecvPacketAPIConvert(JsonMapper.ToObject <RecvQuestStart>(strRecvText)); break;                      // APIタイプ:クエスト操作:クエスト開始

            case SERVER_API.SERVER_API_QUEST_CLEAR: RecvPacketAPIConvert(JsonMapper.ToObject <RecvQuestClear>(strRecvText)); break;                      // APIタイプ:クエスト操作:クエストクリア

            case SERVER_API.SERVER_API_QUEST_RETIRE: RecvPacketAPIConvert(JsonMapper.ToObject <RecvQuestRetire>(strRecvText)); break;                    // APIタイプ:クエスト操作:クエストリタイア

            case SERVER_API.SERVER_API_QUEST_ORDER_GET: RecvPacketAPIConvert(JsonMapper.ToObject <RecvQuestOrderGet>(strRecvText)); break;               // APIタイプ:クエスト操作:クエスト受託情報取得

            case SERVER_API.SERVER_API_QUEST_CONTINUE: RecvPacketAPIConvert(JsonMapper.ToObject <RecvQuestContinue>(strRecvText)); break;                // APIタイプ:インゲーム中:コンティニュー

            case SERVER_API.SERVER_API_QUEST_RESET: RecvPacketAPIConvert(JsonMapper.ToObject <RecvQuestReset>(strRecvText)); break;                      // APIタイプ:インゲーム中:リセット

            case SERVER_API.SERVER_API_EVOL_QUEST_START: RecvPacketAPIConvert(JsonMapper.ToObject <RecvEvolQuestStart>(strRecvText)); break;             // APIタイプ:クエスト操作:進化クエスト開始

            case SERVER_API.SERVER_API_EVOL_QUEST_CLEAR: RecvPacketAPIConvert(JsonMapper.ToObject <RecvEvolQuestClear>(strRecvText)); break;             // APIタイプ:クエスト操作:進化クエストクリア

            case SERVER_API.SERVER_API_INJUSTICE: RecvPacketAPIConvert(JsonMapper.ToObject <RecvInjustice>(strRecvText)); break;                         // APIタイプ:不正検出関連:不正検出送信

            case SERVER_API.SERVER_API_TUTORIAL: RecvPacketAPIConvert(JsonMapper.ToObject <RecvTutorialStep>(strRecvText)); break;                       // APIタイプ:チュートリアル関連:進行集計

            case SERVER_API.SERVER_API_STONE_USE_UNIT: RecvPacketAPIConvert(JsonMapper.ToObject <RecvStoneUsedUnit>(strRecvText)); break;                // APIタイプ:魔法石使用:ユニット枠増設

            case SERVER_API.SERVER_API_STONE_USE_FRIEND: RecvPacketAPIConvert(JsonMapper.ToObject <RecvStoneUsedFriend>(strRecvText)); break;            // APIタイプ:魔法石使用:フレンド枠増設

            case SERVER_API.SERVER_API_STONE_USE_STAMINA: RecvPacketAPIConvert(JsonMapper.ToObject <RecvStoneUsedStamina>(strRecvText)); break;          // APIタイプ:魔法石使用:スタミナ回復

            case SERVER_API.SERVER_API_GACHA_PLAY: RecvPacketAPIConvert(JsonMapper.ToObject <RecvGachaPlay>(strRecvText)); break;                        // APIタイプ:ガチャ操作:ガチャ実行

            case SERVER_API.SERVER_API_GACHA_TICKET_PLAY: RecvPacketAPIConvert(JsonMapper.ToObject <RecvGachaTicketPlay>(strRecvText)); break;           // APIタイプ:ガチャ操作:ガチャチケット実行

            case SERVER_API.SERVER_API_STONE_PAY_PREV_IOS: RecvPacketAPIConvert(JsonMapper.ToObject <RecvStorePayPrev_ios>(strRecvText)); break;         // APIタイプ:課金操作:魔法石購入直前処理( iOS … AppStore )

            case SERVER_API.SERVER_API_STONE_PAY_PREV_ANDROID: RecvPacketAPIConvert(JsonMapper.ToObject <RecvStorePayPrev_android>(strRecvText)); break; // APIタイプ:課金操作:魔法石購入直前処理( Android … GooglePlay )

            case SERVER_API.SERVER_API_STONE_PAY_IOS: RecvPacketAPIConvert(JsonMapper.ToObject <RecvStorePay_ios>(strRecvText)); break;                  // APIタイプ:課金操作:魔法石購入反映処理( iOS … AppStore )

            case SERVER_API.SERVER_API_STONE_PAY_ANDROID: RecvPacketAPIConvert(JsonMapper.ToObject <RecvStorePay_android>(strRecvText)); break;          // APIタイプ:課金操作:魔法石購入反映処理( Android … GooglePlay )

            case SERVER_API.SERVER_API_REVIEW_PRESENT: RecvPacketAPIConvert(JsonMapper.ToObject <RecvReviewPresent>(strRecvText)); break;                // APIタイプ:ユーザーレビュー関連:レビュー遷移報酬

            case SERVER_API.SERVER_API_PRESENT_LIST_GET: RecvPacketAPIConvert(JsonMapper.ToObject <RecvPresentListGet>(strRecvText)); break;             // APIタイプ:プレゼント関連:プレゼント一覧取得

            case SERVER_API.SERVER_API_PRESENT_OPEN: RecvPacketAPIConvert(JsonMapper.ToObject <RecvPresentOpen>(strRecvText)); break;                    // APIタイプ:プレゼント関連:プレゼント開封

            case SERVER_API.SERVER_API_TRANSFER_ORDER: RecvPacketAPIConvert(JsonMapper.ToObject <RecvTransferOrder>(strRecvText)); break;                // APIタイプ:セーブ移行関連:パスワード発行

            case SERVER_API.SERVER_API_TRANSFER_EXEC: RecvPacketAPIConvert(JsonMapper.ToObject <RecvTransferExec>(strRecvText)); break;                  // APIタイプ:セーブ移行関連:移行実行

#if BUILD_TYPE_DEBUG
            case SERVER_API.SERVER_API_DEBUG_EDIT_USER: RecvPacketAPIConvert(JsonMapper.ToObject <RecvDebugEditUser>(strRecvText)); break;                // APIタイプ:デバッグ機能関連:ユーザーデータ更新

            case SERVER_API.SERVER_API_DEBUG_UNIT_GET: RecvPacketAPIConvert(JsonMapper.ToObject <RecvDebugUnitGet>(strRecvText)); break;                  // APIタイプ:デバッグ機能関連:ユニット取得

            case SERVER_API.SERVER_API_DEBUG_QUEST_CLEAR: RecvPacketAPIConvert(JsonMapper.ToObject <RecvDebugQuestClear>(strRecvText)); break;            // APIタイプ:デバッグ機能関連:クエストクリア情報改変

            case SERVER_API.SERVER_API_DEBUG_SEND_BATTLE_LOG: RecvPacketAPIConvert(JsonMapper.ToObject <RecvDebugBattleLog>(strRecvText)); break;         // APIタイプ:デバッグ機能関連:バトルログアップロード

            case SERVER_API.SERVER_API_DEBUG_MASTER_DATA_GET_ALL2: RecvPacketAPIConvert(JsonMapper.ToObject <RecvMasterDataAll2>(strRecvText)); break;    // APIタイプ:マスターデータ操作:マスターデータ実体取得
#endif
            case SERVER_API.SERVER_API_GET_STORE_EVENT: RecvPacketAPIConvert(JsonMapper.ToObject <RecvGetStoreProductEvent>(strRecvText)); break;         // APIタイプ:イベントストア一覧取得

            case SERVER_API.SERVER_API_STORE_PAY_CANCEL: RecvPacketAPIConvert(JsonMapper.ToObject <RecvStorePayCancel>(strRecvText)); break;              // APIタイプ:課金操作:魔法石購入キャンセル

            case SERVER_API.SERVER_API_ACHIEVEMENT_OPEN: RecvPacketAPIConvert(JsonMapper.ToObject <RecvOpenAchievement>(strRecvText)); break;             // APIタイプ:アチーブメント開封

            case SERVER_API.SERVER_API_CHECK_SNS_LINK: RecvPacketAPIConvert(JsonMapper.ToObject <RecvCheckSnsLink>(strRecvText)); break;                  //!< APIタイプ:SNSIDとの紐付け確認

            case SERVER_API.SERVER_API_SET_SNS_LINK: RecvPacketAPIConvert(JsonMapper.ToObject <RecvSetSnsLink>(strRecvText)); break;                      //!< APIタイプ:SNSIDとの紐付け

            case SERVER_API.SERVER_API_MOVE_SNS_SAVE_DATA: RecvPacketAPIConvert(JsonMapper.ToObject <RecvMoveSnsSaveData>(strRecvText)); break;           //!< APIタイプ:SNSIDを使用したデータ移行

            case SERVER_API.SERVER_API_TUTORIAL_SKIP: RecvPacketAPIConvert(JsonMapper.ToObject <RecvSkipTutorial>(strRecvText)); break;                   //!< APIタイプ:チュートリアルスキップ

            case SERVER_API.SERVER_API_GET_SNS_ID: RecvPacketAPIConvert(JsonMapper.ToObject <RecvGetSnsID>(strRecvText)); break;                          //!< APIタイプ:SNSID作成

            case SERVER_API.SERVER_API_GET_POINT_SHOP_PRODUCT: RecvPacketAPIConvert(JsonMapper.ToObject <RecvGetPointShopProduct>(strRecvText)); break;   //!< APIタイプ:ポイントショップ:ショップ商品情報を取得		get_point_shop_product

            case SERVER_API.SERVER_API_POINT_SHOP_PURCHASE: RecvPacketAPIConvert(JsonMapper.ToObject <RecvPointShopPurchase>(strRecvText)); break;        //!< APIタイプ:ポイントショップ:商品購入					point_shop_purchase

            case SERVER_API.SERVER_API_POINT_SHOP_LIMITOVER: RecvPacketAPIConvert(JsonMapper.ToObject <RecvPointShopLimitOver>(strRecvText)); break;      //!< APIタイプ:ポイントショップ:限界突破

            case SERVER_API.SERVER_API_POINT_SHOP_EVOL: RecvPacketAPIConvert(JsonMapper.ToObject <RecvPointShopEvol>(strRecvText)); break;                //!< APIタイプ:ポイントショップ:進化

            case SERVER_API.SERVER_API_USE_ITEM: RecvPacketAPIConvert(JsonMapper.ToObject <RecvItemUse>(strRecvText)); break;                             //!< APIタイプ:消費アイテム:アイテム使用

            case SERVER_API.SERVER_API_GET_BOX_GACHA_STOCK: RecvPacketAPIConvert(JsonMapper.ToObject <RecvGetBoxGachaStock>(strRecvText)); break;         //!< APIタイプ:BOXガチャ在庫状況取得

            case SERVER_API.SERVER_API_RESET_BOX_GACHA_STOCK: RecvPacketAPIConvert(JsonMapper.ToObject <RecvResetBoxGachaStock>(strRecvText)); break;     //!< APIタイプ:BOXガチャ在庫状況リセット

            case SERVER_API.SERVER_API_EVOLVE_UNIT: RecvPacketAPIConvert(JsonMapper.ToObject <RecvEvolveUnit>(strRecvText)); break;                       // APIタイプ:クエスト操作:進化クエスト開始

            case SERVER_API.SERVER_API_GET_GUERRILLA_BOSS_INFO: RecvPacketAPIConvert(JsonMapper.ToObject <RecvGetGuerrillaBossInfo>(strRecvText)); break; //!< APIタイプ:ゲリラボス情報

            case SERVER_API.SERVER_API_GET_GACHA_LINEUP: RecvPacketAPIConvert(JsonMapper.ToObject <RecvGetGachaLineup>(strRecvText)); break;              // APIタイプ:ガチャ:ガチャラインナップ詳細

            case SERVER_API.SERVER_API_RENEW_TUTORIAL: RecvPacketAPIConvert(JsonMapper.ToObject <RecvRenewTutorialStep>(strRecvText)); break;             // APIタイプ:チュートリアル関連:進行集計

            case SERVER_API.SERVER_API_GET_TOPIC_INFO: RecvPacketAPIConvert(JsonMapper.ToObject <RecvGetTopicInfo>(strRecvText)); break;                  // APIタイプ:ホームページのトピック : ニュース情報取得

            case SERVER_API.SERVER_API_PERIODIC_UPDATE: RecvPacketAPIConvert(JsonMapper.ToObject <RecvPeriodicUpdate>(strRecvText)); break;               //!< APIタイプ:定期データ更新(デバイストークン)

            case SERVER_API.SERVER_API_GET_PRESENT_OPEN_LOG: RecvPacketAPIConvert(JsonMapper.ToObject <RecvGetPresentOpenLog>(strRecvText)); break;       // APIタイプ:ホームページのトピック : ニュース情報取得
            }
        }

        //--------------------------------
        // アチーブメントの共通情報を加算しておく
        //--------------------------------
        if (cPacketHeader != null)
        {
            ResidentParam.AddAchievementClear(cPacketHeader.header.achievement_clear_data);
            // 値が0以上の場合のみバッチの値を更新
            if (cPacketHeader.header.achievement_reward_count >= 0)
            {
                ResidentParam.m_AchievementRewardCnt = cPacketHeader.header.achievement_reward_count;
            }

            // 新規アチーブメントカウント数を更新
            ResidentParam.AddAchievementNewCnt(cPacketHeader.header.achievement_new_count);
        }

        return(cResultCodeType);
    }
Exemple #8
0
 public ResultException(ResultCodeType resultCode)
 {
     ResultCode = resultCode;
 }
 public ResultException(ResultCodeType resultCode, string additionalMessage = null)
 {
     ResultCode = resultCode;
     AdditionalMessage = additionalMessage;
 }
Exemple #10
0
 public ResultException(ResultCodeType resultCode, string additionalMessage = null)
 {
     ResultCode        = resultCode;
     AdditionalMessage = additionalMessage;
 }
 public static ResultCodeType processPaymentRequest(paymentServer_dataBase DBHandler, transaction transDetails)
 {
     ResultCodeType result = new ResultCodeType();
     return result;
 }