我正在编写一个归档系统,如下所示:
IAchievement - 所有成就必须实现的接口
AchievementManager - 使用用户 ID 检查所有成就的类
我的想法是在 ArchivementManager 上有一个共享功能,因为我可以执行类似的操作
AchievementManager.checkUser(userId)
或者
AchievementManager.check(userId, achievementId)
无论如何,AchievementManager 应该为每个 IAchievement 实现调用一个函数检查。
因为我检查的每个成就都有一个实例没有任何意义,所以我希望能够将检查方法声明为共享/静态。所以在AchievementManager里面我可以调用
AchivementXXX.check(userId)
但是我不能在我的界面中声明共享函数。
有什么解决方法吗?实施成就系统是一种糟糕的方法吗?
编辑:
这不是游戏,而是 ASP.NET 中的网站