// Use this for initialization
    void Start()
    {
        moduleId            = moduleIdCounter++;
        ignoreList          = bossModule.GetIgnoredModules(modSelf, ignoreList);
        modSelf.OnActivate += StartBossModule;

        for (int x = 0; x < arrowRenderers.Length; x++)
        {
            arrowRenderers[x].material.color = Color.black;
        }
        textDisplay.text = "";
        firstTextColor   = textDisplay.color;
        for (int x = 0; x < arrowButtons.Length; x++)
        {
            int y = x;
            arrowButtons[x].OnInteract += delegate {
                if (!(moduleSolved || isanimating))
                {
                    MAudio.PlayGameSoundAtTransform(KMSoundOverride.SoundEffect.ButtonPress, arrowButtons[y].transform);
                    arrowButtons[y].AddInteractionPunch();
                    ProcessInput(y);
                }
                return(false);
            };
        }
    }
    // Use this for initialization
    void Start()
    {
        moduleId            = moduleIdCounter++;
        modSelf.OnActivate += delegate {
            StopAllCoroutines();
            colorblindArrowDisplay.gameObject.SetActive(colorblindActive);

            GenerateAnswer();
        };
        textDisplay.text          = "";
        mBombInfo.OnBombExploded += delegate { StopAllCoroutines(); };
        for (var x = 0; x < colorblindArrowRenderMesh.Length; x++)
        {
            colorblindArrowRenderMesh[x].text = "";
        }
        for (var x = 0; x < arrowButtons.Length; x++)
        {
            int y = x;
            arrowButtons[x].OnInteract += delegate {
                if (!(isanimating || moduleSolved))
                {
                    arrowButtons[y].AddInteractionPunch();
                    MAudio.PlayGameSoundAtTransform(KMSoundOverride.SoundEffect.ButtonPress, arrowButtons[y].transform);
                    ProcessInput(y);
                }
                return(false);
            };
        }
        StartCoroutine(MakeArrowsCycleRainbow());
    }
 void Awake()
 {
     moduleId         = moduleIdCounter++;
     moduleSolved     = false;
     colorblindActive = Colorblind.ColorblindModeActive;
     for (int x = 0; x < arrowButtons.Length; x++)
     {
         int y = x;
         arrowButtons[x].OnInteract += delegate() {
             if (!moduleSolved && !isanimating)
             {
                 arrowButtons[y].AddInteractionPunch(0.25f);
                 MAudio.PlayGameSoundAtTransform(KMSoundOverride.SoundEffect.ButtonPress, arrowButtons[y].transform);
                 CheckValidArrow(y);
             }
             return(false);
         };
     }
     modSelf.OnActivate += OnActivate;
 }