Exemple #1
0
        /// <summary>
        /// 名称不明の魚の一時名称を取得する
        /// </summary>
        /// <param name="iFishType">魚タイプ</param>
        /// <param name="iID1">ID1</param>
        /// <param name="iID2">ID2</param>
        /// <param name="iID3">ID3</param>
        /// <param name="iID4">ID4</param>
        /// <returns>一時名称</returns>
        public static string GetTmpFishNameFromFishType(FishDBFishTypeKind iFishType, int iID1, int iID2, int iID3, int iID4)
        {
            string tmpFishName = string.Empty;

            switch (iFishType)
            {
            case FishDBFishTypeKind.SmallFish:
            case FishDBFishTypeKind.UnknownSmallFish:
            case FishDBFishTypeKind.LargeFish:
            case FishDBFishTypeKind.UnknownLargeFish:
                tmpFishName = FishDB.FISHNAME_UNKNOWN_FISH;
                break;

            case FishDBFishTypeKind.Item:
            case FishDBFishTypeKind.UnknownItem:
                tmpFishName = FishDB.FISHNAME_UNKNOWN_ITEM;
                break;

            case FishDBFishTypeKind.UnknownMonster:
                tmpFishName = FishDB.FISHNAME_UNKNOWN_MONSTER;
                break;

            default:
                tmpFishName = FishDB.FISHNAME_UNKNOWN;
                break;
            }
            return(string.Format("{0}{1:000}-{2:000}-{3:000}-{4:000}", tmpFishName, iID1, iID2, iID3, iID4));
        }        /// <summary>
Exemple #2
0
 /// <summary>
 /// FishTypeが一時登録魚が判定
 /// </summary>
 /// <param name="iFishType">FishType</param>
 /// <returns>一時登録魚の場合Trueを返す</returns>
 public static bool IsTempFish(FishDBFishTypeKind iFishType)
 {
     if (iFishType == FishDBFishTypeKind.Unknown ||
         iFishType == FishDBFishTypeKind.UnknownSmallFish ||
         iFishType == FishDBFishTypeKind.UnknownLargeFish ||
         iFishType == FishDBFishTypeKind.UnknownItem)
     {
         return(true);
     }
     return(false);
 }
Exemple #3
0
 /// <summary>
 /// 名称不明の魚の一時名称を取得する
 /// </summary>
 /// <param name="iFishType">魚タイプ</param>
 /// <param name="iID1">ID1</param>
 /// <param name="iID2">ID2</param>
 /// <param name="iID3">ID3</param>
 /// <param name="iID4">ID4</param>
 /// <returns>一時名称</returns>
 public static string GetTmpFishNameFromFishType(FishDBFishTypeKind iFishType, int iID1, int iID2, int iID3, int iID4)
 {
     string tmpFishName = string.Empty;
     switch (iFishType)
     {
         case FishDBFishTypeKind.SmallFish:
         case FishDBFishTypeKind.UnknownSmallFish:
         case FishDBFishTypeKind.LargeFish:
         case FishDBFishTypeKind.UnknownLargeFish:
             tmpFishName = FishDB.FISHNAME_UNKNOWN_FISH;
             break;
         case FishDBFishTypeKind.Item:
         case FishDBFishTypeKind.UnknownItem:
             tmpFishName = FishDB.FISHNAME_UNKNOWN_ITEM;
             break;
         case FishDBFishTypeKind.UnknownMonster:
             tmpFishName = FishDB.FISHNAME_UNKNOWN_MONSTER;
             break;
         default:
             tmpFishName = FishDB.FISHNAME_UNKNOWN;
             break;
     }
     return string.Format("{0}{1:000}-{2:000}-{3:000}-{4:000}", tmpFishName, iID1, iID2, iID3, iID4);
 }
Exemple #4
0
        public bool AddFish(string iRodName, string iFishName, FishDBFishTypeKind iFishType, FishDBIdModel iID, string iZoneName, string iBaitName)
        {
            logger.Trace("RodName={0} Fish={1} Type={2} ID={3} Zone={4} Bait={5}", iRodName, iFishName, iFishType, iID, iZoneName, iBaitName);
            FishDBModel fishDB = getFishDB(iRodName);

            fishDB.Version = VERSION;
            fishDB.RodName = iRodName;

            //不明魚として登録されている場合、削除する
            for (int fishIdx = 0; fishIdx < fishDB.Fishes.Count; fishIdx++)
            {
                if (fishDB.Fishes[fishIdx].IDs.Contains(iID) &&
                    fishDB.Fishes[fishIdx].ZoneNames.Contains(iZoneName) &&
                    (fishDB.Fishes[fishIdx].FishType == FishDBFishTypeKind.UnknownSmallFish ||
                     fishDB.Fishes[fishIdx].FishType == FishDBFishTypeKind.UnknownLargeFish ||
                     fishDB.Fishes[fishIdx].FishType == FishDBFishTypeKind.UnknownItem ||
                     fishDB.Fishes[fishIdx].FishType == FishDBFishTypeKind.UnknownMonster ||
                     fishDB.Fishes[fishIdx].FishType == FishDBFishTypeKind.Unknown))
                {
                    fishDB.Fishes[fishIdx].ZoneNames.Remove(iZoneName);
                    //エリア情報が無くなっった場合、魚情報を削除する
                    if (fishDB.Fishes[fishIdx].ZoneNames.Count == 0)
                    {
                        fishDB.Fishes.RemoveAt(fishIdx);
                    }
                    break;
                }
            }

            //更新処理
            bool foundFlg = false;

            for (int fishIdx = 0; fishIdx < fishDB.Fishes.Count; fishIdx++)
            {
                if (fishDB.Fishes[fishIdx].FishName == iFishName)
                {
                    foundFlg = true;
                    fishDB.Fishes[fishIdx].FishName = iFishName;
                    fishDB.Fishes[fishIdx].FishType = iFishType;
                    if (!fishDB.Fishes[fishIdx].IDs.Contains(iID))
                    {
                        logger.Info("IDの追加 竿={0} 魚={1} ID={2}", iRodName, iFishName, iID);
                        fishDB.Fishes[fishIdx].IDs.Add(iID);
                    }
                    if (!fishDB.Fishes[fishIdx].ZoneNames.Contains(iZoneName))
                    {
                        logger.Info("エリアの追加 竿={0} 魚={1} エリア={2}", iRodName, iFishName, iZoneName);
                        fishDB.Fishes[fishIdx].ZoneNames.Add(iZoneName);
                    }
                    if (!fishDB.Fishes[fishIdx].BaitNames.Contains(iBaitName))
                    {
                        logger.Info("エサの追加 竿={0} 魚={1} エサ={2}", iRodName, iFishName, iBaitName);
                        fishDB.Fishes[fishIdx].BaitNames.Add(iBaitName);
                    }
                }
            }
            //新規追加処理
            if (!foundFlg)
            {
                logger.Info("魚の追加 竿={0} 魚={1} 魚タイプ={2} ID={3} エリア={4} エサ={5}", iRodName, iFishName, iFishType, iID, iZoneName, iBaitName);
                FishDBFishModel fish = new FishDBFishModel();
                fish.FishName = iFishName;
                fish.FishType = iFishType;
                fish.IDs.Add(iID);
                fish.ZoneNames.Add(iZoneName);
                fish.BaitNames.Add(iBaitName);
                fishDB.Fishes.Add(fish);
            }
            //ソート
            fishDB.Fishes.Sort(FishDBFishModel.SortTypeName);
            for (int i = 0; i < fishDB.Fishes.Count; i++)
            {
                fishDB.Fishes[i].IDs.Sort(FishDBIdModel.SortCountCritical);
            }
            //Rod.xmlへ出力する
            if (!putFishDB(iRodName, fishDB))
            {
                return(false);
            }
            return(true);
        }
Exemple #5
0
        public bool AddFish(string iRodName, string iFishName, FishDBFishTypeKind iFishType, FishDBIdModel iID, string iZoneName, string iBaitName)
        {
            logger.Output(LogLevelKind.DEBUG, string.Format("{0} RodName={1} FishName={2} FishType={3} ID={4} ZoneName={5} BaitName={6}",
                MethodBase.GetCurrentMethod().Name, iRodName, iFishName, iFishType, iID, iZoneName, iBaitName));
            FishDBModel fishDB = getFishDB(iRodName);
            fishDB.Version = VERSION;
            fishDB.RodName = iRodName;

            //不明魚として登録されている場合、削除する
            for (int fishIdx = 0; fishIdx < fishDB.Fishes.Count; fishIdx++)
            {
                if (fishDB.Fishes[fishIdx].IDs.Contains(iID) &&
                    fishDB.Fishes[fishIdx].ZoneNames.Contains(iZoneName) &&
                    (fishDB.Fishes[fishIdx].FishType == FishDBFishTypeKind.UnknownSmallFish ||
                     fishDB.Fishes[fishIdx].FishType == FishDBFishTypeKind.UnknownLargeFish ||
                     fishDB.Fishes[fishIdx].FishType == FishDBFishTypeKind.UnknownItem ||
                     fishDB.Fishes[fishIdx].FishType == FishDBFishTypeKind.UnknownMonster ||
                     fishDB.Fishes[fishIdx].FishType == FishDBFishTypeKind.Unknown))
                {
                    fishDB.Fishes[fishIdx].ZoneNames.Remove(iZoneName);
                    //エリア情報が無くなっった場合、魚情報を削除する
                    if (fishDB.Fishes[fishIdx].ZoneNames.Count == 0)
                    {
                        fishDB.Fishes.RemoveAt(fishIdx);
                    }
                    break;
                }

            }

            //更新処理
            bool foundFlg = false;
            for (int fishIdx = 0; fishIdx < fishDB.Fishes.Count; fishIdx++)
            {
                if (fishDB.Fishes[fishIdx].FishName == iFishName)
                {
                    foundFlg = true;
                    fishDB.Fishes[fishIdx].FishName = iFishName;
                    fishDB.Fishes[fishIdx].FishType = iFishType;
                    if (!fishDB.Fishes[fishIdx].IDs.Contains(iID)) fishDB.Fishes[fishIdx].IDs.Add(iID);
                    if (!fishDB.Fishes[fishIdx].ZoneNames.Contains(iZoneName)) fishDB.Fishes[fishIdx].ZoneNames.Add(iZoneName);
                    if (!fishDB.Fishes[fishIdx].BaitNames.Contains(iBaitName)) fishDB.Fishes[fishIdx].BaitNames.Add(iBaitName);
                }
            }
            //新規追加処理
            if (!foundFlg)
            {
                FishDBFishModel fish = new FishDBFishModel();
                fish.FishName = iFishName;
                fish.FishType = iFishType;
                fish.IDs.Add(iID);
                fish.ZoneNames.Add(iZoneName);
                fish.BaitNames.Add(iBaitName);
                fishDB.Fishes.Add(fish);
            }
            //ソート
            fishDB.Fishes.Sort(FishDBFishModel.SortTypeName);
            for (int i = 0; i < fishDB.Fishes.Count; i++)
            {
                fishDB.Fishes[i].IDs.Sort(FishDBIdModel.SortCountCritical);
            }
            //Rod.xmlへ出力する
            if (!putFishDB(iRodName, fishDB)) return false;
            return true;
        }
Exemple #6
0
 /// <summary>
 /// FishTypeが一時登録魚が判定
 /// </summary>
 /// <param name="iFishType">FishType</param>
 /// <returns>一時登録魚の場合Trueを返す</returns>
 public static bool IsTempFish(FishDBFishTypeKind iFishType)
 {
     if (iFishType == FishDBFishTypeKind.Unknown ||
         iFishType == FishDBFishTypeKind.UnknownSmallFish ||
         iFishType == FishDBFishTypeKind.UnknownLargeFish ||
         iFishType == FishDBFishTypeKind.UnknownItem)
     {
         return true;
     }
     return false;
 }
 /// <summary>
 /// 画面表示用の魚名を取得する
 /// </summary>
 /// <param name="iFishName">魚名</param>
 /// <param name="iFishType">魚タイプ</param>
 /// <param name="iFishCount">数</param>
 /// <param name="iCritical">クリティカル</param>
 /// <param name="iDetail">詳細モード</param>
 /// <returns>表示用の魚名</returns>
 public static string GetViewFishName(string iFishName, FishDBFishTypeKind iFishType, int iFishCount, bool iCritical, FishDBItemTypeKind iItemType)
 {
     string size = string.Empty;
     if (iFishType == FishDBFishTypeKind.SmallFish || iFishType == FishDBFishTypeKind.UnknownSmallFish)
     {
         size = "S";
     }
     else if (iFishType == FishDBFishTypeKind.LargeFish || iFishType == FishDBFishTypeKind.UnknownLargeFish)
     {
         size = "L";
     }
     else if (iFishType == FishDBFishTypeKind.Item || iFishType == FishDBFishTypeKind.UnknownItem)
     {
         size = "I";
     }
     else if (iFishType == FishDBFishTypeKind.UnknownMonster)
     {
         size = "M";
     }
     else
     {
         size = "?";
     }
     string critical = string.Empty;
     if (iCritical)
     {
         critical = "!";
     }
     string count = string.Empty;
     if (iFishCount > 1)
     {
         count = string.Format("x{0}",iFishCount);
     }
     string type = string.Empty;
     if (iItemType == FishDBItemTypeKind.Key)
     {
         type = "K";
     }
     else if (iItemType == FishDBItemTypeKind.Temporary)
     {
         type = "T";
     }
     return string.Format("{0}{1}{2}{3}{4}", iFishName, size, count, type, critical);
 }
 /// <summary>
 /// 画面表示用の魚名を取得する(魚別で表示)
 /// </summary>
 /// <param name="iFishName">魚名</param>
 /// <param name="iFishType">魚タイプ</param>
 /// <returns></returns>
 public static string GetViewFishName(string iFishName, FishDBFishTypeKind iFishType)
 {
     return GetViewFishName(iFishName, iFishType, 0, false, FishDBItemTypeKind.Unknown);
 }
        /// <summary>
        /// 指定のIDが釣り上げる対象かをチェック
        /// </summary>
        /// <param name="iRodName">竿名称</param>
        /// <param name="iID1">ID1</param>
        /// <param name="iID2">ID2</param>
        /// <param name="iID3">ID3</param>
        /// <param name="iID4">ID4</param>
        /// <param name="iFishType">魚タイプ</param>
        /// <returns>釣り上げ対象の場合True</returns>
        private bool isWantedFish(string iRodName, int iID1, int iID2, int iID3, int iID4, string iZoneName, FishDBFishTypeKind iFishType)
        {
            //FishType
            if ((settings.Fishing.IgnoreSmallFish && (iFishType == FishDBFishTypeKind.SmallFish || iFishType == FishDBFishTypeKind.UnknownSmallFish)) ||
                (settings.Fishing.IgnoreLargeFish && (iFishType == FishDBFishTypeKind.LargeFish || iFishType == FishDBFishTypeKind.UnknownLargeFish)) ||
                (settings.Fishing.IgnoreItem && (iFishType == FishDBFishTypeKind.Item || iFishType == FishDBFishTypeKind.UnknownItem)) ||
                (settings.Fishing.IgnoreMonster && iFishType == FishDBFishTypeKind.UnknownMonster))
            {
                return false;
            }
            //学習モード
            if (settings.Fishing.Learning && (iFishType == FishDBFishTypeKind.UnknownSmallFish ||
                                              iFishType == FishDBFishTypeKind.UnknownLargeFish ||
                                              iFishType == FishDBFishTypeKind.UnknownItem ||
                                              iFishType == FishDBFishTypeKind.UnknownMonster||
                                              iFishType == FishDBFishTypeKind.Unknown))
            {
                return true;
            }
            //Wanted
            FishDBFishModel fish = FishDB.SelectFishFromIDZone(iRodName, iID1, iID2, iID3, iID4, iZoneName, true);
            foreach (SettingsPlayerFishListWantedModel wantedFish in settings.FishList.Wanted)
            {
                if (settings.FishList.Mode == Settings.FishListModeKind.ID)
                {
                    if (wantedFish.FishName == fish.FishName)
                    {
                        if (wantedFish.ID1 == iID1 && wantedFish.ID2 == iID2 && wantedFish.ID3 == iID3 && wantedFish.ID4 == iID4)
                        {
                            return true;
                        }

                    }
                }
                else if (settings.FishList.Mode == Settings.FishListModeKind.Name)
                {
                    if (wantedFish.FishName == fish.FishName)
                    {
                        return true;
                    }
                }
            }
            return false;
        }