Example #1
0
    private void Start()
    {
        moduleId = _moduleIdCounter++;
        KMSelectable selfSelectable = GetComponent <KMSelectable>();

        selfSelectable.Children = new KMSelectable[DIGITS_COUNT + 1];
        for (int i = 0; i < DIGITS_COUNT; i++)
        {
            SelectableDigit digit = Instantiate(SelectableDigitPrefab);
            digit.transform.parent = Display.transform;
            float x = DIGITS_INTERVAL * (i - (DIGITS_COUNT - 1) / 2f);
            digit.transform.localPosition = new Vector3(x, DIGITS_HEIGHT, 0f);
            digit.transform.localRotation = new Quaternion();
            digit.transform.localScale    = Vector3.one;
            digit.Actualized += () => OnDigitActualized();
            KMSelectable digitSelectable = digit.GetComponent <KMSelectable>();
            digitSelectable.Parent     = selfSelectable;
            selfSelectable.Children[i] = digitSelectable;
            int digitIndex = i;
            digitSelectable.OnInteract += () => OnDigitPressed(digitIndex);
            digits[i] = digit;
        }
        selfSelectable.Children[DIGITS_COUNT] = SkipButton;
        selfSelectable.UpdateChildren();
        SkipButton.OnInteract += () => OnSkipPressed();
        GetComponent <KMBombModule>().OnActivate += () => Activate();
    }
Example #2
0
    private void UpdateDigit(int digitIndex, bool log = false)
    {
        SelectableDigit digit = digits[digitIndex];

        if (digit.disabled)
        {
            return;
        }
        digit.value = values[digitIndex];
        int value = GetDigitAt(digitIndex);

        digit.character = (char)(value + '0');
        if (log)
        {
            Debug.LogFormat("[Eight #{0}] Digit #{1} new rendered value: {2}", moduleId, digitIndex + 1, value);
        }
    }