public override bool TakeAction() { var cache = new ShareCacheStruct<UserRanking>(); var ranking = cache.Find(m => m.UserName == UserName); if (ranking == null) { var user = new GameUser() { UserId = (int)cache.GetNextNo(), NickName = UserName}; new PersonalCacheStruct<GameUser>().Add(user); ranking = new UserRanking(); ranking.UserID = user.UserId; ranking.UserName = UserName; ranking.Score = Score; cache.Add(ranking); } else { ranking.UserName = UserName; ranking.Score = Score; } return true; }
private int compareTo(UserRanking x, UserRanking y) { int result = y.Score - x.Score; if (result == 0) { result = y.UserID - x.UserID; } return result; }