public void ChangeParameter(IEditorMarkInfo mark, string key, string value)
        {
            var editorMarkInfo = (EditorMarkInfo)mark;

            tasks.Add(new ChangeMarkParameterTask(editorMarkInfo, key, value));
            editorMarkInfo.Parameters[key] = value;
        }
        public void RemoveParameter(IEditorMarkInfo mark, string key)
        {
            var editorMarkInfo = (EditorMarkInfo)mark;

            tasks.Add(new RemoveMarkParameterTask(editorMarkInfo, key));
            editorMarkInfo.Parameters.Remove(key);
        }
        public void ChangeMarkType(IEditorMarkInfo mark, PPDCoreModel.Data.MarkType markType)
        {
            var editorMarkInfo = (EditorMarkInfo)mark;

            tasks.Add(new ChangeMarkTypeTask(editorMarkInfo, markType));
            editorMarkInfo.Type = markType;
        }
        public void ChangeMarkTime(IEditorMarkInfo mark, float time)
        {
            var editorMarkInfo = (EditorMarkInfo)mark;

            tasks.Add(new ChangeMarkTimeTask(editorMarkInfo, time));
            editorMarkInfo.Time = time;
        }
        public void ChangeMarkPosition(IEditorMarkInfo mark, SharpDX.Vector2 position)
        {
            var editorMarkInfo = (EditorMarkInfo)mark;

            tasks.Add(new ChangeMarkPositionTask(editorMarkInfo, position));
            editorMarkInfo.Position = position;
        }
        public void ChangeMarkAngle(IEditorMarkInfo mark, float angle)
        {
            var editorMarkInfo = (EditorMarkInfo)mark;

            tasks.Add(new ChangeMarkRotationTask(editorMarkInfo, angle));
            editorMarkInfo.Angle = angle;
        }
        public void UnassignID(IEditorMarkInfo mark)
        {
            var editorMarkInfo = (EditorMarkInfo)mark;

            tasks.Add(new UnassignMarkIdTask(editorMarkInfo));
            editorMarkInfo.Mark.ID = 0;
        }
        public void AssignID(IEditorMarkInfo mark)
        {
            var editorMarkInfo = (EditorMarkInfo)mark;

            tasks.Add(new AssignMarkIdTask(editorMarkInfo));
            editorMarkInfo.Mark.ID = IDProvider.Next();
        }
        public void Remove(IEditorMarkInfo mark)
        {
            var editorMarkInfo = (EditorMarkInfo)mark;

            tasks.Add(new RemoveMarkTask(editorMarkInfo));
        }