public override void ReplacePattern(Animations.EditPattern oldPattern, Animations.EditPattern newPattern) { if (pattern == oldPattern) { pattern = newPattern; } }
public override void DeletePattern(Animations.EditPattern pattern) { if (this.pattern == pattern) { this.pattern = null; } }
public EditPattern AddNewDefaultPattern() { var newPattern = new Animations.EditPattern(); newPattern.name = "New Pattern"; for (int i = 0; i < 20; ++i) { var grad = new EditRGBGradient(); grad.keyframes.Add(new EditRGBKeyframe() { time = 0.0f, color = Color.black }); grad.keyframes.Add(new EditRGBKeyframe() { time = 0.5f, color = Color.white }); grad.keyframes.Add(new EditRGBKeyframe() { time = 1.0f, color = Color.black }); newPattern.gradients.Add(grad); } patterns.Add(newPattern); return(newPattern); }
public bool ShowPatternPicker(string title, Animations.EditPattern previousPattern, System.Action <bool, Animations.EditPattern> closeAction) { bool ret = !patternPicker.isShown; if (ret) { patternPicker.Show(title, previousPattern, closeAction); } return(ret); }
public EditPattern Duplicate() { var track = new EditPattern(); track.name = name; track.gradients = new List <EditRGBGradient>(); foreach (var g in gradients) { track.gradients.Add(g.Duplicate()); } return(track); }
void ExpandPattern(Animations.EditPattern pattern) { foreach (var uip in patterns) { if (uip.editPattern == pattern) { uip.Expand(!uip.isExpanded); } else { uip.Expand(false); } } }
void DeletePattern(Animations.EditPattern pattern) { PixelsApp.Instance.ShowDialogBox("Delete LED Pattern?", "Are you sure you want to delete " + pattern.name + "?", "Ok", "Cancel", res => { if (res) { var dependentAnimations = AppDataSet.Instance.CollectAnimationsForPattern(pattern); if (dependentAnimations.Any()) { StringBuilder builder = new StringBuilder(); builder.Append("The following animations depend on "); builder.Append(pattern.name); builder.AppendLine(":"); foreach (var b in dependentAnimations) { builder.Append("\t"); builder.AppendLine(b.name); } builder.Append("Are you sure you want to delete it?"); PixelsApp.Instance.ShowDialogBox("Pattern In Use!", builder.ToString(), "Ok", "Cancel", res2 => { if (res2) { AppDataSet.Instance.DeletePattern(pattern); AppDataSet.Instance.SaveData(); RefreshView(); } }); } else { AppDataSet.Instance.DeletePattern(pattern); AppDataSet.Instance.SaveData(); RefreshView(); } } }); }
UIGradientPatternViewToken CreatePatternToken(Animations.EditPattern pattern) { // Create the gameObject var ret = GameObject.Instantiate <UIGradientPatternViewToken>(patternTokenPrefab, Vector3.zero, Quaternion.identity, contentRoot.transform); // When we click on the pattern main button, go to the edit page ret.onClick.AddListener(() => { ret.Expand(false); PixelsApp.Instance.ShowPatternEditor(pattern.name, pattern, (r, p) => SetPattern(r, pattern, p)); }); ret.onEdit.AddListener(() => { ret.Expand(false); PixelsApp.Instance.ShowPatternEditor(pattern.name, pattern, (r, p) => SetPattern(r, pattern, p)); }); ret.onRemove.AddListener(() => DeletePattern(pattern)); ret.onExpand.AddListener(() => ExpandPattern(pattern)); addPatternButton.transform.SetAsLastSibling(); // Initialize it ret.Setup(pattern); return(ret); }
public IEnumerable <Animations.EditAnimation> CollectAnimationsForPattern(Animations.EditPattern pattern) { return(animations.Where(b => { bool ignore; return b.DependsOnPattern(pattern, out ignore); })); }