Exemplo n.º 1
0
        private void addMenuEditorCallBack(string cmd)
        {
            if (_currentSkillTimeLineVo == null)
            {
                return;
            }
            SkillLineVO lineVo = new SkillLineVO();

            lineVo.typeFullName = cmd;
            _currentSkillTimeLineVo.addLine(lineVo);

            updateView(_currentSkillTimeLineVo);
        }
Exemplo n.º 2
0
        private void newHandle(EventX obj)
        {
            _currentFilePath = null;
            SkillTimeLineVO skillTimeLineVo = new SkillTimeLineVO();

            SkillLineVO vo = new SkillLineVO();

            vo.typeFullName = typeof(AnimatorTrack).FullName;
            skillTimeLineVo.addLine(vo);

            updateView(skillTimeLineVo);

            setEditFileFullPath("新创文件");
        }
Exemplo n.º 3
0
        public SkillTimeLineVO getRuntimeSkillVO(bool isEditorUse = false)
        {
            SkillTimeLineVO    skillTimeLineVo = new SkillTimeLineVO();
            List <SkillLineVO> lines           = timeLine.dataProvider;

            if (lines == null)
            {
                return(null);
            }

            int len = lines.Count;

            for (int i = 0; i < len; i++)
            {
                SkillLineVO         lineVO   = lines[i];
                List <SkillPointVO> pointVos = lineVO.points as List <SkillPointVO>;
                if (pointVos == null)
                {
                    continue;
                }

                List <SkillPointVO> resultPointVos = new List <SkillPointVO>();
                foreach (SkillPointVO pointVo in pointVos)
                {
                    if (pointVo.isEmpty == false)
                    {
                        resultPointVos.Add(pointVo);
                    }
                }

                if (resultPointVos.Count > 0)
                {
                    SkillLineVO newLineVO = new SkillLineVO();
                    newLineVO.copyFrom(lineVO);
                    newLineVO.points = resultPointVos;
                    if (newLineVO.enabled == false && isEditorUse)
                    {
                        continue;
                    }
                    skillTimeLineVo.addLine(newLineVO);
                }
            }
            return(skillTimeLineVo);
        }
Exemplo n.º 4
0
        public void updateView(SkillTimeLineVO value)
        {
            timeLine.Clear();

            _currentSkillTimeLineVo = new SkillTimeLineVO();
            foreach (SkillLineVO lineVO in value.lines)
            {
                List <SkillPointVO> points = new List <SkillPointVO>();

                for (int i = 0; i < totalFrame; i++)
                {
                    SkillPointVO pointVo = new SkillPointVO();
                    pointVo.startTime = i * frameTime;
                    points.Add(pointVo);
                }

                int len = Math.Min(lineVO.points.Count, totalFrame);
                for (int i = 0; i < len; i++)
                {
                    SkillPointVO pointVo = lineVO.points[i];
                    int          index   = (int)(pointVo.startTime / frameTime);

                    if (index >= totalFrame)
                    {
                        this.ShowNotification("超出时间线:" + index + "被修正:" + totalFrame);
                        index             = totalFrame - 1;
                        pointVo.startTime = index * frameTime;
                    }

                    points[index] = pointVo;
                }

                SkillLineVO newLineVo = new SkillLineVO();
                newLineVo.copyFrom(lineVO);
                newLineVo.points = points;
                _currentSkillTimeLineVo.addLine(newLineVo);
            }

            timeLine.dataProvider = _currentSkillTimeLineVo.lines;
        }