public static AnimNodeData CreateNode(XmlElement node) { AnimNodeType nodeType = node.GetAttributeValueAsEnum <AnimNodeType>("NodeType", AnimNodeType.None); if (nodeType != AnimNodeType.None) { return(CreateNode(nodeType)); } return(null); }
private void New(AnimNodeType type, Vector2 position) { position -= _Panel.PanPosition; position /= _Panel.ZoomFactor; position.x -= this.RenderArea.x; position.y -= this.RenderArea.y; AnimNodeData data = AnimationTreeData.CreateNode(type); if (data != null) { data.Name = GetUniqueName(string.Format("new{0}", type)); data.X = position.x; data.Y = position.y; AnimNodeItem item = CreateItem(data); _Panel.Controls.Add(item); } }
public static AnimNodeData CreateNode(AnimNodeType nodeType) { AnimNodeData result = null; switch (nodeType) { case AnimNodeType.Sequence: result = new AnimNodeSequenceData(); break; case AnimNodeType.Override: result = new AnimNodeOverrideData(); break; case AnimNodeType.Blend1D: result = new AnimNodeBlend1DData(); break; case AnimNodeType.Blend2D: result = new AnimNodeBlend2DData(); break; case AnimNodeType.Additive: result = new AnimNodeAdditiveBlendingData(); break; case AnimNodeType.BlendByIndex: result = new AnimNodeBlendByIndexData(); break; case AnimNodeType.Root: result = new AnimationTreeRootData(); break; //case AnimNodeType.SubTree: // result = new AnimNodeSubTreeData(); // break; } return(result); }