/// <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>
/// <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="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); }
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); }
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; }
/// <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; }