Esempio n. 1
0
        // 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();*/
        }