Example #1
0
 public void DeletePattern(EditPattern pattern)
 {
     foreach (var animation in animations)
     {
         animation.DeletePattern(pattern);
     }
     patterns.Remove(pattern);
 }
Example #2
0
    public void ReplacePattern(EditPattern oldPattern, EditPattern newPattern)
    {
        foreach (var animation in animations)
        {
            animation.ReplacePattern(oldPattern, newPattern);
        }
        int oldPatternIndex = patterns.IndexOf(oldPattern);

        patterns[oldPatternIndex] = newPattern;
    }
Example #3
0
 void Hide(bool result, EditPattern pattern)
 {
     if (this.dieRenderer != null)
     {
         DiceRendererManager.Instance.DestroyDiceRenderer(this.dieRenderer);
         this.dieRenderer = null;
     }
     gameObject.SetActive(false);
     closeAction?.Invoke(result, pattern);
     closeAction = null;
 }
Example #4
0
    void Hide(bool result, EditPattern pattern)
    {
        foreach (var uipattern in patterns)
        {
            DestroyPatternToken(uipattern);
        }
        patterns.Clear();

        gameObject.SetActive(false);
        closeAction?.Invoke(result, pattern);
        closeAction = null;
    }
Example #5
0
 void Repaint(EditPattern currentPattern)
 {
     Object.Destroy(_texture);
     if (greyscale)
     {
         _texture = currentPattern.ToGreyscaleTexture();
     }
     else
     {
         _texture = currentPattern.ToTexture();
     }
     patternImage.texture = _texture;
 }
Example #6
0
    UIPatternPickerToken CreatePatternToken(EditPattern pattern)
    {
        // Create the gameObject
        var ret = GameObject.Instantiate <UIPatternPickerToken>(patternTokenPrefab, Vector3.zero, Quaternion.identity, contentRoot.transform);

        // When we click on the pattern main button, go to the edit page
        ret.onClick.AddListener(() => Hide(true, ret.editPattern));

        addPatternButton.transform.SetAsLastSibling();
        // Initialize it
        ret.Setup(pattern);
        return(ret);
    }
Example #7
0
    public int getPatternRGBTrackOffset(EditPattern pattern)
    {
        int ret = 0;

        for (int i = 0; i < rgbPatterns.Count; ++i)
        {
            if (rgbPatterns[i] == pattern)
            {
                return(ret);
            }
            else
            {
                ret += pattern.gradients.Count;
            }
        }
        return(-1);
    }
Example #8
0
    /// <summary>
    /// Invoke the color picker
    /// </sumary>
    public void Show(string title, EditPattern previousPattern, System.Action <bool, EditPattern> closeAction)
    {
        if (isShown)
        {
            Debug.LogWarning("Previous Pattern picker still active");
            ForceHide();
        }

        foreach (var editPattern in AppDataSet.Instance.patterns)
        {
            // New pattern
            var newPatternUI = CreatePatternToken(editPattern);
            patterns.Add(newPatternUI);
        }

        gameObject.SetActive(true);
        currentPattern = previousPattern;
        titleText.text = title;


        this.closeAction = closeAction;
    }
Example #9
0
    public void Setup(EditPattern pattern)
    {
        this.editPattern = pattern;
        this.dieRenderer = DiceRendererManager.Instance.CreateDiceRenderer(Dice.DesignAndColor.V5_Black);
        if (dieRenderer != null)
        {
            animRenderImage.texture = dieRenderer.renderTexture;
        }
        animNameText.text = pattern.name;

        var anim = new EditAnimationKeyframed();

        anim.name     = "temp anim";
        anim.pattern  = pattern;
        anim.duration = pattern.duration;

        textureImage.texture = pattern.ToTexture();

        dieRenderer.SetAuto(true);
        dieRenderer.SetAnimation(anim);
        dieRenderer.Play(true);
    }
    public void Setup(EditPattern pattern)
    {
        this.editPattern = pattern;
        this.dieRenderer = DiceRendererManager.Instance.CreateDiceRenderer(Dice.DesignAndColor.V5_Black);
        if (dieRenderer != null)
        {
            animRenderImage.texture = dieRenderer.renderTexture;
        }
        patternNameText.text = pattern.name;

        var anim = new EditAnimationKeyframed();

        anim.name     = "temp anim";
        anim.pattern  = pattern;
        anim.duration = pattern.duration;
        sizeText.text = "Size: " + (pattern.gradients.Sum(g => g.keyframes.Count) * 2).ToString() + " bytes";

        textureImage.texture = pattern.ToTexture();

        dieRenderer.SetAuto(true);
        dieRenderer.SetAnimation(anim);
        dieRenderer.Play(true);
        Expand(false);
    }
Example #11
0
    /// <summary>
    /// Invoke the color picker
    /// </sumary>
    public void Show(string title, EditPattern previousPattern, System.Action <bool, EditPattern> closeAction)
    {
        if (isShown)
        {
            Debug.LogWarning("Previous RGB Pattern picker still active");
            ForceHide();
        }

        this.dieRenderer = DiceRendererManager.Instance.CreateDiceRenderer(Dice.DesignAndColor.V5_Black);
        if (dieRenderer != null)
        {
            diePreviewImage.texture = dieRenderer.renderTexture;
        }

        gameObject.SetActive(true);
        currentPattern = previousPattern;
        titleText.text = title;

        RepaintPreview();

        this.closeAction = closeAction;
        saveButton.gameObject.SetActive(true);
        reloadFromFile.interactable = false;
    }
 void SetPattern(bool res, EditPattern previousPattern, EditPattern newPattern)
 {
     AppDataSet.Instance.ReplacePattern(previousPattern, newPattern);
 }
Example #13
0
 void AddNewPattern()
 {
     currentPattern = AppDataSet.Instance.AddNewDefaultPattern();
     PixelsApp.Instance.ShowPatternEditor(currentPattern.name, currentPattern, (res, newPattern) => Hide(res, newPattern));
 }