public ThreatData(BattleStageActor bsa, float v1) { target = bsa; initValue = v1; distanceValue = 0; hitValue = 0; }
/// <summary> /// 检查仇恨列表中是否有该目标 /// </summary> /// <returns><c>true</c>, if has threat was checked, <c>false</c> otherwise.</returns> /// <param name="bsa">Bsa.</param> public bool CheckHasThreat(BattleStageActor bsa) { if (targets.Contains(bsa)) { return(true); } return(false); }
/// <summary> /// 添加仇恨数据 /// </summary> /// <param name="bsa">Bsa.</param> void addThreatData(BattleStageActor bsa) { Debug.Log("addThreatData "); ThreatData td = new ThreatData(bsa, initThreatValue); threats.Add(td); targets.Add(bsa); }
public WeaponSkill(string totalSkillId, BattleStageActor _actor) { id = totalSkillId; actor = _actor; weaponSkill = new WeaponContent(); weaponSkill.skillCondition = "Distance"; weaponSkill.value = 8.0f; weaponSkill.compareValue = (CompareValue)4; cachedTime = Time.time; }
/// <summary> /// 添加仇恨目标 /// </summary> /// <param name="bsa">Bsa.</param> public void AddThreatTarget(BattleStageActor bsa) { if (targets.Contains(bsa)) { return; } addThreatData(bsa); sort(); }
/// <summary> /// 基础过滤 /// </summary> /// <returns>The filter.</returns> /// <param name="_actor">Actor.</param> public static List <BattleStageActor> BasicFilter(BattleStageActor _actor) { var allActors = BattleStageActorPool.instance.SearchActorsByBoolCallback(delegate(Actor _act) { BattleStageActor bsa = (BattleStageActor)_act; if (bsa.DifferentCamp(_actor)) { return(true); } return(false); }); return(allActors); }
/// <summary> /// 移除仇恨目标 /// </summary> /// <param name="bsa">Bsa.</param> public void RemoveThreatTarget(BattleStageActor bsa) { if (!targets.Contains(bsa)) { return; } for (int i = 0; i < threats.Count; i++) { if (threats [i].target == bsa) { threats.RemoveAt(i); break; } } targets.Remove(bsa); sort(); }
/// <summary> /// 添加受击仇恨值 /// </summary> public void AddHitValue(BattleStageActor bsa, int v) { if (!targets.Contains(bsa)) { addThreatData(bsa); } float v1 = v * 1.0f; for (int i = 0; i < threats.Count; i++) { if (threats [i].target == bsa) { var tStruct = threats [i]; tStruct.AddHitValue(v1); threats [i] = tStruct; } } sort(); }
/// <summary> /// 条件过滤 (单过滤) /// </summary> /// <returns>The filter.</returns> /// <param name="_actors">Actors.</param> /// <param name="_actor">Actor.</param> /// <param name="_ws">Ws.</param> public static BattleStageActor SimpleFilter(List <BattleStageActor> _actors, BattleStageActor _actor, WeaponSkill _ws) { BattleStageActor result = null; for (int i = 0; i < _actors.Count; i++) { if (_ws.weaponSkill.skillCondition == Tags.Condition_Dis) { switch (_ws.weaponSkill.compareValue) { case CompareValue.enGreaterEquals: case CompareValue.enGreater: if (zTools.DistanceZeroY(_actor.transform.position, _actors [i].transform.position) >= _ws.weaponSkill.value) { result = _actors [i]; } break; case CompareValue.enEquals: if (zTools.DistanceZeroY(_actor.transform.position, _actors [i].transform.position) == _ws.weaponSkill.value) { result = _actors [i]; } break; case CompareValue.enLess: case CompareValue.enLessEquals: if (zTools.DistanceZeroY(_actor.transform.position, _actors [i].transform.position) <= _ws.weaponSkill.value) { result = _actors [i]; } break; } } } return(result); }
public Threat(BattleStageActor bsa) { stageActor = bsa; }