public Rect GetTileBoundsWorld (IVector2 coord) { Rect rect = GetTileBoundsLocal (coord); rect.x += transform.position.x; rect.y += transform.position.y; return rect; }
public TileMeshSettings (IVector2 tiles, int tileResolution, float tileSize, MeshMode meshMode, TextureFormat textureFormat) { Tiles = tiles; TileResolution = tileResolution; TileSize = tileSize; MeshMode = meshMode; TextureFormat = textureFormat; }
[UsedImplicitly] private void OnEnable () { _tileMap = (TileMap) target; _tileSheet = _tileMap.TileSheet; TileMeshSettings meshSettings = _tileMap.MeshSettings; if (meshSettings == null) return; _tiles = meshSettings.Tiles; _tileResolution = meshSettings.TileResolution; }
private void SetTile (IVector2 coord, Color32[] colors) { if (MaterialTexture == null) { Debug.LogError("Texture has not been created"); return; } int resolution = base.Settings.TileResolution; coord *= resolution; _texture.SetPixels32 (coord.x, coord.y, resolution, resolution, colors, 0); if (Application.isPlaying) _dirty = true; else _texture.Apply (); }
public Rect GetTileBoundsLocal (IVector2 coord) { float size = _settings.TileSize; return new Rect (coord.x * size, coord.y * size, size, size); }
public abstract void SetTile (IVector2 coord, Sprite sprite);
/// <summary> Multiplies every component of this vector by the same component of scale. </summary> /// <param name="scale"/> public void Scale (IVector2 scale) { x *= scale.x; y *= scale.y; }
/// <summary> Multiplies two vectors component-wise. </summary> /// <param name="a"/><param name="b"/> public static IVector2 Scale (IVector2 a, IVector2 b) { return new IVector2 (a.x * b.x, a.y * b.y); }
public bool Equals (IVector2 other) { if (ReferenceEquals (null, other)) return false; if (ReferenceEquals (this, other)) return true; return other.x == x && other.y == y; }
public TileMeshSettings (IVector2 tiles, int tileResolution, float tileSize, MeshMode meshMode) : this (tiles, tileResolution, tileSize, meshMode, TextureFormat.ARGB32) { }
public TileMeshSettings (IVector2 tiles, int tileResolution, float tileSize) : this (tiles, tileResolution, tileSize, MeshMode.SingleQuad) { }
public TileMeshSettings (IVector2 tiles, int tileResolution) : this (tiles, tileResolution, 1f) { }
public void SetTile (IVector2 coord, Color32 color) { Color32[] colors = Enumerable.Repeat (color, base.Settings.TileResolution * base.Settings.TileResolution).ToArray(); SetTile (coord, colors); }
public override void SetTile (IVector2 coord, Sprite sprite) { Color[] spriteColours = sprite.texture.GetPixels((int)sprite.rect.x, (int)sprite.rect.y, (int)sprite.rect.width, (int)sprite.rect.height); SetTile (coord, Array.ConvertAll(spriteColours, item => (Color32)item)); }