Exemplo n.º 1
0
 public FinalAnimPoseControl(FinalAnimPoseConstructionParams csParam) : base(csParam)
 {
     InitConstruction();
     NodeName          = csParam.NodeName;
     IsOnlyReturnValue = true;
     AddLinkPinInfo("AnimPoseInHandle", mCtrlValueInputHandle, null);
 }
Exemplo n.º 2
0
        async System.Threading.Tasks.Task InitializeLinkedNodesContainer()
        {
            var param  = CSParam as AnimStateControlConstructionParams;
            var assist = this.HostNodesContainer.HostControl as Macross.NodesControlAssist;

            if (mLinkedNodesContainer == null)
            {
                var data = new SubNodesContainerData()
                {
                    ID    = Id,
                    Title = HostNodesContainer.TitleString + "/" + param.NodeName + ":" + this.Id.ToString(),
                };
                mLinkedNodesContainer = await assist.GetSubNodesContainer(data);

                if (!data.IsCreated)
                {
                    return;
                }
            }
            // 读取graph
            var tempFile      = assist.HostControl.GetGraphFileName(assist.LinkedCategoryItemName);
            var linkXndHolder = await EngineNS.IO.XndHolder.LoadXND(tempFile, EngineNS.Thread.Async.EAsyncTarget.AsyncEditor);

            bool bLoaded = false;

            if (linkXndHolder != null)
            {
                var linkNode = linkXndHolder.Node.FindNode("SubLinks");
                var idStr    = Id.ToString();
                foreach (var node in linkNode.GetNodes())
                {
                    if (node.GetName() == idStr)
                    {
                        await mLinkedNodesContainer.Load(node);

                        bLoaded = true;
                        break;
                    }
                }
            }
            if (bLoaded)
            {
            }
            else
            {
                var csParam = new FinalAnimPoseConstructionParams()
                {
                    CSType             = param.CSType,
                    NodeName           = "FinalPose",
                    HostNodesContainer = mLinkedNodesContainer,
                    ConstructParam     = "",
                };
                var node = mLinkedNodesContainer.AddOrigionNode(typeof(FinalAnimPoseControl), csParam, 300, 0) as FinalAnimPoseControl;
                node.IsDeleteable = false;

                //var retCSParam = new CodeDomNode.ReturnCustom.ReturnCustomConstructParam()
                //{
                //    CSType = param.CSType,
                //    HostNodesContainer = mLinkedNodesContainer,
                //    ConstructParam = "",
                //};
                //var retNode = mLinkedNodesContainer.AddOrigionNode(typeof(CodeDomNode.ReturnCustom), retCSParam, 300, 0) as CodeDomNode.ReturnCustom;
                //retNode.IsDeleteable = false;
                //retNode.ShowProperty = false;
            }
            mLinkedNodesContainer.HostNode = this;
        }