Ejemplo n.º 1
0
    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);
        }
    }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
    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);
    }
Ejemplo n.º 4
0
    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);
    }
Ejemplo n.º 5
0
    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);
    }
Ejemplo n.º 6
0
    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);
    }
Ejemplo n.º 7
0
    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);
    }
Ejemplo n.º 8
0
 public virtual Vector3 Calculate(Steering instance, SteeringSettings settings)
 {
     return(Vector3.zero);
 }