Beispiel #1
0
        //private void MenuItem_ParticleEmitter_Click(object sender, RoutedEventArgs e)
        //{
        //    Category category;
        //    if (!mCategoryDic.TryGetValue(ParticleCategoryName, out category))
        //        return;

        //    var window = new CreateParticleShape();
        //    window.ShowDialog();

        //    if (window.CurrentParticleShape == null)
        //        return;

        //    if (string.IsNullOrEmpty(window.UIName.Text))
        //        return;

        //    string result;
        //    if (CheckNameFormat(window.UIName.Text, out result) == false)
        //    {
        //        EditorCommon.MessageBox.Show(result);
        //        return;
        //    }

        //    int i = 0;
        //    string newName = "ParticleSystem_";
        //    bool repetition = true;
        //    do
        //    {
        //        repetition = false;
        //        foreach (var cItem in category.Items)
        //        {
        //            if (newName + i == cItem.Name)
        //            {
        //                repetition = true;
        //                i++;
        //                break;
        //            }
        //        }
        //    } while (repetition);
        //    var item = new CategoryItem(null, category);
        //    item.CategoryItemType = CategoryItem.enCategoryItemType.Unknow;// CategoryItem.enCategoryItemType.ParticleEmitter;
        //    item.Name = newName + i;
        //    item.InitTypeStr = "Particle_ParticleEmitter";
        //    var data = new Macross.CategoryItem.InitializeData();
        //    item.Initialize(HostControl, data);
        //    category.Items.Add(item);
        //    HostControl.CreateNodesContainer(item);
        //    var noUse = CreateLinkedCategoryTemplate(item, newName + i, window.UIName.Text, window.CurrentParticleShape.ParticleShapeType);
        //    //CreateParticleMethodCategory(item, "CreateParticleSystem", 0, 0);
        //    //CreateParticleMethodCategory(item, "DoParticleCompose", 0, 600);
        //    //CreateParticleShapeObjectNode(item, typeof(EngineNS.Bricks.Particle.CGfxParticleSystem), item.Name, 0, 300);

        //    //var subitem = new CategoryItem(item, item.ParentCategory);
        //    //subitem.Initialize(HostControl);
        //    //subitem.CategoryItemType = CategoryItem.enCategoryItemType.ParticleEmitter;
        //    //HostControl.CreateNodesContainer(subitem);
        //    //item.Children.Add(subitem);
        //    //subitem.Name = window.UIName.Text;
        //    //CreateParticleMethodCategory(subitem, "DoParticleSubStateBorn", 0, 0);
        //    //CreateParticleMethodCategory(subitem, "DoParticleSubStateTick", 0, 300);
        //    //CreateParticleMethodCategory(subitem, "DoParticleStateBorn", 0, 600);
        //    //CreateParticleMethodCategory(subitem, "DoParticleStateTick", 0, 900);
        //    //CreateParticleMethodCategory(subitem, "CreateParticleShape", 0, 1500);

        //    //CreateParticleShapeObjectNode(subitem, window.CurrentParticleShape.ParticleShapeType, subitem.Name, 0, 1700);
        //    //CreateLinkedCategoryTemplate(item, window.CurrentParticleShape.ParticleShapeType, item.Name);
        //}

        private void MenuItem_ParticleEmitter_Click(object sender, RoutedEventArgs e)
        {
            Category category;

            if (!mCategoryDic.TryGetValue(ParticleCategoryName, out category))
            {
                return;
            }

            //var window = new CreateParticleShape();
            //window.ShowDialog();

            //if (window.CurrentParticleShape == null)
            //    return;

            //if (string.IsNullOrEmpty(window.UIName.Text))
            //    return;

            //string result;
            //if (CheckNameFormat(window.UIName.Text, out result) == false)
            //{
            //    EditorCommon.MessageBox.Show(result);
            //    return;
            //}

            int    i          = 0;
            string newName    = "ParticleSystem_";
            bool   repetition = true;

            do
            {
                repetition = false;
                foreach (var cItem in category.Items)
                {
                    if (newName + i == cItem.Name)
                    {
                        repetition = true;
                        i++;
                        break;
                    }
                }
            } while (repetition);
            var item = new CategoryItem(null, category);

            item.CheckVisibility  = Visibility.Visible;
            item.OnIsShowChanged -= HostParticleControl.OnIsShowChanged;
            item.OnIsShowChanged += HostParticleControl.OnIsShowChanged;

            item.CategoryItemType = CategoryItem.enCategoryItemType.ParticleEmitter;// CategoryItem.enCategoryItemType.ParticleEmitter;
            item.Name             = newName + i;
            item.InitTypeStr      = "Particle_ParticleEmitter";
            Initialize(item, HostControl);
            category.Items.Add(item);
            HostControl.CreateNodesContainer(item);

            var test = CreateLinkedNode(item);
        }