Пример #1
0
        public static AnimNodeData CreateNode(XmlElement node)
        {
            AnimNodeType nodeType = node.GetAttributeValueAsEnum <AnimNodeType>("NodeType", AnimNodeType.None);

            if (nodeType != AnimNodeType.None)
            {
                return(CreateNode(nodeType));
            }
            return(null);
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
        }