41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using UniversalEditor.ObjectModels.Lighting.Fixture;
|
|
|
|
namespace UniversalEditor.ObjectModels.Lighting.Script
|
|
{
|
|
public abstract class TrackEntryCommand : ICloneable
|
|
{
|
|
public class TrackEntryCommandCollection
|
|
: System.Collections.ObjectModel.Collection<TrackEntryCommand>
|
|
{
|
|
}
|
|
|
|
public abstract object Clone();
|
|
}
|
|
public class TrackEntryChannelCommand : TrackEntryCommand
|
|
{
|
|
private Channel mvarChannel = null;
|
|
public Channel Channel { get { return mvarChannel; } set { mvarChannel = value; } }
|
|
|
|
private byte mvarStartValue = 0;
|
|
public byte StartValue { get { return mvarStartValue; } set { mvarStartValue = value; } }
|
|
|
|
private byte mvarEndValue = 0;
|
|
public byte EndValue { get { return mvarEndValue; } set { mvarEndValue = value; } }
|
|
|
|
// Interpolation mode?
|
|
|
|
public override object Clone()
|
|
{
|
|
TrackEntryChannelCommand clone = new TrackEntryChannelCommand();
|
|
clone.Channel = (Channel?.Clone() as Channel);
|
|
clone.StartValue = StartValue;
|
|
clone.EndValue = EndValue;
|
|
return clone;
|
|
}
|
|
}
|
|
}
|