コード例 #1
0
        private void AddBehaviorSetButton_Click(object sender, EventArgs e)
        {
            var set = new BehaviorSet("Untitled Behavior Set");

            EditingProject.BehaviorSets.Add(set);
            EditingProject.MarkDirty();
            RefreshBehaviorSetControls(set);
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
ファイル: BehaviorSetTests.cs プロジェクト: sharpjs/Projector
        private static BehaviorSet BehaviorSet(params IProjectionBehavior[] behaviors)
        {
            var set = new BehaviorSet();

            foreach (var behavior in behaviors)
                set.Apply(behavior);

            return set;
        }
コード例 #5
0
ファイル: AITreeView.cs プロジェクト: weichx/SpaceGame
//        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);
        }
コード例 #6
0
        static CharacterBehavior CreateTestsBehavior(BehaviorSkill[] behaviorSkills)
        {
            BehaviorSet behaviorSet = new BehaviorSet(new Behavior(behaviorSkills), "Player");

            return(new CharacterBehavior(behaviorSet.Yield()));
        }
コード例 #7
0
 // Constructor: Set readonlies, get other metaobjects
 internal ProjectionMetaObject()
 {
     annotations = new AnnotationSet();
     behaviors   = new BehaviorSet  ();
 }