public override float GetScore(BaseContext ctx) { NPCHumanContext c = ctx as NPCHumanContext; if (c != null) { float bestDistance; CoverPoint closestCover = ProximityToCover.GetClosestCover(c, c.Position, this.MaxDistance, this._coverType, out bestDistance); if (closestCover != null) { return(this.Response.Evaluate(bestDistance / this.MaxDistance) * closestCover.Score); } } return(0.0f); }
public override float GetScore(BaseContext ctx, Vector3 option) { float single; NPCHumanContext nPCHumanContext = ctx as NPCHumanContext; if (nPCHumanContext != null) { CoverPoint closestCover = ProximityToCover.GetClosestCover(nPCHumanContext, option, this.MaxDistance, this._coverType, out single); if (closestCover != null) { return(this.Response.Evaluate(single / this.MaxDistance) * closestCover.Score); } } return(0f); }