Exemplo n.º 1
0
        public void DealNodeLinkPath(BaseNodeControl node, double value, bool call)
        {
            LinkPinControl[] LinkPinControls = node.GetLinkPinInfos();
            for (int j = 0; j < LinkPinControls.Length; j++)
            {
                var linkPinControl = LinkPinControls[j];
                if (linkPinControl.LinkCurveType == enLinkCurveType.Bezier)
                {
                    foreach (var linkinfo in linkPinControl.LinkInfos)
                    {
                        //if (linkinfo.IsMethodLink == IsMethodLink)
                        //{
                        //    linkinfo.LinkPath.Opacity = value / 100.0f;
                        //}
                        if ((linkinfo.m_linkFromObjectInfo.LinkType & enLinkType.Method) != 0 && call)//&& (linkinfo.m_linkToObjectInfo.LinkType & enLinkType.Method) != 0
                        {
                            linkinfo.LinkPath.Opacity = value / 100.0f;
                        }
                        else if ((linkinfo.m_linkFromObjectInfo.LinkType & enLinkType.Method) == 0 && !call)
                        {
                            linkinfo.LinkPath.Opacity = value / 100.0f;
                        }
                    }
                }
            }

            var subnodes = node.GetChildNodes();

            for (int i = 0; i < subnodes.Count; i++)
            {
                DealNodeLinkPath(subnodes[i], value, call);
            }
        }
 protected override void InsertChildNode(int index, BaseNodeControl node, Panel container)
 {
     if (node is LASPChildPoseLinkNodeControl)
     {
         mPins.Add(node as LASPChildPoseLinkNodeControl);
         base.InsertChildNode(index, node, container);
     }
 }
Exemplo n.º 3
0
        protected override void NodeNameChangedOverride(BaseNodeControl d, string oldVal, string newVal)
        {
            if (ShaderVarInfo == null)
            {
                return;
            }
            var newNodeName = Program.GetValidNodeName(this);

            ShaderVarInfo.Rename(newNodeName);
        }
Exemplo n.º 4
0
 protected override void AddChildNode(BaseNodeControl node, Panel container)
 {
     if (node is LASPChildPoseLinkNodeControl)
     {
         base.AddChildNode(node, container);
         mPins.Add(node as LASPChildPoseLinkNodeControl);
     }
     if (node is LASPChildBlendTimeNodeControl)
     {
         node.Margin = new Thickness(4, 0, 0, 0);
         base.AddChildNode(node, container);
         mBlendTimePins.Add(node as LASPChildBlendTimeNodeControl);
     }
 }
Exemplo n.º 5
0
        void RemoveTransitionFromObject(BaseNodeControl transitionNode)
        {
            if (transitionNode == null)
            {
                return;
            }
            var from = m_linkFromObjectInfo as AnimStateLinkControl;

            from?.RemoveTransiton(m_linkFromObjectInfo.GUID, m_linkToObjectInfo.GUID, transitionNode.Id);
            var to = m_linkToObjectInfo as AnimStateLinkControl;

            to?.RemoveTransiton(m_linkFromObjectInfo.GUID, m_linkToObjectInfo.GUID, transitionNode.Id);
            m_linkFromObjectInfo.HostNodesContainer.DeleteNode(transitionNode);
        }
Exemplo n.º 6
0
 protected override string NodeNameCoerceValueCallbackOverride(BaseNodeControl d, string baseValue)
 {
     if (ShaderVarInfo != null)
     {
         if (!IsShaderVarNameValid(baseValue))
         {
             return(NodeName);
         }
         //else if (ShaderVarInfo.Rename(GetTextureName()) == false)
         //{
         //    EditorCommon.MessageBox.Show("名称 " + newVal + " 已经被使用,请换其他名称");
         //    return NodeName;
         //}
     }
     return(baseValue);
 }
Exemplo n.º 7
0
        void AddTransitionToObject(BaseNodeControl transCtrl)
        {
            if (m_linkFromObjectInfo.LinkOpType == enLinkOpType.Start)
            {
                return;
            }
            var lineCurve = m_LinkPath as ArrowLine;
            //lineCurve.AddTransitionControl(transCtrl);
            var from = m_linkFromObjectInfo as AnimStateLinkControl;

            from?.AddTransiton(m_linkFromObjectInfo.GUID, m_linkToObjectInfo.GUID, transCtrl.Id);
            var to = m_linkToObjectInfo as AnimStateLinkControl;

            to?.AddTransiton(m_linkFromObjectInfo.GUID, m_linkToObjectInfo.GUID, transCtrl.Id);
            m_linkFromObjectInfo.HostNodesContainer.GetDrawCanvas().Children.Add(transCtrl);
        }
 protected override void NodeNameChangedOverride(BaseNodeControl d, string oldVal, string newVal)
 {
     base.NodeNameChangedOverride(d, oldVal, newVal);
     if (mLinkedNodesContainer != null)
     {
         for (int i = 0; i < mLinkedNodesContainer.CtrlNodeList.Count; ++i)
         {
             if (mLinkedNodesContainer.CtrlNodeList[i] is MethodCustom)
             {
                 var mc         = mLinkedNodesContainer.CtrlNodeList[i] as MethodCustom;
                 var methodInfo = mc.GetMethodInfo();
                 methodInfo.MethodName  = "CustomCondition_" + ValidName;
                 methodInfo.DisplayName = NodeName;
             }
         }
     }
 }
Exemplo n.º 9
0
        private void AddConditionControl()
        {
            var ccP = BaseNodeControl.CreateConstructionParam(typeof(ConditionControl));

            ccP.CSType             = mCSParam.CSType;
            ccP.HostNodesContainer = this.HostNodesContainer;
            ConditionControl cc = new ConditionControl(ccP);

            cc.Index = mCCIndex++;

            //ContextMenu menu = new ContextMenu();
            //MenuItem menuItem = new MenuItem();
            //menuItem.Header = "删除条件";
            //menuItem.Click += new RoutedEventHandler(MenuItem_Click_DelMethod);
            //menuItem.Tag = cc;
            //menu.Items.Add(menuItem);
            //cc.ContextMenu = menu;

            AddChildNode(cc, ConditionStack);
        }
 protected override void AddChildNode(BaseNodeControl node, Panel container)
 {
     if (node is LASPChildPoseLinkNodeControl)
     {
         var csParam = node.CSParam as LASPChildPoseLinkNodeControlConstructionParams;
         if (csParam.IndexValue != "Default")
         {
             mPins.Add(node as LASPChildPoseLinkNodeControl);
         }
         base.AddChildNode(node, container);
     }
     if (node is LASPChildBlendTimeNodeControl)
     {
         node.Margin = new Thickness(4, 0, 0, 0);
         base.AddChildNode(node, container);
         var csParam = node.CSParam as LASPChildBlendTimeNodeControlConstructionParams;
         if (csParam.IndexValue != "Default")
         {
             mBlendTimePins.Add(node as LASPChildBlendTimeNodeControl);
         }
     }
 }
Exemplo n.º 11
0
        public override void RemoveTransition(BaseNodeControl transitionNode)
        {
            if (transitionNode == null)
            {
                return;
            }
            var lineCurve = m_LinkPath as ArrowLine;

            lineCurve.RemoveTransitionControl(transitionNode);
            var from = m_linkFromObjectInfo as AnimStateLinkControl;

            from?.RemoveTransiton(m_linkFromObjectInfo.GUID, m_linkToObjectInfo.GUID, transitionNode.Id);
            var to = m_linkToObjectInfo as AnimStateLinkControl;

            to?.RemoveTransiton(m_linkFromObjectInfo.GUID, m_linkToObjectInfo.GUID, transitionNode.Id);
            m_linkFromObjectInfo.HostNodesContainer.DeleteNode(transitionNode);

            if (lineCurve.TransitionControlList.Count == 0)
            {
                Clear();
            }
        }
Exemplo n.º 12
0
 public static void OnValueTypeChanged(ref FrameworkElement valueControl, StackPanel parentPanel, Type valueType, ref object value, string valueName, BaseNodeControl node)
 {
     if (valueControl != null)
     {
         parentPanel.Children.Remove(valueControl);
     }
     if (valueType == typeof(bool))
     {
         var ctrl = new CheckBox()
         {
             VerticalAlignment = VerticalAlignment.Center,
         };
         if (value == null)
         {
             value = false;
         }
         parentPanel.Children.Add(ctrl);
         ctrl.SetBinding(CheckBox.IsCheckedProperty, new Binding(valueName)
         {
             Source = node, Converter = new EditorCommon.Converter.Bool2String()
         });
         valueControl = ctrl;
     }
     else if (valueType.IsEnum)
     {
         var ctrl = new WPG.Themes.TypeEditors.EnumEditor()
         {
             VerticalAlignment = VerticalAlignment.Center,
         };
         if (value == null)
         {
             value = System.Enum.GetValues(valueType).GetValue(0);
         }
         parentPanel.Children.Add(ctrl);
         ctrl.SetBinding(WPG.Themes.TypeEditors.EnumEditor.EnumObjectProperty, new Binding(valueName)
         {
             Source = node
         });
         valueControl = ctrl;
     }
     else if ((valueType == typeof(string)))
     {
         var ctrl = new TextBox()
         {
             Style             = node.TryFindResource(new ComponentResourceKey(typeof(ResourceLibrary.CustomResources), "TextBoxStyle_Default")) as Style,
             VerticalAlignment = VerticalAlignment.Center,
             MinWidth          = 30,
         };
         if (value == null)
         {
             value = "";
         }
         parentPanel.Children.Add(ctrl);
         ctrl.SetBinding(TextBox.TextProperty, new Binding(valueName)
         {
             Source = node, UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
         });
         valueControl = ctrl;
     }
     else if (valueType.IsValueType && valueType.IsPrimitive)
     {
         var ctrl = new EditorCommon.NumericTypeEditor()
         {
             VerticalAlignment = VerticalAlignment.Center,
             MinWidth          = 30,
         };
         if (value == null)
         {
             value = 0;
         }
         ctrl.NumericObject = value;
         parentPanel.Children.Add(ctrl);
         ctrl.SetBinding(EditorCommon.NumericTypeEditor.NumericObjectProperty, new Binding(valueName)
         {
             Source = node
         });
         valueControl = ctrl;
     }
 }