コード例 #1
0
ファイル: CsvExporter.cs プロジェクト: kchang06/GFAlarm
        /// <summary>
        /// 획득 인형 저장
        /// </summary>
        /// <param name="gunId"></param>
        public static void WriteGetDollInfo(int gunId)
        {
            Encoding encoding;

            switch (Config.Setting.fileEncoding)
            {
            case "UTF-8":
                encoding = Encoding.UTF8;
                break;

            case "Default":
            default:
                encoding = Encoding.Default;
                break;
            }

            string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Infos";

            Directory.CreateDirectory(path);
            //string filename = String.Format(path + "\\{0}_{1}_rescued_doll_{2}.csv", UserData.name, UserData.userId, DateTime.Now.ToString("yyyyMMdd"));
            string filename = String.Format(path + "\\{0}_{1}_rescued_doll.csv", UserData.name, UserData.uid);

            if (!File.Exists(filename))
            {
                using (StreamWriter sw = new StreamWriter(filename, true, Encoding.GetEncoding("euc-kr")))
                {
                    string headerLine = string.Format("{0},{1},{2},{3},{4},{5},{6},{7}",
                                                      LanguageResources.Instance["RESCUE_DOLL_DATETIME"],
                                                      LanguageResources.Instance["RESCUE_DOLL_MISSION_ID"],
                                                      LanguageResources.Instance["RESCUE_DOLL_MISSION_NAME"],
                                                      LanguageResources.Instance["RESCUE_DOLL_MISSION_COUNT"],
                                                      LanguageResources.Instance["RESCUE_DOLL_DOLL_ID"],
                                                      LanguageResources.Instance["RESCUE_DOLL_DOLL_NAME"],
                                                      LanguageResources.Instance["RESCUE_DOLL_DOLL_STAR"],
                                                      LanguageResources.Instance["RESCUE_DOLL_DOLL_CORE"]);
                    sw.WriteLine(headerLine, false, Encoding.UTF8);
                    sw.Close();
                }
            }

            using (StreamWriter sw = new StreamWriter(filename, true, Encoding.GetEncoding("euc-kr")))
            {
                //Dictionary<string, string> dollData = GameData.Doll.GetData(gunId);
                JObject dollData = GameData.Doll.GetDollData(gunId);
                string  gunName  = LanguageResources.Instance[string.Format("DOLL_{0}", gunId)];
                //string gunName = Parser.Json.ParseString(dollData["name"]);
                int    star                   = Parser.Json.ParseInt(dollData["star"]);
                int    core                   = GameData.Doll.GetCore(star);
                long   counter                = -1;
                int    currentMissionId       = UserData.CurrentMission.id;
                string currentMissionLocation = UserData.CurrentMission.location;
                MissionWithUserInfo mission   = UserData.Mission.Get(currentMissionId);
                if (mission != null)
                {
                    counter = mission.counter;
                }

                string newLine = string.Format("{0},{1},{2},{3},{4},{5},{6},{7}",
                                               DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                                               currentMissionId,
                                               currentMissionLocation,
                                               counter,
                                               gunId,
                                               gunName,
                                               star,
                                               core);

                sw.WriteLine(newLine, false);
                sw.Close();
            }
        }
コード例 #2
0
ファイル: Mission.cs プロジェクト: kchang06/GFAlarm
        /// <summary>
        /// 작전 시작
        /// ("Mission/startMission")
        /// </summary>
        /// <param name="request_string"></param>
        /// <param name="response_string"></param>
        public static void StartMission(string request_string, string response_string)
        {
            #region Packet Example
            // request Mission/startMission?uid={0}&outdatacode={1}&req_id={2}

            /*
             *  {
             *      "mission_id": 109,
             *      "spots": [
             *          {
             *              "spot_id": 9016,
             *              "team_id": 1
             *          },
             *          {
             *              "spot_id": 9018,
             *              "team_id": 2
             *          },
             *          {
             *              "spot_id": 9017,
             *              "team_id": 3
             *          }
             *      ],
             *      "squad_spots": [],
             *      "ally_id": 1564641889
             *  }
             */
            // response (야간)

            /*
             *  {
             *      "night_spots": [
             *          {
             *              "spot_id": "7067",
             *              "belong": "2",
             *              "seed": 7212
             *          },
             *          {
             *              "spot_id": "7068",
             *              "belong": "3",
             *              "seed": 9802
             *          },
             *          {
             *              "spot_id": "7070",
             *              "belong": "1",
             *              "seed": 1964
             *          },
             *          ...
             *      ],
             *      "night_enemy": [
             *          {
             *              "enemy_team_id": "1987",
             *              "enemy_hp_percent": "1",
             *              "enemy_instance_id": "8",
             *              "enemy_birth_turn": "1",
             *              "enemy_ai": "0",
             *              "enemy_ai_para": 0,
             *              "from_spot_id": "7076",
             *              "to_spot_id": "7076",
             *              "boss_hp": "0",
             *              "hostage_id": "0",
             *              "hostage_hp": "0",
             *              "ally_instance_ids": []
             *          },
             *          {
             *              "enemy_team_id": "1987",
             *              "enemy_hp_percent": "1",
             *              "enemy_instance_id": "11",
             *              "enemy_birth_turn": "1",
             *              "enemy_ai": "0",
             *              "enemy_ai_para": 0,
             *              "from_spot_id": "7079",
             *              "to_spot_id": "7079",
             *              "boss_hp": "0",
             *              "hostage_id": "0",
             *              "hostage_hp": "0",
             *              "ally_instance_ids": []
             *          }
             *      ],
             *      "night_ally": [],
             *      "ally_instance_info": [],
             *      "ally_battle": [],
             *      "building_info": [],
             *      "squad_info": [],
             *      "ap": 7,
             *      "fairy_skill_return": [],
             *      "fairy_skill_perform": [],
             *      "fairy_skill_on_spot": [],
             *      "fairy_skill_on_team": [],
             *      "fairy_skill_on_enemy": [],
             *      "fairy_skill_on_squad": []
             *  }
             */
            #endregion
            try
            {
                log.Debug("작전 시작");
                JObject request  = Parser.Json.ParseJObject(request_string);
                JObject response = Parser.Json.ParseJObject(response_string);
                if (request != null && response != null)
                {
                    int missionId = Parser.Json.ParseInt(request["mission_id"]);

                    // 현재 작전 중인 전역
                    UserData.CurrentMission.id        = missionId;
                    UserData.CurrentMission.turnCount = 1;

                    log.Debug("전역번호 {0}", UserData.CurrentMission.id);
                    log.Debug("전역명 {0}", UserData.CurrentMission.location);

                    // 모의작전
                    int use_bp = GameData.Mission.GetUsedAp(missionId);   // 모의작전점수 차감
                    if (use_bp > 0)
                    {
                        UserData.CombatSimulation.UseBp(use_bp);

                        // 임무 갱신
                        UserData.Quest.Daily.combatSim  += 1;
                        UserData.Quest.Weekly.combatSim += 1;
                    }
                    // 일반작전
                    // 전역횟수 업데이트
                    MissionWithUserInfo mission = UserData.Mission.Get(missionId);
                    if (mission != null)
                    {
                        mission.counter++; // 전역횟수++
                        UserData.Mission.Set(mission);
                        log.Debug("전역횟수 {0}", mission.counter);
                    }

                    // 제대이동 횟수 초기화
                    UserData.CurrentMission.moveCount = 0;

                    // 아군 제대 위치
                    if (request.ContainsKey("spots"))
                    {
                        // 제대배치
                        JArray spots = Parser.Json.ParseJArray(Parser.Json.ParseString(request["spots"]));
                        foreach (var spot in spots)
                        {
                            int spotId = Parser.Json.ParseInt(spot["spot_id"]);
                            int teamId = Parser.Json.ParseInt(spot["team_id"]);

                            UserData.CurrentMission.ReinforceTeam(teamId, spotId);
                        }
                    }

                    PacketProcess.Mission.MoveTeam(request, response);
                    PacketProcess.Mission.SpotBelongChange(request, response);
                }
            }
            catch (Exception ex)
            {
                log.Error(ex, "작전 시작 처리 실패");
            }
        }