public void AcceptClickedLibraryCard(Card card, CardContainer targetContainer, CardDeck targetSlot) { Card newCard = null; if (targetContainer != null) { newCard = targetContainer.ReplaceCard(card.GetModel()); } else { newCard = targetSlot.AcceptCard(card.GetModel()); string uri = newCard.GetCardAssignment().GetCard().GetUri(); if (BehaviorSystem.IsBuiltinBehaviorUri(uri)) { } } OnNewCardAdded(newCard); }
// NOTE: This is not used anymore, but keep it here for the sorting code, // which we should soon port to other code paths. public IEnumerable <ICardModel> GetCards(string category = null) { var bs = actorEditor.GetBehaviorSystem(); List <UnassignedCard> entries = new List <UnassignedCard>(); foreach (string uri in bs.LoadBehaviorLibrary()) { Behavior data = bs.GetBehaviorData(uri); if (!CardMetadata.GetMetaDataFor(data).isCard) { continue; } if (category == null || CardMetadata.IsCardOfCategory(data, category)) { // TEMP HACK: don't show builtin customs in card view - they're just // there for legacy support. if (BehaviorSystem.IsBuiltinBehaviorUri(uri) && category == CUSTOM_CATEGORY) { continue; } entries.Add(new UnassignedCard(new UnassignedBehavior(uri, bs))); } } // Sort by priority first, then by title. entries.Sort((UnassignedCard a, UnassignedCard b) => { var mdA = a.GetMetadata(); var mdB = b.GetMetadata(); int prioCompare = -mdA.listPriority.CompareTo(mdB.listPriority); return(prioCompare != 0 ? prioCompare : mdA.title.CompareTo(mdB.title)); }); return(entries); }
public bool IsBuiltin() { return(BehaviorSystem.IsBuiltinBehaviorUri(this.item.GetBehaviorUri())); }
public bool IsBehaviorReadOnly() { return(BehaviorSystem.IsBuiltinBehaviorUri(behaviorUri)); }