コード例 #1
0
 public void MaskGraphic(bool isOn)
 {
     if (tabs.AnyTogglesOn())
     {
         ArtTab currTab = tabs.ActiveToggles().First().GetComponent <ArtTab>();
         currTab.artLayer.ApplyMask(isOn);
         if (currTab.artLayer == art)
         {
             data.mainArt.masked = isOn;
             Save();
             return;
         }
         else
         {
             for (int i = 0; i < foregroundLayers.Count; i++)
             {
                 if (currTab.artLayer == foregroundLayers[i])
                 {
                     data.foregroundLayers[i].masked = isOn;
                     Save();
                     return;
                 }
             }
             for (int i = 0; i < backgroundLayers.Count; i++)
             {
                 if (currTab.artLayer == backgroundLayers[i])
                 {
                     data.backgroundLayers[i].masked = isOn;
                     Save();
                     return;
                 }
             }
         }
     }
 }
コード例 #2
0
    public IEnumerator LoadArt(bool light = false)
    {
        coll.enabled = false;
        string loadedArtPath = "";

        yield return(dirViewer.StartCoroutine(dirViewer.SearchForFile(CardLoader.GetSavePath(""), result => loadedArtPath = result)));

        if (!string.IsNullOrEmpty(loadedArtPath))
        {
            loadedArtPath = SanitizePath(loadedArtPath);
            ArtTab currTab = tabs.ActiveToggles().First().GetComponent <ArtTab>();
            if (currTab.artLayer == art)
            {
                if (light)
                {
                    data.mainArt.lightingDir = loadedArtPath;
                }
                else
                {
                    data.mainArt.imageDir = loadedArtPath;
                }
                currTab.artLayer.LoadArt(data.mainArt);
            }
            else
            {
                for (int i = 0; i < foregroundLayers.Count; i++)
                {
                    if (currTab.artLayer == foregroundLayers[i])
                    {
                        if (light)
                        {
                            data.foregroundLayers[i].lightingDir = loadedArtPath;
                        }
                        else
                        {
                            data.foregroundLayers[i].imageDir = loadedArtPath;
                        }
                        currTab.artLayer.LoadArt(data.foregroundLayers[i]);
                    }
                }
                for (int i = 0; i < backgroundLayers.Count; i++)
                {
                    if (currTab.artLayer == backgroundLayers[i])
                    {
                        if (light)
                        {
                            data.backgroundLayers[i].lightingDir = loadedArtPath;
                        }
                        else
                        {
                            data.backgroundLayers[i].imageDir = loadedArtPath;
                        }
                        currTab.artLayer.LoadArt(data.backgroundLayers[i]);
                    }
                }
            }
        }
        coll.enabled = true;
        Save();
    }
コード例 #3
0
    public void AddForeground(bool newLayer = false)
    {
        ArtTab artTab = null;

        if (foregroundTabs != null)
        {
            if (foregroundLayers.Count < foregroundTabs.Count)
            {
                artTab = foregroundTabs[foregroundLayers.Count].GetComponent <ArtTab>();
                foregroundTabs[foregroundLayers.Count].gameObject.SetActive(true);
            }
            else
            {
                artTab = Instantiate(leftTabObj, leftTabs).GetComponent <ArtTab>();
                foregroundTabs.Add((RectTransform)artTab.transform);
            }
        }
        else
        {
            foregroundTabs = new List <RectTransform>();
        }

        artTab.indexText.text = (foregroundLayers.Count + 1).ToString();
        ((RectTransform)artTab.transform).anchoredPosition        = Vector2.right * 52 * (foregroundLayers.Count + 1);
        ((RectTransform)addForeground.transform).anchoredPosition = Vector2.right * 52 * (foregroundLayers.Count + 2);
        foregroundLayers.Add(Instantiate(art, maskImage.rectTransform));
        foregroundLayers[foregroundLayers.Count - 1].RTransform.SetAsLastSibling();
        artTab.artLayer = foregroundLayers[foregroundLayers.Count - 1];
        if (newLayer)
        {
            data.foregroundLayers.Add(new CardArt());
            foregroundLayers[foregroundLayers.Count - 1].LoadArt(data.foregroundLayers[foregroundLayers.Count - 1]);
        }
        else
        {
            foregroundLayers[foregroundLayers.Count - 1].LoadArt(data.foregroundLayers[foregroundLayers.Count - 1]);
        }
    }
コード例 #4
0
    public void SelectTab()
    {
        if (!tabs.AnyTogglesOn())
        {
            for (int i = 0; i < backgroundLayers.Count; i++)
            {
                backgroundLayers[i].gameObject.SetActive(true);
            }
            for (int i = 0; i < foregroundLayers.Count; i++)
            {
                foregroundLayers[i].gameObject.SetActive(true);
            }
            art.gameObject.SetActive(true);
            uploadArt.gameObject.SetActive(false);
            uploadLight.gameObject.SetActive(false);
            return;
        }
        else
        {
            for (int i = 0; i < backgroundLayers.Count; i++)
            {
                backgroundLayers[i].gameObject.SetActive(false);
            }
            for (int i = 0; i < foregroundLayers.Count; i++)
            {
                foregroundLayers[i].gameObject.SetActive(false);
            }
            art.gameObject.SetActive(false);

            ArtTab currTab = tabs.ActiveToggles().First().GetComponent <ArtTab>();
            currTab.artLayer.gameObject.SetActive(true);
            maskedToggle.isOn = currTab.artLayer.art.maskable;
            uploadArt.gameObject.SetActive(true);
            uploadLight.gameObject.SetActive(true);
        }
    }