//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); }