protected override void onSkillTriggerEnter(Collider _collider) { base.onSkillTriggerEnter(_collider); var bsa = _collider.GetComponentInParent <BattleStageActor> (); if (bsa != null) { #if EditorDebug sb.Append("技能 :[" + skillMapId + "]" + "碰撞到目标 [" + bsa.actordata.logName + "] \n"); #endif bool ispass = SkillFilter.SkillBasicFilter(bsa.actordata, skillData.attackerData, skillData.compareContent); if (ispass) { bsa.buffAndSkill.OnSkillEnter(skillData); setState(fireFinish_state); } #if EditorDebug sb.Append(ispass ? "命中有效" : "命中无效"); EditorDebug.Log(sb.ToString()); #endif } }
public BattleStageActor SearchTarget() { var allActors = actor.threat.GetAllTargets(); var target = SkillFilter.SimpleFilter(allActors, actor, this); return(target); }
public IEnumerable <Category> Get(SkillFilter <int?> filter) { try { var query = Db.Set <UserSkill>().AsQueryable(); if (filter.UserId.HasValue) { query = query.Where(it => it.UserId == filter.UserId); } if (!string.IsNullOrEmpty(filter.Code)) { query = query.Where(it => it.Skill.Code.Equals(filter.Code)); } query = filter.Sord.Equals("desc", StringComparison.OrdinalIgnoreCase) ? query.OrderByDescending(filter.Sidx) : query.OrderBy(filter.Sidx); return(query.Include(it => it.Skill).Select(it => it.Skill).Skip(filter.Rows * (filter.Page - 1)) .Take(filter.Rows) .Distinct()); } catch (Exception ex) { LogEventManager.Logger.Error(ex.Message, ex); throw; } }
public BattleSkillListMenu(SkillFilter filter, string id, float spcost, float hpcost) { m_ID = id; foreach (Skill skill in filter) { Add(new SkillOption(skill, spcost, hpcost)); } }
public void Execute_InvalidSkillByLevel_NoMatches() { var recipes = new[] { TestRecipes.Brazier }; var skills = new[] { new Skill("Smelting", 0) }; var filter = new SkillFilter(skills); var matches = filter.Execute("Brazier", recipes); Assert.Empty(matches); }
public void Execute_InvalidSkillByName_NoMatches() { var recipes = new[] { TestRecipes.IronBar }; var skills = new[] { new Skill("Advanced Smelting", 1) }; var filter = new SkillFilter(skills); var matches = filter.Execute("Iron Bar", recipes); Assert.Empty(matches); }
public void Execute_ValidSkill_Matches() { var recipes = new[] { TestRecipes.IronBar }; var skills = new[] { new Skill("Smelting", 1) }; var filter = new SkillFilter(skills); var matches = filter.Execute("Iron Bar", recipes); Assert.Equal(recipes, matches); }
/// <summary> /// 更新满足条件的仇恨目标 /// </summary> public void UpdateThreatDataBySeekDistance() { var actors = SkillFilter.BasicFilter(stageActor); for (int i = 0; i < actors.Count; i++) { if (stageActor.DistanceLessLength(actors [i], stageActor.actordata.GetValue(Tags.SeekDistance)) && !stageActor.threat.CheckHasThreat(actors [i])) { stageActor.threat.AddThreatTarget(actors [i]); } } }
public void Execute_SomeFiltersSatisfied_NoMatches() { var recipes = new[] { TestRecipes.IronBar }; var filterA = new ProductFilter(); var filterB = new SkillFilter(new Skill("Smelting", 1)); var filter = new CompositeFilter(filterA, filterB); var matches = filter.Execute("Copper Bar", recipes); Assert.Empty(matches); }
public BattleSkillElementListMenu(SkillFilter filter, string id, float spcost, float hpcost) { m_ID = id; m_SPCost = spcost; m_HPCost = hpcost; HashSet <string> elements = new HashSet <string>(); foreach (Skill skill in filter) { if (!elements.Contains(skill.Element)) { elements.Add(skill.Element); Add(new SkillElementOption(skill.Element)); } } }
public ActionResult Index(SkillFilter filter = null) { ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application."; if (filter != null && filter.SelectedSkillIds != null && filter.SelectedSkillIds.Count() > 0) { ViewBag.Workers = Manager.GetWorkers().Where(w => filter.SelectedSkillIds.Intersect(w.Skills.Select(s => s.SkillId)).Count() > 0).ToList(); } else { ViewBag.Workers = Manager.GetWorkers().ToList(); } var choiseList = ChoiceListHelper.Create(Manager.GetSkills(), (t => t.SkillId), (t => t.Code)); ViewBag.ChoiseList = choiseList; return(View(filter)); }