Ejemplo n.º 1
0
 public UtilityAi(IActivityCreationContext activityCreationContext, ISkillEvaluationContext skillEvaluationContext,
                  IConditionContext conditionContext)
 {
     _activityCreationContext = activityCreationContext;
     _skillEvaluationContext  = skillEvaluationContext;
     _conditionContext        = conditionContext;
 }
Ejemplo n.º 2
0
        public override float EvaluateSkill(ISkillEvaluationContext context, Skill skill, GameEntity entity)
        {
            IEnumerable <GameEntity> actorsAround =
                context.EntityDetector.DetectEntities(entity.position.Position, entity.vision.VisionRange)
                .Where(a => a != entity);

            if (!actorsAround.Any())
            {
                return(0f);
            }

            GameEntity closestActor = actorsAround.First();             // todo: needs finishing

            return(0f);
        }
Ejemplo n.º 3
0
 public override float EvaluateSkill(ISkillEvaluationContext context, Skill skill, GameEntity entity)
 {
     return(ScoreToReturn);
 }
Ejemplo n.º 4
0
        public override float EvaluateSkill(ISkillEvaluationContext context, Skill skill, GameEntity entity)
        {
            float span = Max - Min;

            return(Min + context.Rng.NextFloat() * span);
        }
Ejemplo n.º 5
0
 public abstract float EvaluateSkill(ISkillEvaluationContext context, Skill skill, GameEntity entity);
Ejemplo n.º 6
0
        public override float EvaluateSkill(ISkillEvaluationContext context, Skill skill, GameEntity entity)
        {
            float normalizedTimeOfDay = context.ContextManager.Current.InGameDate.Hour / 24f;

            return(TimeToScore.Evaluate(normalizedTimeOfDay));
        }