Пример #1
0
    protected override void LoadSprites(string texrureName)
    {
        uvProvider = new LightUvProvider();

        //создаём текстуру
        int size   = Settings.LIGHT_SIZE;
        int size12 = (int)((float)size / 2);

        texture = new Texture2D(size, size, TextureFormat.RGBA32, false);

        for (int x = 0; x <= size; x++)
        {
            for (int y = 0; y <= size; y++)
            {
                texture.SetPixel(x, y, new Color32(0, 0, 0, 0));
            }
        }
        texture.filterMode = FilterMode.Point;
        texture.Apply();
        CreateCircle(new Vector2Int(size12, size12), size12);

        //делаем спрайт
        Sprite sprite = Sprite.Create(texture, new Rect(
                                          0,
                                          0,
                                          size,
                                          size),
                                      new Vector2(0.5f, 0.5f),
                                      1
                                      );

        sprite.name = texrureName;

        ((UvProvider)uvProvider).LoadTiles(sprite);
    }
Пример #2
0
    protected virtual void LoadSprites(string texrureName)
    {
        //создаём текстуру
        int size   = Settings.LIGHT_SIZE;
        int size12 = (int)((float)size / 2);

        Texture2D texture2 = new Texture2D(size, size, TextureFormat.RGBA32, false);

        for (int x = 0; x <= size; x++)
        {
            for (int y = 0; y <= size; y++)
            {
                texture2.SetPixel(x, y, new Color32(255, 255, 255, (byte)x));
            }
        }
        texture2.filterMode = FilterMode.Point;
        texture2.Apply();

        LightUvProvider.LoadTiles(texture2);
    }
Пример #3
0
    void Update()
    {
        if (LightUvProvider != null)
        {
            LightUvProvider.LateUpdate();
        }


        if (tileDataProvider == null)
        {
            return;
        }


        if (Input.GetKeyUp(KeyCode.T))
        {
            LightRenderer.Test();
            LightLayerRender(true);
        }

        if (Input.GetKeyUp(KeyCode.G))
        {
            MapGenerator.ChangeMap();
        }

        if (Input.GetKeyUp(KeyCode.Alpha0))
        {
            carrentMarkerType  = 0;
            carrentMarkerLayer = 0;
        }

        if (Input.GetKeyUp(KeyCode.Alpha8))
        {
            carrentMarkerType  = 8;
            carrentMarkerLayer = 3;
        }

        if (Is_Edit_mod)
        {
            if (Input.GetMouseButton(0))
            {
                countClick++;
                var pos = camera.ScreenToWorldPoint(Input.mousePosition);

                tileDataProvider.СircleDamageTile(pos.x + 1.5f * tileSize, pos.y + 1.5f * tileSize, carrentMarkerType,
                                                  carrentMarkerLayer, carrentMarkeLiquidType, 1);
                lastP1 = new Vector3();

                UpdateScreenTiles();
                // Render();
            }

            if (Input.GetMouseButton(1))
            {
                var pos  = camera.ScreenToWorldPoint(Input.mousePosition);
                var tile = tileDataProvider.GetTileStructure(pos.x + 1.5f * tileSize, pos.y + 1.5f * tileSize);
                // pos.x, pos.y);
                carrentMarkerType      = tile.type;
                carrentMarkerLayer     = tile.layer;
                carrentMarkeLiquidType = tile.liquidType;
            }
        }

        if (Input.GetKeyUp(KeyCode.R))
        {
            tileDataProvider.LoadNext();
            lastP1 = new Vector3();

            UpdateScreenTiles();
            // Render();
        }

        //Profiler.BeginSample("1");
        UpdateScreenTiles();
        //Profiler.EndSample();
        //Profiler.BeginSample("2");
        ApplayScreenUpdate();
        //Profiler.EndSample();
        //Profiler.BeginSample("3");
        Render();
        //Profiler.EndSample();
        //Profiler.BeginSample("4");
        if (useLight)
        {
            ApplayScreenUpdateLight();
        }
        //Profiler.EndSample();


        LightRenderer.Update();
        ScreenUpdateManager.RedrawFullScreenLight();
    }
Пример #4
0
    public Rect GetRect(string tileName, int flameX = 0, int fameY = 0, int deltaHeight = 0)
    {
        var uv = LightUvProvider.GetUV(tileName, flameX, fameY, deltaHeight);

        return(uv.rect);
    }