Пример #1
0
    private void onUpdateLabel(DefaultLabelController labelController, EncounterTrackable encounter,
                               PickupObject item)
    {
        NoBrainJsonItem noBrainJsonItem;
        var             success = NoBrain.jsonItemDict.TryGetValue(item.PickupObjectId, out noBrainJsonItem);

        if (!success)
        {
            return;
        }

        // Text change
        var newText = labelController.label.Text;
        var indexOf = newText.IndexOf(SEPARATOR_TEXT) + SEPARATOR_TEXT.Length;

        if (indexOf == -1)
        {
            newText = "ERROR FINDING SEPARATOR";
        }
        else
        {
            newText  = newText.Substring(0, indexOf);
            newText += getTextForPage(labelController, encounter, item);
        }
        labelController.label.Text = newText;
//        NoBrain.LogFine("NoBrainBehaviour updating text to: " + newText);

        // Layouting
        labelController.label.AutoHeight = true;
        labelController.label.Invalidate();
        labelController.panel.FitToContents();
        labelController.panel.Invalidate();
        labelController.Trigger();
    }
Пример #2
0
    private void onNewLabel(DefaultLabelController labelController, EncounterTrackable encounter,
                            PickupObject item)
    {
        if (ITEM_BLACKLIST.Contains(item.PickupObjectId))
        {
            return;
        }

        // add padding fix behaviour that only updates position and not the padding
        labelController.gameObject.AddComponent <PositionUpdater>();

        // Text change
        var newText = labelController.label.Text;

        newText += SEPARATOR_TEXT;
        newText += getTextForPage(labelController, encounter, item);
        labelController.label.Text = newText;

        // Layouting
        labelController.enabled          = false;
        labelController.label.TextScale  = 2f;
        labelController.label.AutoHeight = true;
        labelController.label.WordWrap   = true;
        labelController.label.Width      = Screen.width / 3f;
        labelController.label.Padding    = new RectOffset(6, 6, 0, 0);
        labelController.label.Invalidate();
        labelController.panel.FitToContents();
        labelController.panel.Invalidate();
        labelController.Trigger();
    }