public void SetDone() { String key = DateTime.Now.ToShortDateString(); DailyModel model = m_pDb.GetDailyState(key); Boolean ret = model.MissionComplete(Id); if (ret) { PocketModule pocket = m_pDb.GetPocketModel(); pocket.Point.UpdatePoint(Award); List <DailyMissionAssociatedAchievementModel> assolist = m_pModel.AssociatedAchievementModelList; foreach (DailyMissionAssociatedAchievementModel tmp in assolist) { AchievementGroupModel achi_model = m_pDb.GetAchievementsModel().GetAchievementGroup(tmp.AchievementId); if (achi_model != null) { achi_model.SetProgress(tmp.Progress); } } DateTime time = DateTime.Now; GregorianCalendar calendar = new GregorianCalendar(); int weekOfYears = calendar.GetWeekOfYear(time, CalendarWeekRule.FirstDay, DayOfWeek.Monday); String weekKey = time.Year + "-" + weekOfYears; WeeksModel weekModel = m_pDb.GetWeekyState(weekKey); weekModel.UpdateProgress(Award); } }
public AchievementsModel(XmlNode node, Database db) { m_pGroupList = new List <AchievementGroupModel>(); XmlNodeList nodelist = node.SelectNodes(@"achievement_group"); foreach (XmlNode tmp in nodelist) { AchievementGroupModel m = new AchievementGroupModel(tmp, db); m_pGroupList.Add(m); m_pGroupList.Sort(); } }
public AchievementGroupModel GetAchievementGroup(Int32 GroupId) { AchievementGroupModel ret = null; foreach (AchievementGroupModel tmp in AchievementGroupList) { if (tmp.Id == GroupId) { ret = tmp; break; } } return(ret); }
public Boolean OpenBox(ref String ItemName) { PocketModule pocket = m_pDb.GetPocketModel(); Int32 delta = -1 * Cost; if (pocket.Point.UpdatePoint(delta)) { Int32 TotalWeight = 0; List <AwardItemModel> list = m_pModel.ItemList; foreach (AwardItemModel tmp in list) { TotalWeight += tmp.Weight; } Random r = new Random(); Int32 result = r.Next(TotalWeight); AwardItemModel SelectItem = null; foreach (AwardItemModel tmp in list) { result -= tmp.Weight; if (result <= 0) { SelectItem = tmp; break; } } AchievementsModel achi_model = m_pDb.GetAchievementsModel(); AchievementGroupModel group = achi_model.GetAchievementGroup(ModelParam.AWARD_BOX_ACHIEVEMENT); group.SetProgress(1); Int32 Item_id = SelectItem.ItemId; Int32 Count = SelectItem.Number; if (Item_id >= 0) { ItemModel item = m_pDb.GetItemModel(Item_id); ItemName = item.Description + Count + "个"; List <PocketItemModule> itemlist = pocket.ItemList; foreach (PocketItemModule tmp in itemlist) { if (tmp.Id == Item_id) { tmp.UpdateNumber(Count); } } } else { ItemName = SelectItem.ItemName; } return(true); } else { return(false); } }
public AchievementGroupController(AchievementGroupModel model, MainDatabase db) { m_pModel = model; m_pDb = db; }