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); }
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); }
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(); }
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); }