Esempio n. 1
0
 public LAFinalPoseControl(LAFinalPoseControlConstructionParams csParam) : base(csParam)
 {
     InitConstruction();
     NodeName          = csParam.NodeName;
     IsOnlyReturnValue = true;
     AddLinkPinInfo("AnimPoseInHandle", mCtrlValueInputHandle, null);
     BodyImage = TryFindResource("AnimationNode_Result") as ImageSource;
 }
        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();
        }