private void MenuItem_PostProcess_Click(object sender, RoutedEventArgs e) { Category category; if (!mCategoryDic.TryGetValue(LogicAnimationPostProcessCategoryName, out category)) { return; } var validName = GetValidName("LogicAnimPostProcess", category); var item = new CategoryItem(null, category); item.CategoryItemType = CategoryItem.enCategoryItemType.LogicAnimPostProcess; item.Name = validName; item.InitTypeStr = "LA_PostProcess"; var data = new LAAnimPostProcessCategoryItemInitData(); data.Name = validName; data.ToolTips = item.ToolTips; data.Reset(); item.Initialize(HostControl, data); category.Items.Add(item); Action create = async() => { var nodeContainer = await HostControl.GetNodesContainer(item, true); { var csParam = new LAStartPoseControlConstructionParams() { CSType = HostControl.CSType, NodeName = "InPose", HostNodesContainer = nodeContainer.NodesControl, ConstructParam = "", }; var ins = nodeContainer.NodesControl.AddNodeControl(typeof(LAStartPoseControl), csParam, 50, 250); ins.HostNodesContainer = nodeContainer.NodesControl; ins.IsDeleteable = false; } { var csParam = new LAFinalPoseControlConstructionParams() { CSType = HostControl.CSType, NodeName = "OutPose", HostNodesContainer = nodeContainer.NodesControl, ConstructParam = "", }; var ins = nodeContainer.NodesControl.AddNodeControl(typeof(LAFinalPoseControl), csParam, 550, 250); ins.HostNodesContainer = nodeContainer.NodesControl; ins.IsDeleteable = false; } }; create.Invoke(); }
public async Task CreateLinkedNode(CategoryItem MainGridItem) { var nodesContainer = await HostControl.GetNodesContainer(MainGridItem, false); if (nodesContainer == null) { throw new InvalidOperationException("nodesContainer is null"); } var nodeType = typeof(CodeDomNode.Particle.ParticleSystemControl); var node = nodesContainer.NodesControl.AddOrigionNode(nodeType, new CodeDomNode.Particle.ParticleSystemControlConstructionParams(), 50, 50); node.IsDeleteable = false; node.HostNodesContainer = nodesContainer.NodesControl; MainGridItem.AddInstanceNode(nodesContainer.NodesControl.GUID, node); }
private void MenuItem_BehaviorTree_Click(object sender, RoutedEventArgs e) { Category category; if (!mCategoryDic.TryGetValue(BehaviorTreeCategoryName, out category)) { return; } var validName = GetValidName("BehaviorTree", category); var item = new CategoryItem(null, category); item.CategoryItemType = CategoryItem.enCategoryItemType.BehaviorTree; item.Name = validName; item.InitTypeStr = "BehaviorTreeGraph"; var data = new BTGraphCategoryItemInitData(); data.Reset(); item.Initialize(HostControl, data); category.Items.Add(item); Action create = async() => { var nodeContainer = await HostControl.GetNodesContainer(item, true); { { var csParam = new BehaviorTree_RootControlConstructionParams() { CSType = HostControl.CSType, NodeName = "Root", HostNodesContainer = nodeContainer.NodesControl, ConstructParam = "", }; var ins = nodeContainer.NodesControl.AddNodeControl(typeof(BehaviorTree_RootControl), csParam, 500, 100); ins.HostNodesContainer = nodeContainer.NodesControl; ins.IsDeleteable = false; } } }; create.Invoke(); }
private void MenuItem_LogicGraph_Click(object sender, RoutedEventArgs e) { Category category; if (!mCategoryDic.TryGetValue(LogicStateMachineCategoryName, out category)) { return; } var validName = GetValidName("LinkNode", category); var item = new CategoryItem(null, category); item.Name = validName; item.InitTypeStr = "LFSM_Graph"; var data = new LFSMGraphCategoryItemInitData(); data.Name = validName; data.ToolTips = item.ToolTips; data.Reset(); item.Initialize(HostControl, data); category.Items.Add(item); Action create = async() => { var nodeContainer = await HostControl.GetNodesContainer(item, true); var csParam = new LogicFSMGraphNodeControlConstructionParams(); csParam.CSType = HostControl.CSType; csParam.LAGNodeName = item.Name; csParam.LinkedCategoryItemID = item.Id; csParam.IsSelfGraphNode = true; var ins = nodeContainer.NodesControl.AddNodeControl(typeof(LogicFSMGraphNodeControl), csParam, 0, 200); ins.HostNodesContainer = nodeContainer.NodesControl; }; create.Invoke(); }