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); } }
protected override void NodeNameChangedOverride(BaseNodeControl d, string oldVal, string newVal) { if (ShaderVarInfo == null) { return; } var newNodeName = Program.GetValidNodeName(this); ShaderVarInfo.Rename(newNodeName); }
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); } }
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); }
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); }
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; } } } }
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); } } }
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(); } }
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; } }