public override float Score(IAIContext context, BasePlayer option)
        {
            Vector3             vector3;
            float               single;
            PlayerTargetContext playerTargetContext = context as PlayerTargetContext;

            if (playerTargetContext != null)
            {
                BasePlayer self = playerTargetContext.Self as BasePlayer;
                if (self && self.isMounted && BestMountedPlayerDirection.Evaluate(self, option.ServerPosition, out vector3, out single))
                {
                    playerTargetContext.Direction[playerTargetContext.CurrentOptionsIndex] = vector3;
                    playerTargetContext.Dot[playerTargetContext.CurrentOptionsIndex]       = single;
                    return((single + 1f) * 0.5f * this.score);
                }
            }
            playerTargetContext.Direction[playerTargetContext.CurrentOptionsIndex] = Vector3.zero;
            playerTargetContext.Dot[playerTargetContext.CurrentOptionsIndex]       = 0f;
            return(0f);
        }
Exemple #2
0
        public virtual float Score(IAIContext context, BasePlayer option)
        {
            PlayerTargetContext playerTargetContext = context as PlayerTargetContext;

            if (playerTargetContext != null)
            {
                BasePlayer self = playerTargetContext.Self as BasePlayer;
                Vector3    dir;
                float      dot;
                if (Object.op_Implicit((Object)self) && self.isMounted && BestMountedPlayerDirection.Evaluate(self, option.ServerPosition, out dir, out dot))
                {
                    playerTargetContext.Direction[playerTargetContext.CurrentOptionsIndex] = dir;
                    playerTargetContext.Dot[playerTargetContext.CurrentOptionsIndex]       = dot;
                    return((float)(((double)dot + 1.0) * 0.5) * this.score);
                }
            }
            playerTargetContext.Direction[playerTargetContext.CurrentOptionsIndex] = Vector3.get_zero();
            playerTargetContext.Dot[playerTargetContext.CurrentOptionsIndex]       = 0.0f;
            return(0.0f);
        }