public static mw.AchieveConfig GetNewConfigAchieve(mw.Enums.TaskType type) { if (spareAchieveIds.Count == 0) { CErrMgr.SetLastErrMsg(EErrType.ERR_ACTIVITY_ACHIEVE_ID_MAX); return(null); } mw.AchieveConfig config = new mw.AchieveConfig(); for (int i = MinAchieveID; i <= MaxAchieveID; ++i) { uint id = CUtils.MakeLong((ushort)type, (ushort)i); if (spareAchieveIds.Contains(id)) { config.id = i; config.type = type; break; } } AddAchieveNode(config); return(config); }