GoodAI.Core.Observers.MyMemoryBlockObserver.ShrinkSizeForRenderingMethod C# (CSharp) Method

ShrinkSizeForRenderingMethod() private static method

private static ShrinkSizeForRenderingMethod ( int size, RenderingMethod method, int vectorElements, bool &isDivisible ) : int
size int
method RenderingMethod
vectorElements int
isDivisible bool
return int
        private static int ShrinkSizeForRenderingMethod(int size, RenderingMethod method, int vectorElements, out bool isDivisible)
        {
            int divisor = 1;

            // ReSharper disable once ConvertIfStatementToSwitchStatement
            if (method == RenderingMethod.RGB)
            {
                divisor = 3;
            }
            else if (method == RenderingMethod.Vector)
            {
                if (vectorElements < 1)
                    throw new ArgumentException("Vector element count must be greater then zero.", "vectorElements");

                divisor = vectorElements;
            }

            int result = size / divisor;

            isDivisible = (result * divisor == size);

            return result;
        }
    }