protected override void CreatePins() { FHost.CreateValueConfig(FPin.Name + "-Time" + FSliceIndex.ToString(), 1, null, TSliceMode.Dynamic, TPinVisibility.Hidden, out FKeyTime); FKeyTime.SliceCount = 0; FKeyTime.SetSubType(Double.MinValue, Double.MaxValue, 0.001D, 0, false, false, false); FHost.CreateValueConfig(FPin.Name + "-FlagY" + FSliceIndex.ToString(), 1, null, TSliceMode.Dynamic, TPinVisibility.Hidden, out FKeyFlagY); FKeyFlagY.SliceCount = 0; FKeyFlagY.SetSubType(Double.MinValue, Double.MaxValue, 0.001D, 0, false, false, false); FHost.CreateStringConfig(FPin.Name + "-Value" + FSliceIndex.ToString(), TSliceMode.Dynamic, TPinVisibility.Hidden, out FKeyValue); FKeyValue.SliceCount = 0; FKeyValue.SetSubType("default", false); }
public override void SaveKeyFrames() { FKeyTime.SliceCount = FKeyFrames.Count; FKeyFlagY.SliceCount = FKeyFrames.Count; FKeyValue.SliceCount = FKeyFrames.Count; FKeyFrames.Sort(delegate(TLBaseKeyFrame k0, TLBaseKeyFrame k1) { return(k0.Time.CompareTo(k1.Time)); }); for (int i = 0; i < FKeyFrames.Count; i++) { FKeyTime.SetValue(i, FKeyFrames[i].Time); FKeyFlagY.SetValue(i, (FKeyFrames[i] as TLStringKeyFrame).PositionY); FKeyValue.SetString(i, (FKeyFrames[i] as TLStringKeyFrame).Value); } }
public override void Configurate(IPluginConfig Input, bool FirstFrame) { //if Input = last ConfigInput created! if (Input == FKeyValue && FirstFrame) { FKeyFrames.Clear(); double time, flag; string val; for (int i = 0; i < FKeyValue.SliceCount; i++) { FKeyTime.GetValue(i, out time); FKeyFlagY.GetValue(i, out flag); FKeyValue.GetString(i, out val); AddKeyFrame(time, (float)flag, val); } FKeyFrames.Sort(delegate(TLBaseKeyFrame k0, TLBaseKeyFrame k1) { return(k0.Time.CompareTo(k1.Time)); }); } base.Configurate(Input, FirstFrame); }