Example #1
0
    void CreatePatternPlane()
    {
        _patternPlane = _editor.CreatePlane("PatternPlane", null, PixelEditorScreen.PATTERN_PLANE_DEPTH);

        float xPos = PlayerPrefs.GetFloat("patternPosX", 1.25f);
        float yPos = PlayerPrefs.GetFloat("patternPosY", 0.5f);

        _patternPlane.transform.position = new Vector3(xPos, yPos, PixelEditorScreen.PATTERN_PLANE_DEPTH);

        // create material
        Material material = (Material)Instantiate(Resources.Load("Materials/UnlitTransparent") as Material);

        _patternPlane.GetComponent <MeshRenderer>().material = material;

        // ---------------------------------------------------------
        // BORDER
        // ---------------------------------------------------------
        _patternBorderPlane = _editor.CreatePlane("Border", _patternPlane.transform, BORDER_DEPTH);

        // create border texture
        Texture2D borderTexture = new Texture2D(1, 1, TextureFormat.ARGB32, false);

        borderTexture.filterMode = FilterMode.Point;
        borderTexture.SetPixel(0, 0, PixelEditorScreen.BORDER_COLOR);
        borderTexture.Apply();
        // create border material
        Material borderMaterial = (Material)Instantiate(Resources.Load("Materials/UnlitAlphaWithFade") as Material);

        borderMaterial.mainTexture = borderTexture;
        _patternBorderPlane.GetComponent <MeshRenderer>().material = borderMaterial;

        // ---------------------------------------------------------
        // GRID
        // ---------------------------------------------------------
        _gridPlane = _editor.CreatePlane("Grid", _patternPlane.transform, GRID_DEPTH);
        // create grid material
        Material gridMaterial = (Material)Instantiate(Resources.Load("Materials/Unlit") as Material);

        _gridPlane.GetComponent <MeshRenderer>().material = gridMaterial;
    }
    void CreateSwatch(out GameObject plane, out Texture2D texture, out GameObject borderPlane)
    {
        plane = _editor.CreatePlane("SwatchPlane", null, PixelEditorScreen.PALETTE_PLANE_DEPTH);

        float xPos = PlayerPrefs.GetFloat("swatchPosX", -1.1f);
        float yPos = PlayerPrefs.GetFloat("swatchPosY", 0.8f);

        plane.transform.position = new Vector3(xPos, yPos, PixelEditorScreen.SWATCH_PLANE_DEPTH);
        float scale = PlayerPrefs.GetFloat("swatchZoom", 0.16f);

        plane.transform.localScale = new Vector3(scale, scale, 1.0f);
        plane.layer = LayerMask.NameToLayer("Swatch");

        texture            = new Texture2D(1, 1, TextureFormat.ARGB32, false);
        texture.filterMode = FilterMode.Point;

        // Create material
        Material swatchMaterial = (Material)Instantiate(Resources.Load("Materials/UnlitTransparent") as Material);

        swatchMaterial.mainTexture = texture;
        plane.GetComponent <MeshRenderer>().material = swatchMaterial;

        // ---------------------------------------------------------
        // BORDER
        // ---------------------------------------------------------
        borderPlane = _editor.CreatePlane("Border", plane.transform, 0.2f);

        // create border texture
        Texture2D borderTexture = new Texture2D(1, 1, TextureFormat.ARGB32, false);

        borderTexture.filterMode = FilterMode.Point;
        borderTexture.SetPixel(0, 0, PixelEditorScreen.BORDER_COLOR);
        borderTexture.Apply();

        // create border material
        Material borderMaterial = (Material)Instantiate(Resources.Load("Materials/UnlitAlphaWithFade") as Material);

        borderMaterial.mainTexture = borderTexture;
        borderPlane.GetComponent <MeshRenderer>().material = borderMaterial;
        borderPlane.layer = LayerMask.NameToLayer("Swatch");

        float scaleIncrease = 0.15f;

        borderPlane.transform.localScale = new Vector3(1.0f + scaleIncrease, 1.0f + scaleIncrease, 1.0f);

        // ---------------------------------------------------------
        // BACKGROUND
        // ---------------------------------------------------------
        GameObject backgroundPlane = _editor.CreatePlane("Background", plane.transform, BORDER_DEPTH);

        backgroundPlane.transform.localScale = new Vector3(1, 1, 1);

        // create border texture
        Texture2D backgroundTexture = new Texture2D(1, 1, TextureFormat.ARGB32, false);

        backgroundTexture.filterMode = FilterMode.Point;
        byte grey = PixelEditorScreen.CANVAS_CHECKERS_EVEN_SHADE;

        backgroundTexture.SetPixel(0, 0, new Color32(grey, grey, grey, 255));
        backgroundTexture.Apply();

        // create border material
        Material backgroundMaterial = (Material)Instantiate(Resources.Load("Materials/Unlit") as Material);

        backgroundMaterial.mainTexture = backgroundTexture;
        backgroundPlane.GetComponent <MeshRenderer>().material = backgroundMaterial;
    }
Example #3
0
    void CreatePalette()
    {
        _palettePlane = _editor.CreatePlane("PalettePlane", null, PixelEditorScreen.PALETTE_PLANE_DEPTH);

        float aspect = (float)PALETTE_NUM_X / (float)PALETTE_NUM_Y;

        float xPos = PlayerPrefs.GetFloat("palettePosX", -1.1f);
        float yPos = PlayerPrefs.GetFloat("palettePosY", -0.5f);

        _palettePlane.transform.position = new Vector3(xPos, yPos, PixelEditorScreen.PALETTE_PLANE_DEPTH);
        float scale = PlayerPrefs.GetFloat("paletteZoom", 0.16f);

        _palettePlane.transform.localScale = new Vector3(scale, scale / aspect, 1.0f);

        _paletteTexture            = new Texture2D(PALETTE_NUM_X, PALETTE_NUM_Y, TextureFormat.ARGB32, false);
        _paletteTexture.filterMode = FilterMode.Point;

        _paletteColors = new Color32[PALETTE_NUM_X * PALETTE_NUM_Y];

        for (int y = 0; y < PALETTE_NUM_Y; y++)
        {
            for (int x = 0; x < PALETTE_NUM_X; x++)
            {
                int index = (PALETTE_NUM_Y - y - 1) * PALETTE_NUM_X + x;

                string colorString = PlayerPrefs.GetString("PaletteColor" + index.ToString(), "");

                if (colorString != "")
                {
                    string[] vals = colorString.Split(',');
                    if (vals.Length == 3 || vals.Length == 4)
                    {
                        Color32 color;
                        if (vals.Length == 3)
                        {
                            color = new Color32(byte.Parse(vals[0]), byte.Parse(vals[1]), byte.Parse(vals[2]), 255);
                        }
                        else
                        {
                            color = new Color32(byte.Parse(vals[0]), byte.Parse(vals[1]), byte.Parse(vals[2]), byte.Parse(vals[3]));
                        }

                        _paletteColors[index] = color;
                    }
                }
                else
                {
                    _paletteColors[index] = new Color32(0, 0, 0, 0);
                }
            }
        }

        RefreshPaletteTextureColors();

        // Create material
        Material paletteMaterial = (Material)Instantiate(Resources.Load("Materials/UnlitTransparent") as Material);

        paletteMaterial.mainTexture = _paletteTexture;
        _palettePlane.GetComponent <MeshRenderer>().material = paletteMaterial;

        // ---------------------------------------------------------
        // BORDER
        // ---------------------------------------------------------
        _paletteBorderPlane = _editor.CreatePlane("Border", _palettePlane.transform, BORDER_DEPTH);

        // create border texture
        Texture2D borderTexture = new Texture2D(1, 1, TextureFormat.ARGB32, false);

        borderTexture.filterMode = FilterMode.Point;
        borderTexture.SetPixel(0, 0, PixelEditorScreen.BORDER_COLOR);
        borderTexture.Apply();

        // create border material
        Material borderMaterial = (Material)Instantiate(Resources.Load("Materials/UnlitAlphaWithFade") as Material);

        borderMaterial.mainTexture = borderTexture;
        _paletteBorderPlane.GetComponent <MeshRenderer>().material = borderMaterial;

        float xScaleIncrease = 0.15f;
        float yScaleIncrease = xScaleIncrease * aspect;

        _paletteBorderPlane.transform.localScale = new Vector3(1.0f + xScaleIncrease, 1.0f + yScaleIncrease, 1.0f);

        // ---------------------------------------------------------
        // GRID
        // ---------------------------------------------------------
        _paletteGridPlane = _editor.CreatePlane("Grid", _palettePlane.transform, GRID_DEPTH);
        _paletteGridPlane.transform.localScale = new Vector3(1, 1, 1);

        // create border texture
        Texture2D gridTexture = new Texture2D(PALETTE_NUM_X, PALETTE_NUM_Y, TextureFormat.ARGB32, false);

        gridTexture.filterMode = FilterMode.Point;

        for (int y = 0; y < PALETTE_NUM_Y; y++)
        {
            for (int x = 0; x < PALETTE_NUM_X; x++)
            {
                bool yOdd = y % 2 != 0;
                bool xOdd = x % 2 != 0;

                byte grey = (yOdd && xOdd || !yOdd && !xOdd) ? PixelEditorScreen.CANVAS_CHECKERS_EVEN_SHADE : PixelEditorScreen.CANVAS_CHECKERS_ODD_SHADE;

                gridTexture.SetPixel(x, y, new Color32(grey, grey, grey, 255));
            }
        }

        gridTexture.Apply();

        // create border material
        Material gridMaterial = (Material)Instantiate(Resources.Load("Materials/Unlit") as Material);

        gridMaterial.mainTexture = gridTexture;
        _paletteGridPlane.GetComponent <MeshRenderer>().material = gridMaterial;
    }
Example #4
0
    public void CreateFramePlane()
    {
        int        i = GetNumFrames();
        GameObject framePreviewPlane = _editor.CreatePlane("FramePreview: " + i, _frameContainer.transform, 0.0f);

        float aspect              = (float)_editor.GetCanvas().pixelWidth / (float)_editor.GetCanvas().pixelHeight;
        float PREVIEW_SCALE       = 0.1f;
        float xScaleFrameIncrease = 0.16f;
        float yScaleFrameIncrease = xScaleFrameIncrease * aspect;

        framePreviewPlane.transform.localScale = new Vector3(aspect * PREVIEW_SCALE, PREVIEW_SCALE, 1);

        _framePlanes.Add(framePreviewPlane);
        framePreviewPlane.layer = LayerMask.NameToLayer("PreviewFrame");

        Material framePreviewMaterial = (Material)Instantiate(Resources.Load("Materials/UnlitAlphaWithFade") as Material);

        framePreviewPlane.GetComponent <MeshRenderer>().material = framePreviewMaterial;

        // ---------------------------------------------------------
        // BORDER
        // ---------------------------------------------------------
        GameObject borderPlane = _editor.CreatePlane("Frame Border " + i, framePreviewPlane.transform, BORDER_DEPTH);

        _frameBorderPlanes.Add(borderPlane);
        borderPlane.transform.localScale = new Vector3(1.0f + xScaleFrameIncrease, 1.0f + yScaleFrameIncrease, 1.0f);
        borderPlane.layer = LayerMask.NameToLayer("PreviewFrame");

        // create border texture
        Texture2D borderTexture = new Texture2D(1, 1, TextureFormat.ARGB32, false);

        borderTexture.filterMode = FilterMode.Point;
        borderTexture.SetPixel(0, 0, PixelEditorScreen.BORDER_COLOR_NONCURRENT_FRAME);
        borderTexture.Apply();

        // create border material
        Material borderMaterial = (Material)Instantiate(Resources.Load("Materials/UnlitAlphaWithFade") as Material);

        borderMaterial.mainTexture = borderTexture;
        borderPlane.GetComponent <MeshRenderer>().material = borderMaterial;

        // ---------------------------------------------------------
        // GRID
        // ---------------------------------------------------------
        GameObject gridPlane = _editor.CreatePlane("Grid", framePreviewPlane.transform, GRID_DEPTH);

        _frameGridPlanes.Add(gridPlane);
        gridPlane.transform.localScale = new Vector3(1, 1, 1);

        // create border texture
        Texture2D gridTexture = new Texture2D(_editor.GetCanvas().pixelWidth, _editor.GetCanvas().pixelHeight, TextureFormat.ARGB32, false);

        gridTexture.filterMode = FilterMode.Point;

        for (int y = 0; y < _editor.GetCanvas().pixelHeight; y++)
        {
            for (int x = 0; x < _editor.GetCanvas().pixelWidth; x++)
            {
                bool yOdd = y % 2 != 0;
                bool xOdd = x % 2 != 0;

                byte grey = (yOdd && xOdd || !yOdd && !xOdd) ? PixelEditorScreen.CANVAS_CHECKERS_EVEN_SHADE : PixelEditorScreen.CANVAS_CHECKERS_ODD_SHADE;

                gridTexture.SetPixel(x, y, new Color32(grey, grey, grey, 255));
            }
        }

        gridTexture.Apply();

        // create border material
        Material gridMaterial = (Material)Instantiate(Resources.Load("Materials/Unlit") as Material);

        gridMaterial.mainTexture = gridTexture;
        gridPlane.GetComponent <MeshRenderer>().material = gridMaterial;


        framePreviewPlane.renderer.material.mainTexture = CreateFrameTexture();

        _frameTimes.Add(DEFAULT_FRAME_TIME);
        _editor.CurrentFrameTimeString = _frameTimes[_currentFrame].ToString();

        RepositionFramePlanes();
        HighlightCurrentFramePreview();
    }
Example #5
0
    void CreateCanvasPlane()
    {
        _canvasPlane = _editor.CreatePlane("CanvasPlane", null, PixelEditorScreen.CANVAS_PLANE_DEPTH);

        float xPos = PlayerPrefs.GetFloat("canvasPosX", 0.0f);
        float yPos = PlayerPrefs.GetFloat("canvasPosY", 0.0f);

        _canvasPlane.transform.position = new Vector3(xPos, yPos, PixelEditorScreen.CANVAS_PLANE_DEPTH);

        // create material
        Material material = (Material)Instantiate(Resources.Load("Materials/UnlitTransparent") as Material);

        _canvasPlane.GetComponent <MeshRenderer>().material = material;

        // ---------------------------------------------------------
        // BORDER
        // ---------------------------------------------------------
        _canvasBorderPlane = _editor.CreatePlane("Border", _canvasPlane.transform, BORDER_DEPTH);

        // create border texture
        Texture2D borderTexture = new Texture2D(1, 1, TextureFormat.ARGB32, false);

        borderTexture.filterMode = FilterMode.Point;
        borderTexture.SetPixel(0, 0, PixelEditorScreen.BORDER_COLOR);
        borderTexture.Apply();
        // create border material
        Material borderMaterial = (Material)Instantiate(Resources.Load("Materials/UnlitAlphaWithFade") as Material);

        borderMaterial.mainTexture = borderTexture;
        _canvasBorderPlane.GetComponent <MeshRenderer>().material = borderMaterial;

        // ---------------------------------------------------------
        // GRID
        // ---------------------------------------------------------
        _gridPlane = _editor.CreatePlane("Grid", _canvasPlane.transform, GRID_DEPTH);
        // create grid material
        Material gridMaterial = (Material)Instantiate(Resources.Load("Materials/Unlit") as Material);

        _gridPlane.GetComponent <MeshRenderer>().material = gridMaterial;

        // ---------------------------------------------------------
        // ONION SKIN
        // ---------------------------------------------------------
        _onionSkinPlane = _editor.CreatePlane("OnionSkin", _canvasPlane.transform, ONION_SKIN_DEPTH);
        // create onion skin material
        Material onionSkinMaterial = (Material)Instantiate(Resources.Load("Materials/UnlitAlphaWithFade") as Material);

        onionSkinMaterial.color = new Color(1.0f, 1.0f, 1.0f, 0.0f);
        _onionSkinPlane.GetComponent <MeshRenderer>().material = onionSkinMaterial;
        Destroy(_onionSkinPlane.GetComponent <MeshCollider>());

        _onionSkinOpacity = PlayerPrefs.GetFloat("onionSkinOpacity", ONION_SKIN_OPACITY_DEFAULT);

        // ---------------------------------------------------------
        // HITBOX
        // ---------------------------------------------------------
        _hitboxPlane = _editor.CreatePlane("Hitbox", _canvasPlane.transform, HITBOX_DEPTH);
        // create hitbox material
        Material hitboxMaterial = (Material)Instantiate(Resources.Load("Materials/UnlitAlphaWithFade") as Material);

        hitboxMaterial.color = new Color(1.0f, 1.0f, 1.0f, 0.0f);
        _hitboxPlane.GetComponent <MeshRenderer>().material = hitboxMaterial;
        Destroy(_hitboxPlane.GetComponent <MeshCollider>());
    }