Files
UltimateFishing/Assets/Scripts/Assembly-CSharp/AchievementManager.cs
2026-02-21 16:45:37 +08:00

679 lines
21 KiB
C#

using System.Collections;
using System.Collections.Generic;
using CodeStage.AntiCheat.ObscuredTypes;
using Steamworks;
using UnityEngine;
public class AchievementManager : MonoBehaviour
{
public enum AchievementId
{
TEST_ACHIEVEMENT = 0,
EVENT_POO_01 = 1,
EVENT_MAKE_HOOK_01 = 2,
EVENT_MAKE_FILLET_01 = 3,
EVENT_FRY_FILLET_01 = 4,
PLAYER_LEVEL_01 = 5,
PLAYER_LEVEL_02 = 6,
PLAYER_LEVEL_03 = 7,
FISH_AMOUNT_01 = 8,
FISH_AMOUNT_02 = 9,
FISH_AMOUNT_03 = 10,
FISH_AMOUNT_04 = 11,
FISH_AMOUNT_05 = 12,
JUNK_AMOUNT_01 = 13,
JUNK_AMOUNT_02 = 14,
JUNK_AMOUNT_03 = 15,
SKILLS_AMOUNT_01 = 16,
SKILLS_AMOUNT_02 = 17,
SKILLS_AMOUNT_03 = 18,
FISH_RAINBOW_TROUT_01 = 19,
FISH_BROWN_TROUT_01 = 20,
FISH_BROOK_TROUT_01 = 21,
FISH_BULL_TROUT_01 = 22,
FISH_LAKE_WHITEFISH_01 = 23,
FISH_BLACK_MARLIN_01 = 24,
FISH_BLUE_MARLIN_01 = 25,
FISH_STRIPED_MARLIN_01 = 26,
FISH_WHITE_MARLIN_01 = 27,
FISH_DORADO_01 = 28,
FISH_AMBERJACK_01 = 29,
FISH_RAINBOW_RUNNER_01 = 30,
FISH_PIKE_01 = 31,
FISH_PERCH_01 = 32,
FISH_BAIKAL_OMUL_01 = 33,
FISH_BLUEGILL_01 = 34,
FISH_CHANNEL_CATFISH_01 = 35,
FISH_BLACK_CRAPPIE_01 = 36,
FISH_LARGEMOUTH_BASS_01 = 37,
FISH_SMALLMOUTH_BASS_01 = 38,
FISH_STRIPPED_BASS_01 = 39,
FISH_SPOTTED_BASS_01 = 40,
FISH_BREAM_01 = 41,
FISH_CHUB_01 = 42,
FISH_GRASS_CARP_01 = 43,
FISH_MIRROR_CARP_01 = 44,
FISH_CRUCIAN_CARP_01 = 45,
FISH_STURGEON_01 = 46,
FISH_CUTTHROAT_TROUT_01 = 47,
FISH_ROOSTERFISH_01 = 48,
FISH_ZANDER_01 = 49,
FISH_BARBEL_01 = 50,
FISH_HUCHEN_01 = 51,
FISH_NASE_01 = 52,
FISH_WALLEYE_01 = 53,
FISH_SAUGER_01 = 54,
FISH_YELLOW_PERCH_01 = 55,
FISH_GOLDEN_TROUT_01 = 56,
FISH_TIGER_TROUT_01 = 57,
FISH_AFRICAN_TIGERFISH_01 = 58,
FISH_ELECTRIC_CATFISH_01 = 59,
FISH_VUNDU_CATFISH_01 = 60,
FISH_AFRICAN_CATFISH_01 = 61,
FISH_REDBREASTED_TILAPIA_01 = 62,
FISH_KARIBA_TILAPIA_01 = 63,
FISH_THREESPOT_TILAPIA_01 = 64,
FISH_GREEN_BREAM_01 = 65,
FISH_PINK_BREAM_01 = 66,
FISH_RAINBOW_BREAM_01 = 67,
FISH_ZAMBEZI_BREAM_01 = 68,
FISH_AFRICAN_BARB_01 = 69,
FISH_PURPLE_LABEO_01 = 70,
FISH_LARGESCALED_YELLOWFISH_01 = 71,
FISH_KAFUE_KILLIFISH_01 = 72,
FISH_CAPRIVI_KILLIFISH_01 = 73,
FISH_ATLANTIC_SALMON_01 = 74,
FISH_ATLANTIC_COD_01 = 75,
FISH_GREENLAND_COD_01 = 76,
FISH_ATLANTIC_HALIBUT_01 = 77,
FISH_GREENLAND_HALIBUT_01 = 78,
FISH_FOURHORNED_SCULPIN_01 = 79,
FISH_CAPELIN_01 = 80,
FISH_ATLANTIC_WOLFFISH_01 = 81,
FISH_GREENLAND_SHARK_01 = 82,
FISH_GOBLIN_SHARK_01 = 83,
FISH_LUMPFISH_01 = 84,
FISH_DEEPWATER_REDFISH_01 = 85,
FISH_ALIGATOR_GAR_01 = 86,
FISH_APAPA_01 = 87,
FISH_ARAPAIMA_01 = 88,
FISH_AROWANA_01 = 89,
FISH_ELECTRIC_EEL_01 = 90,
FISH_OSCAR_01 = 91,
FISH_PAYARA_01 = 92,
FISH_PEACOCK_BASS_01 = 93,
FISH_PIRAIBA_CATFISH_01 = 94,
FISH_PIRANHA_01 = 95,
FISH_REDTAIL_CATFISH_01 = 96,
FISH_SURUBIM_01 = 97,
FISH_TAMBAQUI_01 = 98,
FISH_CARP_KOI_01 = 99,
FISH_GIANT_BARB_01 = 100,
FISH_JAPANESE_EEL_01 = 101,
FISH_SNAKEHEAD_01 = 102,
FISH_SOCKEYE_SALMON_01 = 103,
FISH_SPOTTED_SEATROUT_01 = 104,
FISH_TENCH_01 = 105,
FISH_WAKASAGI_01 = 106,
FISH_WELS_CATFISH_01 = 107,
FISH_BEAKED_CORAL_FISH_01 = 108,
FISH_BLACKTIP_REEF_SHARK_01 = 109,
FISH_COMMON_LIONFISH_01 = 110,
FISH_CROCODILE_NEEDLEFISH_01 = 111,
FISH_GIANT_GROUPER_01 = 112,
FISH_GREAT_BARRACUDA_01 = 113,
FISH_GREYFACE_MORAY_EEL_01 = 114,
FISH_GREY_SNAPER_01 = 115,
FISH_INDIAN_THREADFISH_01 = 116,
FISH_LONGFIN_BANNERFISH_01 = 117,
FISH_MALABAR_GROUPER_01 = 118,
FISH_YELLOWTAIL_BARRACUDA_01 = 119,
FISH_ASP_01 = 120,
FISH_BLACK_GRAYLING_01 = 121,
FISH_BLEAK_01 = 122,
FISH_BURBOT_01 = 123,
FISH_FLATHEAD_CATFISH_01 = 124,
FISH_GIANT_TRAVELLY_01 = 125,
FISH_IDE_01 = 126,
FISH_PUMPKINSEED_01 = 127,
FISH_ROACH_01 = 128,
FISH_SAILFISH_01 = 129,
FISH_SEA_BREAM_01 = 130,
FISH_SILVER_BREAM_01 = 131,
FISH_SILVER_CARP_01 = 132,
FISH_WHITE_CRAPPIE_01 = 133,
FISH_WHITE_GRAYLING_01 = 134,
FISH_YELLOWFIN_TUNA_01 = 135,
FISH_RUDD_01 = 136,
FISH_FLATHEAD_GREY_MULLET_01 = 137,
FISH_GIANT_KOKOPU_01 = 138,
FISH_BROWN_BULLHEAD_CATFISH_01 = 139,
FISH_LONGFIN_EEL_01 = 140,
FISH_CHINOOK_SALMON_01 = 141,
UNKNOWN = 142
}
private static AchievementManager instance;
public Sprite defaultIcon;
public List<Achievement> achievements = new List<Achievement>();
public GameObject achievementWidget;
public float showSpeed = 2f;
public float showDelay = 5f;
public static AchievementManager Instance
{
get
{
return instance;
}
}
private AchievementManager()
{
}
private void Awake()
{
if (instance == null)
{
instance = this;
Object.DontDestroyOnLoad(base.gameObject);
}
else
{
Object.Destroy(base.gameObject);
}
}
private void Start()
{
if ((bool)achievementWidget)
{
achievementWidget.SetActive(false);
}
}
private void OnDestroy()
{
}
private void Update()
{
if ((GlobalSettings.Instance == null || ((bool)GlobalSettings.Instance && GlobalSettings.Instance.turnOnMyCheats)) && Input.GetKey(KeyCode.LeftShift))
{
if (Input.GetKeyDown(KeyCode.Alpha0))
{
UpdateAchievement(AchievementId.PLAYER_LEVEL_01, 1);
}
else if (Input.GetKeyDown(KeyCode.Alpha1))
{
GetAchievement(AchievementId.FISH_CHUB_01).CompleteAchievement(true);
}
else if (Input.GetKeyDown(KeyCode.Alpha2))
{
CompleteAchievement(AchievementId.FISH_BREAM_01);
}
else if (Input.GetKeyDown(KeyCode.Alpha3))
{
UpdateAchievement(FishToAchievementID(Fish.Species.AMBERJACK), 1);
}
else if (Input.GetKeyDown(KeyCode.Alpha4))
{
SetPlayersLevelProgress(4);
}
if (Input.GetKeyDown(KeyCode.N))
{
Reset();
}
}
}
public void ShowAchievement(AchievementId achievementId)
{
if ((bool)achievementWidget && !achievementWidget.activeSelf)
{
Achievement achievement = GetAchievement(achievementId);
StartCoroutine(ShowAnimation());
}
}
public IEnumerator ShowAnimation()
{
if ((bool)achievementWidget)
{
achievementWidget.SetActive(true);
iTween.MoveTo(achievementWidget, iTween.Hash("y", 440f, "time", showSpeed, "easeType", iTween.EaseType.easeInOutCubic, "islocal", true));
yield return new WaitForSeconds(showSpeed);
yield return new WaitForSeconds(showDelay);
iTween.MoveTo(achievementWidget, iTween.Hash("y", 590f, "time", showSpeed, "easeType", iTween.EaseType.easeInOutCubic, "islocal", true));
yield return new WaitForSeconds(showSpeed);
achievementWidget.SetActive(false);
}
}
public Achievement GetAchievement(AchievementId achievementId)
{
foreach (Achievement achievement in achievements)
{
if (achievement.achievementId == achievementId)
{
return achievement;
}
}
return null;
}
public void CompleteAchievement(AchievementId achievementId)
{
if (!GlobalSettings.Instance.playerSettings.IsSandbox())
{
Achievement achievement = GetAchievement(achievementId);
if (achievement != null)
{
achievement.CompleteAchievement(false);
Save();
}
else
{
Debug.LogError("Achievement not found: " + achievementId);
}
}
}
public void ResetAchievement(AchievementId achievementId)
{
Achievement achievement = GetAchievement(achievementId);
if (achievement != null)
{
achievement.ResetAchievement();
}
}
public void UpdateAchievement(AchievementId achievementId, int progress)
{
if (!GlobalSettings.Instance.playerSettings.IsSandbox())
{
Achievement achievement = GetAchievement(achievementId);
if (achievement != null)
{
achievement.UpdateAchievement(progress);
Save();
}
else
{
Debug.LogError("Achievement not found: " + achievementId);
}
}
}
public void SetAchievementProgress(AchievementId achievementId, int progress)
{
if (!GlobalSettings.Instance.playerSettings.IsSandbox())
{
Achievement achievement = GetAchievement(achievementId);
if (achievement != null)
{
achievement.SetAchievementProgress(progress);
Save();
}
else
{
Debug.LogError("Achievement not found: " + achievementId);
}
}
}
public void SetPlayersLevelProgress(int playersLevel)
{
if (!GlobalSettings.Instance.playerSettings.IsSandbox())
{
Instance.SetAchievementProgress(AchievementId.PLAYER_LEVEL_01, playersLevel);
Instance.SetAchievementProgress(AchievementId.PLAYER_LEVEL_02, playersLevel);
Instance.SetAchievementProgress(AchievementId.PLAYER_LEVEL_03, playersLevel);
}
}
public void SetFishAmountProgress(int fishAmount)
{
if (!GlobalSettings.Instance.playerSettings.IsSandbox())
{
Instance.SetAchievementProgress(AchievementId.FISH_AMOUNT_01, fishAmount);
Instance.SetAchievementProgress(AchievementId.FISH_AMOUNT_02, fishAmount);
Instance.SetAchievementProgress(AchievementId.FISH_AMOUNT_03, fishAmount);
Instance.SetAchievementProgress(AchievementId.FISH_AMOUNT_04, fishAmount);
Instance.SetAchievementProgress(AchievementId.FISH_AMOUNT_05, fishAmount);
}
}
public void UnlockSteamAchievement(string achievementId)
{
if (!GlobalSettings.Instance.playerSettings.IsSandbox())
{
string empty = string.Empty;
if (SteamManager.Initialized)
{
empty = ((!SteamUserStats.SetAchievement(achievementId)) ? ("SetAchievement Fail: " + achievementId) : ("SetAchievement Success: " + achievementId));
SteamUserStats.StoreStats();
Debug.Log(empty);
}
}
}
public void ResetSteamAchievement(string achievementId)
{
if ((bool)GlobalSettings.Instance && GlobalSettings.Instance.turnOnMyCheats)
{
string empty = string.Empty;
if (SteamManager.Initialized)
{
empty = ((!SteamUserStats.ClearAchievement(achievementId)) ? ("ResetAchievement Fail: " + achievementId) : ("ResetAchievement Success: " + achievementId));
SteamUserStats.StoreStats();
Debug.Log(empty);
}
}
}
public static AchievementId FishToAchievementID(Fish.Species species)
{
switch (species)
{
case Fish.Species.RAINBOW_TROUT:
case Fish.Species.RAINBOW_TROUT_B:
return AchievementId.FISH_RAINBOW_TROUT_01;
case Fish.Species.BROWN_TROUT:
case Fish.Species.BROWN_TROUT_B:
return AchievementId.FISH_BROWN_TROUT_01;
case Fish.Species.BROOK_TROUT:
case Fish.Species.BROOK_TROUT_B:
return AchievementId.FISH_BROOK_TROUT_01;
case Fish.Species.BULL_TROUT:
return AchievementId.FISH_BULL_TROUT_01;
case Fish.Species.LAKE_WHITEFISH:
return AchievementId.FISH_LAKE_WHITEFISH_01;
case Fish.Species.BLACK_MARLIN:
return AchievementId.FISH_BLACK_MARLIN_01;
case Fish.Species.BLUE_MARLIN:
return AchievementId.FISH_BLUE_MARLIN_01;
case Fish.Species.STRIPED_MARLIN:
return AchievementId.FISH_STRIPED_MARLIN_01;
case Fish.Species.WHITE_MARLIN:
return AchievementId.FISH_WHITE_MARLIN_01;
case Fish.Species.DORADO:
return AchievementId.FISH_DORADO_01;
case Fish.Species.AMBERJACK:
return AchievementId.FISH_AMBERJACK_01;
case Fish.Species.RAINBOW_RUNNER:
return AchievementId.FISH_RAINBOW_RUNNER_01;
case Fish.Species.PIKE:
return AchievementId.FISH_PIKE_01;
case Fish.Species.PERCH:
return AchievementId.FISH_PERCH_01;
case Fish.Species.BAIKAL_OMUL:
return AchievementId.FISH_BAIKAL_OMUL_01;
case Fish.Species.BLUEGILL:
return AchievementId.FISH_BLUEGILL_01;
case Fish.Species.CHANNEL_CATFISH:
return AchievementId.FISH_CHANNEL_CATFISH_01;
case Fish.Species.BLACK_CRAPPIE:
return AchievementId.FISH_BLACK_CRAPPIE_01;
case Fish.Species.LARGEMOUTH_BASS:
return AchievementId.FISH_LARGEMOUTH_BASS_01;
case Fish.Species.SMALLMOUTH_BASS:
return AchievementId.FISH_SMALLMOUTH_BASS_01;
case Fish.Species.STRIPPED_BASS:
return AchievementId.FISH_STRIPPED_BASS_01;
case Fish.Species.SPOTTED_BASS:
return AchievementId.FISH_SPOTTED_BASS_01;
case Fish.Species.BREAM:
return AchievementId.FISH_BREAM_01;
case Fish.Species.CHUB:
return AchievementId.FISH_CHUB_01;
case Fish.Species.GRASS_CARP:
return AchievementId.FISH_GRASS_CARP_01;
case Fish.Species.MIRROR_CARP:
return AchievementId.FISH_MIRROR_CARP_01;
case Fish.Species.CRUCIAN_CARP:
return AchievementId.FISH_CRUCIAN_CARP_01;
case Fish.Species.STURGEON:
return AchievementId.FISH_STURGEON_01;
case Fish.Species.CUTTHROAT_TROUT:
return AchievementId.FISH_CUTTHROAT_TROUT_01;
case Fish.Species.ROOSTERFISH:
return AchievementId.FISH_ROOSTERFISH_01;
case Fish.Species.ZANDER:
return AchievementId.FISH_ZANDER_01;
case Fish.Species.BARBEL:
return AchievementId.FISH_BARBEL_01;
case Fish.Species.HUCHEN:
return AchievementId.FISH_HUCHEN_01;
case Fish.Species.NASE:
return AchievementId.FISH_NASE_01;
case Fish.Species.WALLEYE:
return AchievementId.FISH_WALLEYE_01;
case Fish.Species.SAUGER:
return AchievementId.FISH_SAUGER_01;
case Fish.Species.YELLOW_PERCH:
return AchievementId.FISH_YELLOW_PERCH_01;
case Fish.Species.GOLDEN_TROUT:
return AchievementId.FISH_GOLDEN_TROUT_01;
case Fish.Species.TIGER_TROUT:
return AchievementId.FISH_TIGER_TROUT_01;
case Fish.Species.AFRICAN_TIGERFISH:
return AchievementId.FISH_AFRICAN_TIGERFISH_01;
case Fish.Species.ELECTRIC_CATFISH:
return AchievementId.FISH_ELECTRIC_CATFISH_01;
case Fish.Species.VUNDU_CATFISH:
return AchievementId.FISH_VUNDU_CATFISH_01;
case Fish.Species.AFRICAN_CATFISH:
return AchievementId.FISH_AFRICAN_CATFISH_01;
case Fish.Species.REDBREASTED_TILAPIA:
return AchievementId.FISH_REDBREASTED_TILAPIA_01;
case Fish.Species.KARIBA_TILAPIA:
return AchievementId.FISH_KARIBA_TILAPIA_01;
case Fish.Species.THREESPOT_TILAPIA:
return AchievementId.FISH_THREESPOT_TILAPIA_01;
case Fish.Species.GREEN_BREAM:
return AchievementId.FISH_GREEN_BREAM_01;
case Fish.Species.PINK_BREAM:
return AchievementId.FISH_PINK_BREAM_01;
case Fish.Species.RAINBOW_BREAM:
return AchievementId.FISH_RAINBOW_BREAM_01;
case Fish.Species.ZAMBEZI_BREAM:
return AchievementId.FISH_ZAMBEZI_BREAM_01;
case Fish.Species.AFRICAN_BARB:
return AchievementId.FISH_AFRICAN_BARB_01;
case Fish.Species.PURPLE_LABEO:
return AchievementId.FISH_PURPLE_LABEO_01;
case Fish.Species.LARGESCALED_YELLOWFISH:
return AchievementId.FISH_LARGESCALED_YELLOWFISH_01;
case Fish.Species.KAFUE_KILLIFISH:
return AchievementId.FISH_KAFUE_KILLIFISH_01;
case Fish.Species.CAPRIVI_KILLIFISH:
return AchievementId.FISH_CAPRIVI_KILLIFISH_01;
case Fish.Species.ATLANTIC_SALMON:
return AchievementId.FISH_ATLANTIC_SALMON_01;
case Fish.Species.ATLANTIC_COD:
return AchievementId.FISH_ATLANTIC_COD_01;
case Fish.Species.GREENLAND_COD:
return AchievementId.FISH_GREENLAND_COD_01;
case Fish.Species.ATLANTIC_HALIBUT:
return AchievementId.FISH_ATLANTIC_HALIBUT_01;
case Fish.Species.GREENLAND_HALIBUT:
return AchievementId.FISH_GREENLAND_HALIBUT_01;
case Fish.Species.FOURHORNED_SCULPIN:
return AchievementId.FISH_FOURHORNED_SCULPIN_01;
case Fish.Species.CAPELIN:
return AchievementId.FISH_CAPELIN_01;
case Fish.Species.ATLANTIC_WOLFFISH:
return AchievementId.FISH_ATLANTIC_WOLFFISH_01;
case Fish.Species.GREENLAND_SHARK:
return AchievementId.FISH_GREENLAND_SHARK_01;
case Fish.Species.GOBLIN_SHARK:
return AchievementId.FISH_GOBLIN_SHARK_01;
case Fish.Species.LUMPFISH:
return AchievementId.FISH_LUMPFISH_01;
case Fish.Species.DEEPWATER_REDFISH:
return AchievementId.FISH_DEEPWATER_REDFISH_01;
case Fish.Species.ALIGATOR_GAR:
return AchievementId.FISH_ALIGATOR_GAR_01;
case Fish.Species.APAPA:
return AchievementId.FISH_APAPA_01;
case Fish.Species.ARAPAIMA:
return AchievementId.FISH_ARAPAIMA_01;
case Fish.Species.AROWANA:
return AchievementId.FISH_AROWANA_01;
case Fish.Species.ELECTRIC_EEL:
return AchievementId.FISH_ELECTRIC_EEL_01;
case Fish.Species.OSCAR:
return AchievementId.FISH_OSCAR_01;
case Fish.Species.PAYARA:
return AchievementId.FISH_PAYARA_01;
case Fish.Species.PEACOCK_BASS:
return AchievementId.FISH_PEACOCK_BASS_01;
case Fish.Species.PIRAIBA_CATFISH:
return AchievementId.FISH_PIRAIBA_CATFISH_01;
case Fish.Species.PIRANHA:
return AchievementId.FISH_PIRANHA_01;
case Fish.Species.REDTAIL_CATFISH:
return AchievementId.FISH_REDTAIL_CATFISH_01;
case Fish.Species.SURUBIM:
return AchievementId.FISH_SURUBIM_01;
case Fish.Species.TAMBAQUI:
return AchievementId.FISH_TAMBAQUI_01;
case Fish.Species.CARP_KOI:
case Fish.Species.KOI_CARP:
return AchievementId.FISH_CARP_KOI_01;
case Fish.Species.GIANT_BARB:
return AchievementId.FISH_GIANT_BARB_01;
case Fish.Species.JAPANESE_EEL:
return AchievementId.FISH_JAPANESE_EEL_01;
case Fish.Species.SNAKEHEAD:
return AchievementId.FISH_SNAKEHEAD_01;
case Fish.Species.SOCKEYE_SALMON:
case Fish.Species.SOCKEYE_SALMON_B:
return AchievementId.FISH_SOCKEYE_SALMON_01;
case Fish.Species.SPOTTED_SEATROUT:
return AchievementId.FISH_SPOTTED_SEATROUT_01;
case Fish.Species.TENCH:
case Fish.Species.TENCH_B:
return AchievementId.FISH_TENCH_01;
case Fish.Species.WAKASAGI:
return AchievementId.FISH_WAKASAGI_01;
case Fish.Species.WELS_CATFISH:
return AchievementId.FISH_WELS_CATFISH_01;
case Fish.Species.BEAKED_CORAL_FISH:
return AchievementId.FISH_BEAKED_CORAL_FISH_01;
case Fish.Species.BLACKTIP_REEF_SHARK:
return AchievementId.FISH_BLACKTIP_REEF_SHARK_01;
case Fish.Species.COMMON_LIONFISH:
return AchievementId.FISH_COMMON_LIONFISH_01;
case Fish.Species.CROCODILE_NEEDLEFISH:
return AchievementId.FISH_CROCODILE_NEEDLEFISH_01;
case Fish.Species.GIANT_GROUPER:
return AchievementId.FISH_GIANT_GROUPER_01;
case Fish.Species.GREAT_BARRACUDA:
return AchievementId.FISH_GREAT_BARRACUDA_01;
case Fish.Species.GREYFACE_MORAY_EEL:
return AchievementId.FISH_GREYFACE_MORAY_EEL_01;
case Fish.Species.GREY_SNAPER:
return AchievementId.FISH_GREY_SNAPER_01;
case Fish.Species.INDIAN_THREADFISH:
return AchievementId.FISH_INDIAN_THREADFISH_01;
case Fish.Species.LONGFIN_BANNERFISH:
return AchievementId.FISH_LONGFIN_BANNERFISH_01;
case Fish.Species.MALABAR_GROUPER:
return AchievementId.FISH_MALABAR_GROUPER_01;
case Fish.Species.YELLOWTAIL_BARRACUDA:
return AchievementId.FISH_YELLOWTAIL_BARRACUDA_01;
case Fish.Species.ASP:
return AchievementId.FISH_ASP_01;
case Fish.Species.BLACK_GRAYLING:
return AchievementId.FISH_BLACK_GRAYLING_01;
case Fish.Species.BLEAK:
return AchievementId.FISH_BLEAK_01;
case Fish.Species.BURBOT:
return AchievementId.FISH_BURBOT_01;
case Fish.Species.FLATHEAD_CATFISH:
return AchievementId.FISH_FLATHEAD_CATFISH_01;
case Fish.Species.GIANT_TRAVELLY:
return AchievementId.FISH_GIANT_TRAVELLY_01;
case Fish.Species.IDE:
return AchievementId.FISH_IDE_01;
case Fish.Species.PUMPKINSEED:
return AchievementId.FISH_PUMPKINSEED_01;
case Fish.Species.ROACH:
return AchievementId.FISH_ROACH_01;
case Fish.Species.SAILFISH:
return AchievementId.FISH_SAILFISH_01;
case Fish.Species.SEA_BREAM:
return AchievementId.FISH_SEA_BREAM_01;
case Fish.Species.SILVER_BREAM:
return AchievementId.FISH_SILVER_BREAM_01;
case Fish.Species.SILVER_CARP:
return AchievementId.FISH_SILVER_CARP_01;
case Fish.Species.WHITE_CRAPPIE:
return AchievementId.FISH_WHITE_CRAPPIE_01;
case Fish.Species.WHITE_GRAYLING:
return AchievementId.FISH_WHITE_GRAYLING_01;
case Fish.Species.YELLOWFIN_TUNA:
return AchievementId.FISH_YELLOWFIN_TUNA_01;
case Fish.Species.RUDD:
return AchievementId.FISH_RUDD_01;
case Fish.Species.FLATHEAD_GREY_MULLET:
return AchievementId.FISH_FLATHEAD_GREY_MULLET_01;
case Fish.Species.GIANT_KOKOPU:
return AchievementId.FISH_GIANT_KOKOPU_01;
case Fish.Species.BROWN_BULLHEAD_CATFISH:
return AchievementId.FISH_BROWN_BULLHEAD_CATFISH_01;
case Fish.Species.LONGFIN_EEL:
return AchievementId.FISH_LONGFIN_EEL_01;
case Fish.Species.CHINOOK_SALMON:
return AchievementId.FISH_CHINOOK_SALMON_01;
default:
return AchievementId.UNKNOWN;
}
}
public void Save()
{
if ((bool)GlobalSettings.Instance)
{
string currentProfilePrefix = GlobalSettings.Instance.saveManager.GetCurrentProfilePrefix();
for (int i = 0; i < achievements.Count; i++)
{
ObscuredPrefs.SetBool(currentProfilePrefix + "achievement_completed_" + i, achievements[i].isCompleted);
ObscuredPrefs.SetInt(currentProfilePrefix + "achievement_progress_" + i, achievements[i].progressCurrent);
}
}
}
public void Load()
{
if ((bool)GlobalSettings.Instance)
{
string currentProfilePrefix = GlobalSettings.Instance.saveManager.GetCurrentProfilePrefix();
for (int i = 0; i < achievements.Count; i++)
{
achievements[i].isCompleted = ObscuredPrefs.GetBool(currentProfilePrefix + "achievement_completed_" + i, false);
achievements[i].progressCurrent = ObscuredPrefs.GetInt(currentProfilePrefix + "achievement_progress_" + i, 0);
}
SetPlayersLevelProgress(GlobalSettings.Instance.playerSettings.playersLevel);
SetFishAmountProgress(GlobalSettings.Instance.fishManager.GetTotalFishCount());
}
}
public void Reset()
{
for (int i = 0; i < achievements.Count; i++)
{
achievements[i].ResetAchievement();
}
Save();
}
}