private void Awake()
        {
            if (!inited)
            {
                inited = true;

                if (gameObject.GetComponent <QMazeGeometryGenerator>() == null)
                {
                    mazeGeometryGenerator = gameObject.AddComponent <QMazeGeometryGenerator>();
                }

                if (gameObject.GetComponent <QMazePiecePack>() == null)
                {
                    piecePack = gameObject.AddComponent <QMazePiecePack>();
                }
            }
        }
        private void Awake()
        {
            if (!inited)
            {
                inited = true;

                if (gameObject.GetComponent<QMazeGeometryGenerator>() == null)
                    mazeGeometryGenerator = gameObject.AddComponent<QMazeGeometryGenerator>();

                if (gameObject.GetComponent<QMazePiecePack>() == null)
                    piecePack = gameObject.AddComponent<QMazePiecePack>();
            }
        }