Exemplo n.º 1
0
        static Bitmap GetColorLayerOfImage(Bitmap image, ColorLayer whichLayer)
        {
            var layer = new Bitmap(image.Width, image.Height);

            for (int y = 0; y < image.Height; y++)
            {
                for (int x = 0; x < image.Width; x++)
                {
                    var originalPixelColor = image.GetPixel(x, y);

                    var colorScale = 0;

                    switch (whichLayer)
                    {
                    case ColorLayer.Red: colorScale = originalPixelColor.R; break;

                    case ColorLayer.Green: colorScale = originalPixelColor.G; break;

                    case ColorLayer.Blue: colorScale = originalPixelColor.B; break;
                    }

                    colorScale = 255 - colorScale;

                    layer.SetPixel(x, y, Color.FromArgb(colorScale, colorScale, colorScale));

                    //var newR = whichLayer == ColorLayer.Red ?  0 : (255 - originalPixelColor.R);
                    //var newG = whichLayer == ColorLayer.Green ? 0 : (255 - originalPixelColor.G);
                    //var newB = whichLayer == ColorLayer.Blue ? 0 : (255 - originalPixelColor.B);

                    //layer.SetPixel(x, y, Color.FromArgb(newR, newG, newB));
                }
            }

            return(layer);
        }
    IEnumerator FillColorRoutine(ColorLayer layer)
    {
        if (layer != null)
        {
            layer.targetRenderer.enabled = true;


            layer.inlayFinished = true;

            yield return(null);
        }
    }
Exemplo n.º 3
0
    // level complete
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.tag == "Player")
        {
            ColorLayer color = GetComponent <ColorLayer>();

            if (skip_goal)
            {
                AnalyticsEvent.Custom("level_skipped", new Dictionary <string, object>
                {
                    { "build_index", currentLevel.RuntimeValue },
                    { "scene_name", currentScene.name },
                    { "deaths", deaths },
                    { "pallet", color.pallet.name },
                    { "time_to_clear", Time.timeSinceLevelLoad }
                });
            }
            else
            {
                AnalyticsEvent.Custom("goal_reached", new Dictionary <string, object>
                {
                    { "build_index", currentLevel.RuntimeValue },
                    { "scene_name", currentScene.name },
                    { "deaths", deaths },
                    { "pallet", color.pallet.name },
                    { "time_to_clear", Time.timeSinceLevelLoad }
                });
            }
            level.average_cleartime = (level.average_cleartime + Time.timeSinceLevelLoad) / 2;
            level.average_deaths    = (level.average_deaths + deaths) / 2;

            if (currentScene.buildIndex + 1 < SceneManager.sceneCountInBuildSettings)
            {
                SceneManager.LoadScene(playlist.NextLevel(currentLevel.RuntimeValue + 1));
            }
            else
            {
                SceneManager.LoadScene(0);
            }
        }
    }
Exemplo n.º 4
0
 // Use this for initialization
 void Start()
 {
     layer = GetComponent <ColorLayer>();
     text  = GetComponent <TextMeshProUGUI>();
 }