private void OnClickAddButton() { ChromaSDKAnimation1D animation = GetAnimation(); EditorUtility.SetDirty(animation); var frames = animation.Frames; //copy Unload(); if (_mCurrentFrame < 0 || _mCurrentFrame >= frames.Count) { _mCurrentFrame = 0; } EffectArray1dInput frame = ChromaUtils.CreateColors1D(animation.Device); if (_mCurrentFrame == frames.Count || (_mCurrentFrame + 1) == frames.Count) { frames.Add(frame); _mCurrentFrame = frames.Count - 1; } else { ++_mCurrentFrame; frames.Insert(_mCurrentFrame, frame); } animation.Frames = frames; animation.RefreshCurve(); }
private void OnClickFirstButton() { ChromaSDKAnimation1D animation = GetAnimation(); _mCurrentFrame = 0; animation.RefreshCurve(); }
private void OnClickLastButton() { ChromaSDKAnimation1D animation = GetAnimation(); _mCurrentFrame = 0; if (animation.Frames.Count > 0) { _mCurrentFrame = animation.Frames.Count - 1; } animation.RefreshCurve(); }
private void OnClickReverseAnimationButton() { ChromaSDKAnimation1D animation = GetAnimation(); EditorUtility.SetDirty(animation); var frames = animation.Frames; //copy Unload(); frames.Reverse(); animation.Frames = frames; animation.RefreshCurve(); }
private void OnClickResetButton() { ChromaSDKAnimation1D animation = GetAnimation(); EditorUtility.SetDirty(animation); Unload(); _mCurrentFrame = 0; animation.ClearFrames(); animation.RefreshCurve(); }
private void OnClickSetDevice() { ChromaSDKAnimation1D animation = GetAnimation(); EditorUtility.SetDirty(animation); Unload(); if (animation.Device != _mDevice) { animation.Device = _mDevice; animation.ClearFrames(); animation.RefreshCurve(); } }
private void OnClickInsertButton() { ChromaSDKAnimation1D animation = GetAnimation(); EditorUtility.SetDirty(animation); var frames = animation.Frames; //copy Unload(); if (_mCurrentFrame < 0 || _mCurrentFrame >= frames.Count) { _mCurrentFrame = 0; } EffectArray1dInput oldFrame; if (frames.Count > 0) { oldFrame = frames[_mCurrentFrame]; } else { oldFrame = ChromaUtils.CreateColors1D(animation.Device); } EffectArray1dInput frame = ChromaUtils.CreateColors1D(animation.Device); if (frames.Count == 0) { frames.Add(frame); _mCurrentFrame = frames.Count - 1; } else { frames.Insert(_mCurrentFrame, frame); } // copy colors if (_mCurrentFrame >= 0 && _mCurrentFrame < frames.Count) { ChromaDevice1DEnum device = animation.Device; int maxLeds = ChromaUtils.GetMaxLeds(device); for (int i = 0; i < maxLeds; ++i) { frame[i] = oldFrame[i]; } } animation.Frames = frames; animation.RefreshCurve(); }
private void AutoOverrideTime() { if (_mAnimation) { if (_mAnimation is ChromaSDKAnimation1D) { ChromaSDKAnimation1D animation = _mAnimation as ChromaSDKAnimation1D; var frames = animation.Frames; //copy float frameTime = _mInterval; float time = 0.0f; //clear old keys while (animation.Curve.keys.Length > 0) { animation.Curve.RemoveKey(0); } //add keys on new interval for (int i = 0; i < frames.Count; ++i) { time += frameTime; animation.Curve.AddKey(time, 0f); } animation.RefreshCurve(); } else if (_mAnimation is ChromaSDKAnimation2D) { ChromaSDKAnimation2D animation = _mAnimation as ChromaSDKAnimation2D; var frames = animation.Frames; //copy float frameTime = _mInterval; float time = 0.0f; //clear old keys while (animation.Curve.keys.Length > 0) { animation.Curve.RemoveKey(0); } //add keys on new interval for (int i = 0; i < frames.Count; ++i) { time += frameTime; animation.Curve.AddKey(time, 0f); } animation.RefreshCurve(); } } }
private void OnClickNextButton() { ChromaSDKAnimation1D animation = GetAnimation(); EditorUtility.SetDirty(animation); var frames = animation.Frames; //copy if (_mCurrentFrame < 0 || _mCurrentFrame >= frames.Count) { _mCurrentFrame = 0; } if ((_mCurrentFrame + 1) < frames.Count) { ++_mCurrentFrame; } animation.RefreshCurve(); }
private void ResetAnimation() { if (_mAnimation) { if (_mAnimation is ChromaSDKAnimation1D) { ChromaSDKAnimation1D animation = _mAnimation as ChromaSDKAnimation1D; animation.ClearFrames(); animation.RefreshCurve(); } else if (_mAnimation is ChromaSDKAnimation2D) { ChromaSDKAnimation2D animation = _mAnimation as ChromaSDKAnimation2D; animation.ClearFrames(); animation.RefreshCurve(); } ChromaSDKAnimationBaseEditor.GoToFirstFrame(); } }
private void OnClickOverrideButton() { ChromaSDKAnimation1D animation = GetAnimation(); EditorUtility.SetDirty(animation); var frames = animation.Frames; //copy float frameTime = _mOverrideFrameTime; float time = 0.0f; //clear old keys while (animation.Curve.keys.Length > 0) { animation.Curve.RemoveKey(0); } //add keys on new interval for (int i = 0; i < frames.Count; ++i) { time += frameTime; animation.Curve.AddKey(time, 0f); } animation.RefreshCurve(); }
private void DeleteFrame() { if (_mAnimation) { if (_mAnimation is ChromaSDKAnimation1D) { ChromaSDKAnimation1D animation = _mAnimation as ChromaSDKAnimation1D; List <EffectArray1dInput> frames = animation.Frames; if (frames.Count > 1) { frames.RemoveAt(0); } else { frames[0] = ChromaUtils.CreateColors1D(animation.Device); } animation.Frames = frames; animation.RefreshCurve(); } else if (_mAnimation is ChromaSDKAnimation2D) { ChromaSDKAnimation2D animation = _mAnimation as ChromaSDKAnimation2D; List <EffectArray2dInput> frames = animation.Frames; if (frames.Count > 1) { frames.RemoveAt(0); } else { frames[0] = ChromaUtils.CreateColors2D(animation.Device); } animation.Frames = frames; animation.RefreshCurve(); } ChromaSDKAnimationBaseEditor.GoToFirstFrame(); } }
private void OnClickDeleteButton() { ChromaSDKAnimation1D animation = GetAnimation(); EditorUtility.SetDirty(animation); var frames = animation.Frames; //copy Unload(); if (_mCurrentFrame < 0 || _mCurrentFrame >= frames.Count) { _mCurrentFrame = 0; } if (frames.Count == 1) { // reset frame frames[0] = ChromaUtils.CreateColors1D(animation.Device); // reset curve while (animation.Curve.keys.Length > 0) { animation.Curve.RemoveKey(0); } } else if (frames.Count > 0) { frames.RemoveAt(_mCurrentFrame); if (_mCurrentFrame == frames.Count) { _mCurrentFrame = frames.Count - 1; } } animation.Frames = frames; animation.RefreshCurve(); }