/// <summary> /// 生成一组测试数据 /// </summary> public void GenerateExam(ExamSetting examSetting) { ExamData examData = new ExamData(); examData.SettingId = examSetting.id.ToInt32(); RoleManager.Instance._CurGameInfo.CurActionData.CurExamData = examData; for (int i = 0; i < 8; i++) { SingleExamEnemy enemy = new SingleExamEnemy(); enemy.Id = DataTable.FindTestEnemyNumerialByLevel(examSetting.level.ToInt32()).id.ToInt32(); enemy.Status = (int)SingleExamEnemyStatus.UnAccomplished; enemy.OnlyId = ConstantVal.SetId; InitExamProperty(enemy); RoleManager.Instance._CurGameInfo.CurActionData.CurExamData.EnemyList.Add(enemy); } //生成玩家的数据 int count = RoleManager.Instance.playerPeople.protoData.PropertyData.ExamPropertyIdList.Count; RoleManager.Instance.playerPeople.protoData.PropertyData.CurExamPropertyIdList.Clear(); RoleManager.Instance.playerPeople.protoData.PropertyData.CurExamPropertyDataList.Clear(); for (int i = 0; i < count; i++) { int theId = RoleManager.Instance.playerPeople.protoData.PropertyData.ExamPropertyIdList[i]; SinglePropertyData pro = RoleManager.Instance.playerPeople.protoData.PropertyData.ExamPropertyDataList[i]; SinglePropertyData newPro = pro.Clone(); RoleManager.Instance.playerPeople.protoData.PropertyData.CurExamPropertyIdList.Add(theId); RoleManager.Instance.playerPeople.protoData.PropertyData.CurExamPropertyDataList.Add(newPro); } //发消息给view显示数据 EventCenter.Broadcast(TheEventType.StartExam); }
public async Task <IHttpActionResult> PutExamSetting(int id, Models.ExamSetting mdlExamSetting) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != mdlExamSetting.ExamSettingsID) { return(BadRequest()); } ExamSetting examSetting = AutoMapper.Mapper.Map <ExamSetting>(mdlExamSetting); db.Entry(examSetting).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ExamSettingExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public Text txt_lv; //等级 public override void Init(params object[] args) { base.Init(args); examSetting = args[0] as ExamSetting; addBtnListener(btn_startBattle, () => { ExamManager.Instance.StartExam(examSetting); }); }
/// <summary> /// 初始化考试成就 /// </summary> void InitExamAchievement() { for (int i = 0; i < DataTable._examList.Count; i++) { ExamSetting setting = DataTable._examList[i]; if (setting.initLevel == "1") { RoleManager.Instance.playerPeople.protoData.Achievement.UnlockedExamIdList.Add(setting.id.ToInt32()); } } }
public void ShowAllDifficulttyExam() { int count = DataTable._examList.Count; for (int i = 0; i < count; i++) { ExamSetting examSetting = DataTable._examList[i]; PanelManager.Instance.OpenSingle <SingleExamDifficultyView>(grid_difficultyChoose, examSetting); } trans_difficultyChoose.gameObject.SetActive(true); }
public async Task <IHttpActionResult> GetExamSetting(int id) { ExamSetting examSetting = await db.ExamSettings.FindAsync(id); if (examSetting == null) { return(NotFound()); } Models.ExamSetting mdlExam = AutoMapper.Mapper.Map <Models.ExamSetting>(examSetting); return(Ok(mdlExam)); }
public async Task <IHttpActionResult> DeleteExamSetting(int id) { ExamSetting examSetting = await db.ExamSettings.FindAsync(id); if (examSetting == null) { return(NotFound()); } db.ExamSettings.Remove(examSetting); await db.SaveChangesAsync(); return(Ok(examSetting)); }
public async Task <IHttpActionResult> AssignBatchExam(string batchId, int examSettingID) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } List <Batch> batches = db.Batches.ToList(); List <ExamSetting> exmSettings = db.ExamSettings.ToList(); Batch dbBatch = new Batch(); ExamSetting dbSetting = new ExamSetting(); foreach (Batch b in batches) { if (b.BatchID == batchId) { dbBatch = b; break; } } foreach (ExamSetting e in exmSettings) { if (e.ExamSettingsID == examSettingID) { dbSetting = e; break; } } //Batch batch = await db.Batches.SingleAsync(b => b.BatchID == batchId); //ExamSetting exmStng = await db.ExamSettings.SingleAsync(e => e.ExamSettingsID == examSettingID); if (dbBatch.ExamSettings.Contains(dbSetting)) { return(Ok()); } //db.Batches.Attach(dbBatch); dbBatch.ExamSettings.Add(dbSetting); dbSetting.Batches.Add(dbBatch); //db.Entry(dbBatch).State = EntityState.Modified; await db.SaveChangesAsync(); return(Ok()); }
public async Task <IHttpActionResult> PostExamSetting(Models.ExamSetting mdlExamSettings) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } ExamSetting examSetting = AutoMapper.Mapper.Map <ExamSetting>(mdlExamSettings); db.ExamSettings.Add(examSetting); await db.SaveChangesAsync(); Models.ExamSetting mdlExamSetting = AutoMapper.Mapper.Map <Models.ExamSetting>(examSetting); return(Ok(mdlExamSetting)); //return CreatedAtRoute("DefaultApi", new { id = examSetting.ExamSettingsID }, examSetting); }
/// <summary> /// 结算整个考试 /// </summary> public void ResultTotalExam() { //按比例给钱 int score = RoleManager.Instance._CurGameInfo.CurActionData.CurExamData.CurScore; int settingId = RoleManager.Instance._CurGameInfo.CurActionData.CurExamData.SettingId; ExamSetting setting = DataTable.FindExamSetting(settingId); string[] awardArr = setting.award.Split('|'); int awardId = awardArr[0].ToInt32(); int awardCount = Mathf.RoundToInt(awardArr[1].ToInt32() * score / (float)100); //升级前 LevelInfo levelInfo = null; if (awardId == (int)PropertyIdType.Study) { levelInfo = RoleManager.Instance.GetPeopleLevelInfo(awardCount); } //考了100分可解锁下一关 if (score == 100) { int nextId = setting.nextExamId.ToInt32(); ExamSetting nextSetting = DataTable.FindExamSetting(nextId); if (nextSetting != null) { if (!RoleManager.Instance.playerPeople.protoData.Achievement.UnlockedExamIdList.Contains(nextId)) { RoleManager.Instance.playerPeople.protoData.Achievement.UnlockedExamIdList.Add(nextId); } } } RoleManager.Instance.AddProperty((PropertyIdType)awardId, awardCount); RoleManager.Instance.InitBattleProperty(); //血量回满 List <AwardData> awardList = new List <AwardData>(); awardList.Add(new AwardData(AwardType.Property, awardId, awardCount)); //把需要显示的发给ui EventCenter.Broadcast(TheEventType.ResultAllExam, awardList, levelInfo); }
//List<SingleExamEnemy> curExamEnemyList= /// <summary> /// 开始考试 /// </summary> public void StartExam(ExamSetting examSetting) { //扣除体力 string[] costArr = examSetting.cost.Split('|'); PropertyIdType theId = (PropertyIdType)costArr[0].ToInt32(); int num = costArr[1].ToInt32(); SinglePropertyData pro = RoleManager.Instance.FindSinglePropertyData(theId); PropertySetting propertySetting = DataTable.FindPropertySetting(pro.PropertyId); if (RoleManager.Instance.FindSinglePropertyData(theId).PropertyNum < num) { PanelManager.Instance.OpenFloatWindow(propertySetting.name + "不足"); } else { RoleManager.Instance.DeProperty(theId, num); GenerateExam(examSetting); } }
public async Task <IHttpActionResult> AssignExam(string email, int examSettingID) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } User usr = await db.Users.SingleAsync(u => u.email == email); ExamSetting exmStng = await db.ExamSettings.SingleAsync(e => e.ExamSettingsID == examSettingID); if (usr.ExamSettings.Contains(exmStng)) { return(Ok()); } db.Users.Attach(usr); usr.ExamSettings.Add(exmStng); db.Entry(usr).State = EntityState.Modified; await db.SaveChangesAsync(); return(Ok()); }