public void OnStart()
    {
        for (int i = 0; i <= mRows * mCols + 1; ++i)
        {
            GameObject go = GameObject.GetGameObjectByName(Common.prefix + dDeathPanel + i.ToString(), false);
            if (go != null)
            {
                DeathPanel script = GetScript <DeathPanel>(go, false);
                if (script != null)
                {
                    mDeathPanels.Add(script);
                }
            }
        }

        foreach (GameObject obj in GameObject.GetGameObjectsWithTag("endlights"))
        {
            mLights.Add(obj.RequireComponent <CLight>());
        }
        if (mDeathPanels.Count != (mRows * mCols + mAdditional))
        {
            Logger.Log("Wrong init for DeathPanelController, less than 14 panels registered!");
        }

        envControllerScript = GetScript <PuzzleCEnvironmentController>(gameObject);

        if (envControllerScript == null)
        {
            Logger.Log("Missing dependency script");
        }

        RandomizePanels();
    }
    public void OnStart()
    {
        for (int i = 0; i <= mRows * mCols + 1; ++i)
        {
            GameObject go = GameObject.GetGameObjectByName(Common.prefix + dDeathPanel + i.ToString(), false);
            if (go != null)
            {
                DeathPanel script = GetScript<DeathPanel>(go, false);
                if (script != null)
                {
                    mDeathPanels.Add(script);
                }
            }
        }

        foreach (GameObject obj in GameObject.GetGameObjectsWithTag("endlights"))
        {
            mLights.Add(obj.RequireComponent<CLight>());
        }
        if (mDeathPanels.Count != (mRows * mCols + mAdditional))
        {
            Logger.Log("Wrong init for DeathPanelController, less than 14 panels registered!");
        }

        envControllerScript = GetScript<PuzzleCEnvironmentController>(gameObject);

        if(envControllerScript == null)
            Logger.Log("Missing dependency script");

        RandomizePanels();
    }