示例#1
0
    public void Populate(ICardModel unassignedCard)
    {
        if (unassignedCard == null || !unassignedCard.IsValid())
        {
            return;
        }

        cardContainer = null;
        card.Populate(unassignedCard, true);
        if (unassignedCard.IsBuiltin())
        {
            codeText.SetText("Duplicate and edit JavaScript");
            trashButton.gameObject.SetActive(false);
            previewButton.gameObject.SetActive(true);
        }
        else
        {
            codeText.SetText("Edit JavaScript");
            previewButton.gameObject.SetActive(false);

            string    behaviorUri  = unassignedCard.GetUnassignedBehaviorItem().behaviorUri;
            VoosActor user         = voosEngine.FindOneActorUsing(behaviorUri);
            string    fromActorLib = actorLib.FindOneActorUsingBehavior(behaviorUri);

            if (user != null)
            {
                trashText.SetText($"Cannot delete - used by actor '{user.GetDisplayName()}'");
                trashButton.interactable = false;
            }
            else if (fromActorLib != null)
            {
                trashText.SetText($"Cannot delete - used by creation library actor '{fromActorLib}'");
                trashButton.interactable = false;
            }
            else
            {
                trashText.SetText($"Remove card");
                trashButton.interactable = true;
            }
            trashButton.gameObject.SetActive(true);
        }
        noPropertiesObject.SetActive(!card.HasAnyProps());
        UpdateAddToSlotButton();
    }
示例#2
0
    public virtual void Populate(ICardModel card, bool withDetail = false)
    {
        if (card == null || !card.IsValid())
        {
            return;
        }

        // Debug
        this.name = $"Card '{card.GetTitle()}'";

        this.card                    = card;
        this.assignment              = null;
        cardUI.nameField.text        = card.GetTitle();
        cardUI.descriptionField.text = card.GetDescription();
        if (withDetail)
        {
            props.SetupPreview(card.GetUnassignedBehaviorItem());
        }
        customFlag.SetActive(!card.IsBuiltin());
        ReloadCardImage();
    }