Ejemplo n.º 1
0
        private void UpdateLogic()
        {
            BlackBoard bb     = GetBlackBorad();
            int        length = _tracks.Count;

            for (int i = 0; i < length; i++)
            {
                TrackLine trakcLine = _tracks[i];
                trakcLine.Update(_curFrame, bb);
            }
        }
Ejemplo n.º 2
0
        public void CalEnd()
        {
            int length = _tracks.Count;

            for (int i = 0; i < length; i++)
            {
                TrackLine line        = _tracks[i];
                int       frameLength = line.EndFrame;
                if (frameLength > _maxFrame)
                {
                    _maxFrame = frameLength;
                }
            }
        }
Ejemplo n.º 3
0
        private static bool AddLeafNodes(SequenceLine sequenceLine, EdNode trackNode)
        {
            int       startFarme  = trackNode.GetAttribute(StartFrame).ToInt();
            int       frameLength = trackNode.GetAttribute(FrameLength).ToInt();
            TrackLine trackLine   = CreateTrack(startFarme, frameLength);

            sequenceLine.AddTrack(trackLine);

            List <EdNode> nodes  = trackNode.Nodes;
            int           length = nodes.Count;

            for (int i = 0; i < length; i++)
            {
                EdNode           node     = nodes[i];
                SequenceLeafNode leafNode = CreateLeftNode(node);
                if (leafNode == null)
                {
                    return(false);
                }
                trackLine.AddNode(leafNode);
            }
            return(true);
        }
Ejemplo n.º 4
0
        public static SequenceLine Create()
        {
            SequenceLine line = new SequenceLine();

            TrackLine track1 = CreateTrack(0, 30 * 3);

            line.AddTrack(track1);

            //1.移动到指定地点
            //1.1 播放移动动画
            //1.2 位移偏移
            SequenceLeafNode node1 = SequenceFactory.CreateNode(SequenceFactory.PLAY_POSITION_TARGET_LEAF_NODE, null);

            (node1 as PlayPositionTargetLeafNode)._bbTarget = SequenceSelfConst.TARGET_POSITION1;
            track1.AddNode(node1);

            TrackLine track2 = CreateTrack(30 * 3, 30 * 3);

            line.AddTrack(track2);

            SequenceLeafNode node2 = SequenceFactory.CreateNode(SequenceFactory.PLAY_ANIMATION_LEAF_NODE, null);

            track2.AddNode(node2);


            TrackLine track3 = CreateTrack(30 * 6, 30 * 3);

            line.AddTrack(track3);

            SequenceLeafNode node3 = SequenceFactory.CreateNode(SequenceFactory.PLAY_POSITION_TARGET_LEAF_NODE, null);

            (node3 as PlayPositionTargetLeafNode)._bbTarget = SequenceSelfConst.TARGET_POSITION2;
            track3.AddNode(node3);
            line.CalEnd();
            return(line);
        }
Ejemplo n.º 5
0
        public static TrackLine CreateTrack(int startFrame, int frameLength)
        {
            TrackLine line = new TrackLine(startFrame, frameLength);

            return(line);
        }
Ejemplo n.º 6
0
 public void AddTrack(TrackLine track)
 {
     _tracks.Add(track);
     track.BindingContext(this);
 }