// Constructor. public VisionStencil(float visionRadius, float bodyRadius, float toleranceRadius) { // Initialize fields. this.visionRadius = Mathf.Max(visionRadius, 0); this.bodyRadius = Mathf.Clamp(bodyRadius, 0, 0.5f); this.toleranceRadius = Mathf.Clamp(toleranceRadius, 0, 0.49f); possiblyVisible = new List <Vector2Int>(); int arrayDimension = Mathf.FloorToInt(this.visionRadius) + 1; visionPaths = new List <Vector2Int> [arrayDimension, arrayDimension]; // Calculate stencil. foreach (var position in Enumerables.Index(visionPaths)) { TrackVision(position); } /*WriteDebugInFile();*/ }