Pankia wiki ~Achievements~

アチーブメントには主に4つの使用できるメソッドがあります

//登録したアチーブメント達の配列値
+ (NSArray *)achievements;
//アンロックされているアチーブメント達
+ (NSArray *)unlockedAchievements;
//指定したIDのアチーブメントを解放
+ (void)unlockAchievement:(int)achievementId;
//指定したアチーブメントがロックされているかの真偽値
+ (BOOL)isAchievementUnlocked:(int)achievementId;

下の二つの使い方はコメントアウトの通りですが 上の二つを使ってアチーブメントの詳細情報を利用する事が出来ます。

@interface PNAchievement ...
//PNAchievementにproperty定義されているこれらが利用できる
@property (assign) int achievementId;
@property (retain) NSString *title;
@property (retain) NSString *description;
@property (assign) NSUInteger value;
@property (retain) NSString *iconUrl;
@property (assign) BOOL isSecret;
@property (assign) BOOL isUnlocked;
@property (assign) int orderNumber;

利用例としては

//アチーブメント全体から, もしシークレット設定してあったらそのアチーブメントを解放する
 for (PNAchievement *achievement in [Pankia achievements]) {
      if(achievement.isSecret)
           [Pankia unlockAchievement:achievement.achievementId];
     }

などと,アチーブメントの詳細情報も利用してさらに細かく管理できます。