/* Choose a target that's availabe from the potentialTargets. * Output: target */ private GameObject ChooseTarget() { //randomly select a target from the potential targets int tries = 3; while (tries != 0) { int index = Random.Range(0, potentialTargets.Count); GameObject target = potentialTargets[index]; //error checking StaffTarget st = target.GetComponent <StaffTarget>(); if (st == null) { Debug.Log("A potential Target does not have the StaffTarget script"); return(null); } //check if this target is available if (st.isAvailable) { //if it is, it's a good target! if not, continue looking //change the target's availability to unavailable. st.isAvailable = false; return(target); } tries--; } //return null if there is no target available return(null); }
/// <summary> /// 导入人数记录 /// </summary> /// <param name="populationId">人数统计ID</param> /// <param name="departmentId">部门ID</param> /// <returns></returns> public List <StaffTarget> ImportPopulation(string populationId, string departmentId) { List <StaffTarget> data = new List <StaffTarget>(); PopulationRecordBusiness prBusienss = new PopulationRecordBusiness(); var popRecord = prBusienss.FindByDepartment(populationId, departmentId); if (popRecord == null) { return(data); } foreach (var item in popRecord.Details) { StaffTarget st = new StaffTarget(); st.Name = item.Name; st.Code = item.Code; st.Number = item.Number; data.Add(st); } return(data); }
/// <summary> /// BsonDocument转实体对象 /// </summary> /// <param name="doc">Bson文档</param> /// <returns></returns> protected override TargetRecord DocToEntity(BsonDocument doc) { TargetRecord entity = new TargetRecord(); entity.Id = doc["_id"].ToString(); entity.TargetId = doc["targetId"].ToString(); entity.DepartmentId = doc["departmentId"].ToString(); entity.Type = doc["type"].ToInt32(); entity.Finance = doc["finance"].ToString(); entity.SchoolTake = doc["schoolTake"].ToDecimal(); entity.SelfTake = doc["selfTake"].ToDecimal(); entity.PlanQuantum = doc["planQuantum"].ToDecimal(); entity.PlanAmount = doc["planAmount"].ToDecimal(); var createBy = doc["createBy"].ToBsonDocument(); entity.CreateBy = new UpdateStamp { UserId = createBy["userId"].ToString(), Name = createBy["name"].ToString(), Time = createBy["time"].ToLocalTime() }; var updateBy = doc["updateBy"].ToBsonDocument(); entity.UpdateBy = new UpdateStamp { UserId = updateBy["userId"].ToString(), Name = updateBy["name"].ToString(), Time = updateBy["time"].ToLocalTime() }; entity.Remark = doc["remark"].ToString(); entity.Status = doc["status"].ToInt32(); entity.StaffTarget = new List <StaffTarget>(); if (doc.Contains("staffTarget")) { BsonArray array = doc["staffTarget"].AsBsonArray; foreach (BsonDocument item in array) { StaffTarget st = new StaffTarget(); st.Name = item["name"].ToString(); st.Code = item["code"].ToString(); st.Number = item["number"].ToInt32(); st.MonthKilowatt = item["monthKilowatt"].ToDecimal(); st.MonthCount = item["monthCount"].ToInt32(); st.UnitPrice = item["unitPrice"].ToDecimal(); st.YearKilowatt = item["yearKilowatt"].ToDecimal(); st.YearAmount = item["yearAmount"].ToDecimal(); st.Remark = item["remark"].ToString(); entity.StaffTarget.Add(st); } } entity.AllowanceTarget = new List <AllowanceTarget>(); if (doc.Contains("allowanceTarget")) { BsonArray array = doc["allowanceTarget"].AsBsonArray; foreach (BsonDocument item in array) { AllowanceTarget at = new AllowanceTarget(); at.Name = item["name"].ToString(); at.Code = item["code"].ToString(); at.Cardinal = item["cardinal"].ToDecimal(); at.Factor = item["factor"].ToDecimal(); at.MonthKilowatt = item["monthKilowatt"].ToDecimal(); at.MonthCount = item["monthCount"].ToInt32(); at.UnitPrice = item["unitPrice"].ToDecimal(); at.YearKilowatt = item["yearKilowatt"].ToDecimal(); at.YearAmount = item["yearAmount"].ToDecimal(); at.Remark = item["remark"].ToString(); entity.AllowanceTarget.Add(at); } } return(entity); }