示例#1
0
        public AnimationTimeRemainingControl(AnimationTimeRemainingConstructionParams csParam) : base(csParam)
        {
            InitConstruction();

            var cpInfos = new List <CodeGenerateSystem.Base.CustomPropertyInfo>();

            cpInfos.Add(CodeGenerateSystem.Base.CustomPropertyInfo.GetFromParamInfo(typeof(string), "Name", new Attribute[] { new EngineNS.Rtti.MetaDataAttribute() }));
            mTemplateClassInstance = CodeGenerateSystem.Base.PropertyClassGenerator.CreateClassInstanceFromCustomPropertys(cpInfos, this);

            var clsType  = mTemplateClassInstance.GetType();
            var xNamePro = clsType.GetProperty("Name");

            xNamePro.SetValue(mTemplateClassInstance, csParam.NodeName);

            NodeName          = csParam.NodeName + "_TimeRemaining";
            IsOnlyReturnValue = true;
            AddLinkPinInfo("TimeRemainingHandle", mCtrlValueOutputHandle, null);
        }
        private void TransitionGraphNodesControl_FilterContextMenu(CodeGenerateSystem.Controls.NodeListContextMenu contextMenu, CodeGenerateSystem.Controls.NodesContainerControl.ContextMenuFilterData filterData)
        {
            var assist = mLinkedNodesContainer.HostControl;

            assist.NodesControl_FilterContextMenu(contextMenu, filterData);
            var nodesList = contextMenu.GetNodesList();
            List <AnimAsset> animationNames = new List <AnimAsset>();

            foreach (var ctrl in HostNodesContainer.CtrlNodeList)
            {
                if (ctrl is AnimationAsset)
                {
                    var animParam = ctrl.CSParam as AnimationAssetConstructionParams;
                    animationNames.Add(animParam.AnimAsset);
                }
            }
            foreach (var sub in HostNodesContainer.HostControl.SubNodesContainers)
            {
                foreach (var ctrl in sub.Value.CtrlNodeList)
                {
                    if (ctrl is AnimationAsset)
                    {
                        var animParam = ctrl.CSParam as AnimationAssetConstructionParams;
                        animationNames.Add(animParam.AnimAsset);
                    }
                }
            }
            foreach (var animAsset in animationNames)
            {
                var tmCP = new AnimationTimeRemainingConstructionParams()
                {
                    CSType         = HostNodesContainer.CSType,
                    ConstructParam = "",
                    NodeName       = animAsset.AnimAssetName,
                    AnimAsset      = animAsset,
                };
                nodesList.AddNodesFromType(filterData, typeof(AnimationTimeRemainingControl), "AnimationTimeRemaining/" + animAsset.AnimAssetLocationName + "_" + animAsset.AnimAssetName + "_TimeRemaining", tmCP, "");
            }
        }