public override Vector3 Calculate(Steering instance, SteeringSettings settings) { pr = settings.prSeparation; weight = settings.weightSeparation; if (/*Random.Range(0.0f, 1.0f) > pr*/ true) { return(Calculate(instance, instance.NearEntities) * weight / pr); } }
public override Vector3 Calculate(Steering instance, SteeringSettings settings) { pr = settings.prPathFollow; weight = settings.weightPathFollow; if (Random.Range(0.0f, 1.0f) > pr) { return(Calculate(instance, settings.deceleration, settings.decelerationRate) * weight / pr); } return(Vector3.zero); }
public override Vector3 Calculate(Steering instance, SteeringSettings settings) { pr = settings.prAlignment; weight = settings.weightAlignment; if (/*Random.Range(0.0f, 1.0f) > pr*/ true) { return(Calculate(instance, instance.NearEntities) * weight / pr); } return(Vector3.zero); }
public override Vector3 Calculate(Steering instance, SteeringSettings settings) { pr = settings.prArrive; weight = settings.weightArrive; if (Random.Range(0.0f, 1.0f) > pr) { return(Calculate(instance) * weight / pr); } return(Vector3.zero); }
public override Vector3 Calculate(Steering instance, SteeringSettings settings) { pr = settings.prPursuit; weight = settings.weightPursuit; if (Random.Range(0.0f, 1.0f) > pr) { if (instance.TargetTrans != null) { return(Calculate(instance, instance.GetUsefulTarget(instance.TargetTrans.position)) * weight / pr); } else { return(Calculate(instance, instance.GetUsefulTarget(instance.TargetPos)) * weight / pr); } } return(Vector3.zero); }
public override Vector3 Calculate(Steering instance, SteeringSettings settings) { pr = settings.prStop; weight = settings.weightStop; stopLerp = settings.lerp; if (Random.Range(0.0f, 1.0f) > pr) { Vector3 velocity = Calculate(instance.Owner.GetVelocity(), stopLerp) * weight / pr; if (velocity.magnitude < 0.1f) { instance.StopOff(); } return(velocity); } return(Vector3.zero); }
public override Vector3 Calculate(Steering instance, SteeringSettings settings) { pr = settings.prArrive; weight = settings.weightArrive; deceleration = settings.deceleration; if (Random.Range(0.0f, 1.0f) > pr) { if (instance.TargetTrans != null) { return(Calculate(instance, instance.GetUsefulTarget(instance.TargetTrans.position), deceleration, decelerationRate) * weight / pr); } else { return(Calculate(instance, instance.GetUsefulTarget(instance.TargetPos), deceleration, decelerationRate) * weight / pr); } } return(Vector3.zero); }
public virtual Vector3 Calculate(Steering instance, SteeringSettings settings) { return(Vector3.zero); }