public Boolean GetAward(ref String ItemName) { Int32 WeekId = WeekMissionId; if (m_pModel.MissionComplete(WeekId)) { WeekMissionModel mission = m_pDb.GetWeekMissionModel(WeekId); ; ItemModel item = m_pDb.GetItemModel(mission.Award.ItemId); ItemName = item.Description + mission.Award.Number + "个"; PocketModule pocket = m_pDb.GetPocketModel(); List <PocketItemModule> itemlist = pocket.ItemList; foreach (PocketItemModule tmp in itemlist) { if (tmp.Id == mission.Award.ItemId) { tmp.UpdateNumber(mission.Award.Number); } } return(true); } return(false); }
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 Boolean GetAward() { if (Progress < Target) { return(false); } Int32 delta = Award; AchievementModel m = m_pModel.GetLastAchievement; m.SetDone(); PocketModule pocket = m_pDb.GetPocketModel(); pocket.Point.UpdatePoint(delta); return(true); }
public PocketController(String userid) { m_pDB = MainDatabaseManager.GetDatabase(userid); m_pModel = m_pDB.GetPocketModel(); }
private void InitPocket() { XmlNode node = m_pDoc.SelectSingleNode(@"root/pocket"); m_pPocket = new PocketModule(node, this); }
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); } }