private void AddBehaviorSetButton_Click(object sender, EventArgs e) { var set = new BehaviorSet("Untitled Behavior Set"); EditingProject.BehaviorSets.Add(set); EditingProject.MarkDirty(); RefreshBehaviorSetControls(set); }
private void CreateMenu(object sender, AddMenuClickedEventArgs args) { GameDatabase db = GameDatabase.ActiveInstance; IReadonlyListX <BehaviorSet> behaviorSets = db.GetAssetList <BehaviorSet>(); GenericMenu menu = new GenericMenu(); for (int i = 0; i < behaviorSets.Count; i++) { GUIContent content = new GUIContent($"Add {behaviorSets[i].name}"); BehaviorSet bs = behaviorSets[i]; menu.AddItem(content, false, () => { propertyAsList.AddElement(bs); }); } menu.ShowAsContext(); }
private void RefreshBehaviorSetControls(BehaviorSet editedSet) { BehaviorSetsListView.Items.Clear(); foreach (var behaviorSet in EditingProject.BehaviorSets) { var item = new ListViewItem(behaviorSet.ReadableName) { Tag = behaviorSet }; BehaviorSetsListView.Items.Add(item); } BehaviorSetEditWidget.Visible = false; if (BehaviorSetsListView.Items.Count <= 0) { return; } if (editedSet != null) { foreach (ListViewItem item in BehaviorSetsListView.Items) { if (item.Tag == editedSet) { BehaviorSetsListView.SelectedIndices.Add(item.Index); break; } } } else { BehaviorSetsListView.SelectedIndices.Add(0); } }
private static BehaviorSet BehaviorSet(params IProjectionBehavior[] behaviors) { var set = new BehaviorSet(); foreach (var behavior in behaviors) set.Apply(behavior); return set; }
// private void OnActionDrop(ActionDefinition action, GameAsset droppedOn, int index) { // // if (droppedOn is BehaviorSet) { // BehaviorSet behaviorSet = (BehaviorSet) droppedOn; // behaviorSet.GetDefaultBehavior().AddActionDefinition(action, index); // } //// else if (droppedOn is BehaviorDefinition) { //// ((BehaviorDefinition) droppedOn).AddActionDefinition(action, index); //// } //// else if (droppedOn is ActionDefinition) { //// ActionDefinition droppedOnAction = (ActionDefinition) droppedOn; //// droppedOnAction.GetBehaviorDefinition().AddActionDefinition(action, index); //// } // SetDataRebuildAndSelect(action.id); // } // private void OnBehaviorDefintionDrop(BehaviorDefinition behaviorDefinition, GameAsset droppedOn, int index) { // if (droppedOn is BehaviorSet) { // (droppedOn as BehaviorSet).AddBehaviorDefinition(behaviorDefinition, index); // } // else if (droppedOn is BehaviorDefinition) { // BehaviorDefinition bh = droppedOn as BehaviorDefinition; // bh.GetBehaviorSet().AddBehaviorDefinition(behaviorDefinition); // } // SetDataRebuildAndSelect(behaviorDefinition.id); // } private void OnBehaviorSetDrop(BehaviorSet behaviorSet, int index) { // db.MoveToIndex(behaviorSet, index); SetDataRebuildAndSelect(behaviorSet.id); }
static CharacterBehavior CreateTestsBehavior(BehaviorSkill[] behaviorSkills) { BehaviorSet behaviorSet = new BehaviorSet(new Behavior(behaviorSkills), "Player"); return(new CharacterBehavior(behaviorSet.Yield())); }
// Constructor: Set readonlies, get other metaobjects internal ProjectionMetaObject() { annotations = new AnnotationSet(); behaviors = new BehaviorSet (); }