public void OnRequestCopy() { if (model.GetId() == BehaviorCards.GetMiscPanelId()) { return; } panelManager.OnRequestCopyPanel(this); }
void AddNewCard(string category) { // Close(); BehaviorCards.CardMetadata md = BehaviorCards.CardMetadata.DefaultCardMetadata; md.cardSystemCardData.categories = new string[] { category }; string metadataJson = JsonUtility.ToJson(md); UnassignedBehavior newBehavior = behaviorSystem.CreateNewBehavior( BehaviorCards.GetDefaultCodeForCategory(category), metadataJson); // onCodeRequest(newBehavior.GetId()); }
public void Setup(IAssignedPanel model, CardManager cardManager, PanelManager panelManager, DynamicPopup popups) { this.model = model; this.cardManager = cardManager; this.panelManager = panelManager; this.popups = popups; cardPanelUI.headerIcon.sprite = model.GetIcon(); initialTitle = model.GetTitle(); cardPanelUI.SetHeaderText(model.GetTitle()); cardPanelUI.closeButton.onClick.AddListener(DeletePanel); cardPanelUI.headerTextInput.onEndEdit.AddListener(OnEditTitle); foreach (var slot in model.GetDecks()) { GameObject newSlotObj = Instantiate(cardSlotPrefab, cardPanelUI.deckParent); CardDeck newslot = newSlotObj.GetComponentInChildren <CardDeck>(); newslot.Setup(slot); newslot.SetColor(model.GetColor()); string propName = slot.GetPropertyName(); if (propName != null) { cardSlotForProperty[propName] = newSlotObj; } } cardPanelUI.headerBackground.color = model.GetColor(); GameObject propsObject = Instantiate(propertyFieldsPrefab, cardPanelUI.fieldsParent); propsObject.transform.SetAsFirstSibling(); propsLayoutElement = cardPanelUI.fieldsParent.GetComponent <UnityEngine.UI.LayoutElement>(); cardPropertiesUX = propsObject.GetComponent <BehaviorUX.CardPropertiesUX>(); cardPropertiesUX.Setup(model.GetBehavior()?.GetProperties()); cardPropertiesUX.onValueChanged += (type) => { UpdateSlotsVisibility(); }; cardPropertiesUX.gameObject.SetActive(cardPropertiesUX.HasAnyProps()); parentRect = transform.parent.GetComponent <RectTransform>(); // I don't like this. if (GetModel().GetId() == BehaviorCards.GetMiscPanelId()) { cardPanelUI.closeButton.gameObject.SetActive(false); } UpdateSlotsVisibility(); }
static void DelBrainDead(CommandArg[] args) { bool rbOnly = args.Length > 0 && args[0].String == "rbonly"; if (rbOnly) { Log($"Destroying rigidbodies only"); } BehaviorCards cards = FindObjectOfType <BehaviorCards>(); bool ShouldDestroy(VoosActor actor) { var rb = actor.GetComponent <Rigidbody>(); if (rbOnly && rb.isKinematic) { return(false); } if (actor.GetBrainName() == VoosEngine.DefaultBrainUid) { return(true); } if (cards.GetCardManager(actor).GetAssignedPanels().Sum(p => p.GetDecks().Sum(d => d.GetAssignedCards().Count())) == 0) { return(true); } return(false); } var toDestroy = new HashSet <VoosActor>( from a in main.voosEngine.EnumerateActors() where ShouldDestroy(a) select a); foreach (var actor in toDestroy) { main.voosEngine.DestroyActor(actor); } Log($"OK destroyed {toDestroy.Count} actors"); }
string GetBehaviorTitle(string brainId, string useId) { var uri = behaviorSystem.GetBrain(brainId).GetUse(useId).behaviorUri; var beh = behaviorSystem.GetBehaviorData(uri); var behaviorDesc = ""; if (BehaviorCards.IsCard(beh)) { var md = BehaviorCards.CardMetadata.GetMetaDataFor(beh); behaviorDesc = $"{md.title}"; } else if (BehaviorCards.IsPanel(beh)) { var md = BehaviorCards.PanelMetadata.Get(beh); behaviorDesc = $"{md.title}"; } return(behaviorDesc); }
public void Open(string openCardUri = null, VoosEngine.BehaviorLogItem?error = null) { gameObject.SetActive(true); resourceClaimer.Unclaim(); isNewCard = false; this.error = null; // Which card are we editing ? if (openCardUri != null && behaviorSystem.IsBehaviorUriValid(openCardUri)) { cardUri = openCardUri; this.error = error; } else if (cardUri == null || !behaviorSystem.IsBehaviorUriValid(cardUri)) { UnassignedBehavior newBehavior = behaviorSystem.CreateNewBehavior( CodeTemplates.MISC, BehaviorCards.GetMiscMetadataJson()); cardUri = newBehavior.GetBehaviorUri(); isNewCard = true; } resourceClaimer.Claim(UnassignedBehavior.GetClaimResourceId(cardUri), OnClaimStatusChanged); }
public string GetId() { return(BehaviorCards.GetMiscPanelId()); }
private bool IsPanelOverTrash() { return(RectTransformUtility.RectangleContainsScreenPoint(cardManager.trash, Input.mousePosition) && draggedPanel != null && draggedPanel.GetModel().GetId() != BehaviorCards.GetMiscPanelId()); }