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;
     }
 }
Example #3
0
    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);
    }
Example #4
0
    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);
    }
Example #5
0
        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);
    }
Example #9
0
 public IEnumerable <Animations.EditAnimation> CollectAnimationsForPattern(Animations.EditPattern pattern)
 {
     return(animations.Where(b => { bool ignore; return b.DependsOnPattern(pattern, out ignore); }));
 }