private int GetZoneIndex(PuzzleGearColor color, PuzzleGearSize size)
        {
            int index = -1;

            if (color.HasFlag(PuzzleGearColor.Copper) &&
                size.HasFlag(PuzzleGearSize.Large))
            {
                index = 0;
            }
            else if (color.HasFlag(PuzzleGearColor.Copper) &&
                     size.HasFlag(PuzzleGearSize.Small))
            {
                index = 1;
            }
            else if (color.HasFlag(PuzzleGearColor.Silver) &&
                     size.HasFlag(PuzzleGearSize.Small))
            {
                index = 2;
            }
            else if (color.HasFlag(PuzzleGearColor.Silver) &&
                     size.HasFlag(PuzzleGearSize.Large))
            {
                index = 3;
            }
            else if (color.HasFlag(PuzzleGearColor.Gold) &&
                     size.HasFlag(PuzzleGearSize.Small))
            {
                index = 4;
            }
            else if (color.HasFlag(PuzzleGearColor.Gold) &&
                     size.HasFlag(PuzzleGearSize.Large))
            {
                index = 5;
            }

            return index;
        }