Statistic Manager
This commit is contained in:
@@ -13,39 +13,39 @@ cStatInfo cStatInfo::ms_Info[statCount] = {
|
||||
// http://minecraft.gamepedia.com/Achievements
|
||||
|
||||
/* Type | Name | Prerequisite */
|
||||
cStatInfo(achOpenInv, "openInventory"),
|
||||
cStatInfo(achMineWood, "mineWood", achOpenInv),
|
||||
cStatInfo(achCraftWorkbench, "buildWorkBench", achMineWood),
|
||||
cStatInfo(achCraftPickaxe, "buildPickaxe", achCraftWorkbench),
|
||||
cStatInfo(achCraftFurnace, "buildFurnace", achCraftPickaxe),
|
||||
cStatInfo(achAcquireIron, "acquireIron", achCraftFurnace),
|
||||
cStatInfo(achCraftHoe, "buildHoe", achCraftWorkbench),
|
||||
cStatInfo(achMakeBread, "makeBread", achCraftHoe),
|
||||
cStatInfo(achBakeCake, "bakeCake", achCraftHoe),
|
||||
cStatInfo(achCraftBetterPick, "buildBetterPickaxe", achCraftPickaxe),
|
||||
cStatInfo(achCookFish, "cookFish", achAcquireIron),
|
||||
cStatInfo(achOnARail, "onARail", achAcquireIron),
|
||||
cStatInfo(achCraftSword, "buildSword", achCraftWorkbench),
|
||||
cStatInfo(achKillMonster, "killEnemy", achCraftSword),
|
||||
cStatInfo(achKillCow, "killCow", achCraftSword),
|
||||
cStatInfo(achFlyPig, "flyPig", achKillCow),
|
||||
cStatInfo(achSnipeSkeleton, "snipeSkeleton", achKillMonster),
|
||||
cStatInfo(achDiamonds, "diamonds", achAcquireIron),
|
||||
cStatInfo(achEnterPortal, "portal", achDiamonds),
|
||||
cStatInfo(achReturnToSender, "ghast", achEnterPortal),
|
||||
cStatInfo(achBlazeRod, "blazeRod", achEnterPortal),
|
||||
cStatInfo(achBrewPotion, "potion", achBlazeRod),
|
||||
cStatInfo(achEnterTheEnd, "theEnd", achBlazeRod),
|
||||
cStatInfo(achDefeatDragon, "theEnd2", achEnterTheEnd),
|
||||
cStatInfo(achCraftEnchantTable, "enchantments", achDiamonds),
|
||||
cStatInfo(achOverkill, "overkill", achCraftEnchantTable),
|
||||
cStatInfo(achBookshelf, "bookcase", achCraftEnchantTable),
|
||||
cStatInfo(achExploreAllBiomes, "exploreAllBiomes", achEnterTheEnd),
|
||||
cStatInfo(achSpawnWither, "spawnWither", achDefeatDragon),
|
||||
cStatInfo(achKillWither, "killWither", achSpawnWither),
|
||||
cStatInfo(achFullBeacon, "fullBeacon", achKillWither),
|
||||
cStatInfo(achBreedCow, "breedCow", achKillCow),
|
||||
cStatInfo(achThrowDiamonds, "diamondsToYou", achDiamonds),
|
||||
cStatInfo(achOpenInv, "achievement.openInventory"),
|
||||
cStatInfo(achMineWood, "achievement.mineWood", achOpenInv),
|
||||
cStatInfo(achCraftWorkbench, "achievement.buildWorkBench", achMineWood),
|
||||
cStatInfo(achCraftPickaxe, "achievement.buildPickaxe", achCraftWorkbench),
|
||||
cStatInfo(achCraftFurnace, "achievement.buildFurnace", achCraftPickaxe),
|
||||
cStatInfo(achAcquireIron, "achievement.acquireIron", achCraftFurnace),
|
||||
cStatInfo(achCraftHoe, "achievement.buildHoe", achCraftWorkbench),
|
||||
cStatInfo(achMakeBread, "achievement.makeBread", achCraftHoe),
|
||||
cStatInfo(achBakeCake, "achievement.bakeCake", achCraftHoe),
|
||||
cStatInfo(achCraftBetterPick, "achievement.buildBetterPickaxe", achCraftPickaxe),
|
||||
cStatInfo(achCookFish, "achievement.cookFish", achAcquireIron),
|
||||
cStatInfo(achOnARail, "achievement.onARail", achAcquireIron),
|
||||
cStatInfo(achCraftSword, "achievement.buildSword", achCraftWorkbench),
|
||||
cStatInfo(achKillMonster, "achievement.killEnemy", achCraftSword),
|
||||
cStatInfo(achKillCow, "achievement.killCow", achCraftSword),
|
||||
cStatInfo(achFlyPig, "achievement.flyPig", achKillCow),
|
||||
cStatInfo(achSnipeSkeleton, "achievement.snipeSkeleton", achKillMonster),
|
||||
cStatInfo(achDiamonds, "achievement.diamonds", achAcquireIron),
|
||||
cStatInfo(achEnterPortal, "achievement.portal", achDiamonds),
|
||||
cStatInfo(achReturnToSender, "achievement.ghast", achEnterPortal),
|
||||
cStatInfo(achBlazeRod, "achievement.blazeRod", achEnterPortal),
|
||||
cStatInfo(achBrewPotion, "achievement.potion", achBlazeRod),
|
||||
cStatInfo(achEnterTheEnd, "achievement.theEnd", achBlazeRod),
|
||||
cStatInfo(achDefeatDragon, "achievement.theEnd2", achEnterTheEnd),
|
||||
cStatInfo(achCraftEnchantTable, "achievement.enchantments", achDiamonds),
|
||||
cStatInfo(achOverkill, "achievement.overkill", achCraftEnchantTable),
|
||||
cStatInfo(achBookshelf, "achievement.bookcase", achCraftEnchantTable),
|
||||
cStatInfo(achExploreAllBiomes, "achievement.exploreAllBiomes", achEnterTheEnd),
|
||||
cStatInfo(achSpawnWither, "achievement.spawnWither", achDefeatDragon),
|
||||
cStatInfo(achKillWither, "achievement.killWither", achSpawnWither),
|
||||
cStatInfo(achFullBeacon, "achievement.fullBeacon", achKillWither),
|
||||
cStatInfo(achBreedCow, "achievement.breedCow", achKillCow),
|
||||
cStatInfo(achThrowDiamonds, "achievement.diamondsToYou", achDiamonds),
|
||||
|
||||
// http://minecraft.gamepedia.com/Statistics
|
||||
|
||||
@@ -57,6 +57,7 @@ cStatInfo cStatInfo::ms_Info[statCount] = {
|
||||
cStatInfo(statDistFallen, "stat.fallOneCm"),
|
||||
cStatInfo(statDistClimbed, "stat.climbOneCm"),
|
||||
cStatInfo(statDistFlown, "stat.flyOneCm"),
|
||||
cStatInfo(statDistDove, "stat.diveOneCm"),
|
||||
cStatInfo(statDistMinecart, "stat.minecartOneCm"),
|
||||
cStatInfo(statDistBoat, "stat.boatOneCm"),
|
||||
cStatInfo(statDistPig, "stat.pigOneCm"),
|
||||
@@ -137,3 +138,59 @@ eStatistic cStatInfo::GetPrerequisite(const eStatistic a_Type)
|
||||
|
||||
|
||||
|
||||
cStatManager::cStatManager()
|
||||
{
|
||||
Reset();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
StatValue cStatManager::GetValue(const eStatistic a_Stat) const
|
||||
{
|
||||
ASSERT((a_Stat > statInvalid) && (a_Stat < statCount));
|
||||
|
||||
return m_MainStats[a_Stat];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cStatManager::SetValue(const eStatistic a_Stat, const StatValue a_Value)
|
||||
{
|
||||
ASSERT((a_Stat > statInvalid) && (a_Stat < statCount));
|
||||
|
||||
m_MainStats[a_Stat] = a_Value;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
StatValue cStatManager::AddValue(const eStatistic a_Stat, const StatValue a_Delta)
|
||||
{
|
||||
ASSERT((a_Stat > statInvalid) && (a_Stat < statCount));
|
||||
|
||||
m_MainStats[a_Stat] += a_Delta;
|
||||
|
||||
return m_MainStats[a_Stat];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cStatManager::Reset(void)
|
||||
{
|
||||
for (unsigned int i = 0; i < (unsigned int)statCount; ++i)
|
||||
{
|
||||
m_MainStats[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user