diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7d94718..b0a3d15 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,16 @@ All notable changes to this package will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
+## [1.6.3-preview] - 2020-11-26
+### Changed
+- Update documentation
+- Add contribution notice in README.md
+- Update Third Party Notices.md
+- [PrefabBush] Add pick
+- [PrefabBush] Add tooltip for "Erase Any Objects" field
+- [PrefabBrush][GameObjectBrush] Account for Anchor when using GetObjectsInCell in PrefabBrush and GameObjectBrush
+- [CustomRuleTileScript] Allow Custom Rule Tile template script to be created regardless of where template script is installed (from a package or in the project)
+
## [1.6.2-preview] - 2020-09-25
### Changed
- [RuleTile/RuleOverrideTile/AdvancedRuleOverrideTile] Renamed Game Object to GameObject
diff --git a/Documentation~/AdvancedRuleOverrideTile.md b/Documentation~/AdvancedRuleOverrideTile.md
new file mode 100644
index 0000000..d33e1e5
--- /dev/null
+++ b/Documentation~/AdvancedRuleOverrideTile.md
@@ -0,0 +1,25 @@
+# Advanced Rule Override Tile
+
+__Contributions by:__ [johnsoncodehk](https://github.com/johnsoncodehk), [Autofire](https://github.com/Autofire)
+
+__Advanced Rule Override Tiles__ are Tiles which can override a subset of Rules for a given [Rule Tile](RuleTile.md) while maintaining most of the other set Rules of the Rule Tile. This allows you to create Tiles that provide specialized behavior in specific scenarios.
+
+## Properties
+
+| Property | Function |
+| ----------------- | ------------------------------------------------------------ |
+| __Tile__ | The Rule Tile to override. |
+
+Depending on the Rule Tile that is overridden, there may be further properties which you can override here. Any public property in the Rule Tile that does not have a `RuleTile.DontOverride` attribute will be shown here and can be overridden.
+
+## Usage
+
+First select the Rule Tile to be overridden in the __Tile__ property. The Rule Override Tile editor then displays the different rules in the selected Rule Tile which you can override.
+
+Select the Rule which you want to override by toggling the Rule. This will allow you to modify the output of the Rule, such as the Sprite, the GameObject or the Collider Type. The outputs are the same as the original [Rule Tile](RuleTile.md) and are detailed there. The matching Rule itself cannot be changed here and is displayed here to help identify it.
+
+![Advanced Rule Override Tile Editor](images/AdvancedRuleOverrideTileEditor.png)
+
+Paint with the Advanced Rule Override Tile using the [Tile Palette](https://docs.unity3d.com/Manual/Tilemap-Painting.html) tools.
+
+![Scene View with Advanced Rule Override Tile](images/AdvancedRuleOverrideTile.png)
\ No newline at end of file
diff --git a/Documentation~/AnimatedTile.md b/Documentation~/AnimatedTile.md
index d29a1db..e5eec9a 100644
--- a/Documentation~/AnimatedTile.md
+++ b/Documentation~/AnimatedTile.md
@@ -1,27 +1,25 @@
# Animated Tile
-__Contribution by:__ [MahdiMahzuni](https://github.com/MahdiMahzuni)
+__Contribution by:__ MahdiMahzuni
-Animated Tiles are tiles which run through and display a list of sprites in sequence.
+An Animated Tile runs through and displays a list of Sprites in sequence to create a frame-by-frame animation.
+
+![](images/AnimatedTileEditor.png)
Animated Tile editor window
### Properties
| Property | Function |
| ------------------------------ | ------------------------------------------------------------ |
| __Number of Animated Sprites__ | Number of Animated Sprites in the Animated Tile. |
-| __Sprite__ | The Sprite set for the Animated Tile. This will be played in sequence. |
-| __Minimum Speed__ | The minimum possible speed at which the Animation of the Tile will be played. A speed value will be randomly chosen between the minimum and maximum speed. |
-| __Maximum Speed__ | The maximum possible speed at which the Animation of the Tile will be played. A speed value will be randomly chosen between the minimum and maximum speed. |
+| __Sprite list__ | The list displaying the current order of Sprites for this Animated Tile’s animation which plays in sequence. Set a Sprite by selecting the **Select** button at the bottom right of the Sprite preview, then choosing the Sprite from the dialog box. Select and hold the **=** next to each Sprite to reorder their place in the animation sequence. |
+| __Minimum Speed__ | The minimum possible speed at which the Animation of the Tile is played. A speed value will be randomly chosen between the minimum and maximum speed. |
+| __Maximum Speed__ | The maximum possible speed at which the Animation of the Tile is played. A speed value will be randomly chosen between the minimum and maximum speed. |
| __Start Time__ | The starting time of this Animated Tile. This allows you to start the Animation from a particular time. |
| __Start Frame__ | The starting frame of this Animated Tile. This allows you to start the Animation from a particular Sprite in the list of Animated Sprites. |
-| __Collider Type__ | The Collider Shape generated by the Tile. |
+| __Collider Type__ | The [Collider](https://docs.unity3d.com/Manual/Collider2D.html) shape generated by the Tile. |
### Usage
-Set up the Animated Tile with the Animated Sprites through the Animated Tile Editor.
-
-![Animated Tile Editor](images/AnimatedTileEditor.png)
-
-Paint the Animated Tile using the Tile Palette tools.
+Create the Animated Tile by selecting and ordering the Sprites that makes up its animation sequence in the Animated Tile editor, then paint the Animated Tile with the [Tile Palette tools](https://docs.unity3d.com/Manual/Tilemap-Painting.html).
-![Game View with Group Brush](images/AnimatedTile.png)
\ No newline at end of file
+![](images/AnimatedTile.png)
Game view, painted with the [Group Brush](GroupBrush.md).
\ No newline at end of file
diff --git a/Documentation~/Brushes.md b/Documentation~/Brushes.md
index 890a3e8..b4da80d 100644
--- a/Documentation~/Brushes.md
+++ b/Documentation~/Brushes.md
@@ -2,7 +2,7 @@
You can script Brushes to paint items based on the position and conditions of the cell it targets on the Grid Layout. Brush paint behavior can be further modified by the selected editing Tool, such as __Erase__ or __Floodfill__.
-Here are some implementations of __Scriptables Brushes__ which can help save time when designing your Tilemap:
+Here are some implementations of **Scriptable Brushes** which can help save time when designing your Tilemap:
- [GameObject Brush](GameObjectBrush.md)
- [Random Brush](RandomBrush.md)
diff --git a/Documentation~/Contributors.md b/Documentation~/Contributors.md
index d522380..5986481 100644
--- a/Documentation~/Contributors.md
+++ b/Documentation~/Contributors.md
@@ -9,7 +9,7 @@ Thank you to all who have contributed to this repository!
- [janissimsons](https://github.com/janissimsons)
- [distantcam](https://github.com/distantcam)
- [Pepperized](https://github.com/Pepperized)
-- [MahdiMahzuni](https://github.com/MahdiMahzuni)
+- MahdiMahzuni
- [DreadBoy](https://github.com/DreadBoy)
- [DoctorShinobi](https://github.com/DoctorShinobi)
- [CraigGraff](https://github.com/CraigGraff)
diff --git a/Documentation~/CustomRulesForRuleTile.md b/Documentation~/CustomRulesForRuleTile.md
index 4ab59d9..948caf9 100644
--- a/Documentation~/CustomRulesForRuleTile.md
+++ b/Documentation~/CustomRulesForRuleTile.md
@@ -2,13 +2,13 @@
__Contribution by:__ [johnsoncodehk](https://github.com/johnsoncodehk)
-This template script is for creating new custom [Rule Tiles](RuleTile.md) with different matching options that differ from the [default options](RuleTile.md#Usage) of ‘Don't Care’, ‘This’ and ‘Not This’. Create clickable options for each Rule in your custom __Rule Tile__.
+Use this template script to create new custom [Rule Tiles](RuleTile.md) with matching options that differ from the Rule Tile’s [default options](RuleTile.md#Usage) (namely **This** and **Not This**). This creates selectable options for each Rule in your custom __Rule Tile__.
## Template features
-- Inheritable RuleTile.
+- Inheritable Rule Tile.
- Customizable properties.
-- Expand or rewrite both neighbor Rules and the GUI display.
+- Expand or rewrite both neighbor Rules and the GUI display of the Rules.
- Usable with by [RuleOverrideTile](RuleOverrideTile.md)
- Create from a template script.
- Neighbor Rules tooltips.
diff --git a/Documentation~/GameObjectBrush.md b/Documentation~/GameObjectBrush.md
index 464d1ce..53333a7 100644
--- a/Documentation~/GameObjectBrush.md
+++ b/Documentation~/GameObjectBrush.md
@@ -14,8 +14,8 @@ When painting with the GameObject Brush, the Brush will instantiate GameObjects
The GameObjectBrush inherits from the GridBrush and overrides several methods when implemented. The following methods are overridden:
-- It overrides the Paint method to paint a GameObject.
-- It overrides the Erase method to erase the GameObjects from the Scene.
-- It overrides the BoxFill method to paint a GameObject in each cell defined by the [Box Tool](https://docs.unity3d.com/Manual/Tilemap-Painting.html#Rec).
-- It overrides the Move methods to move GameObjects in the Scene.
-- It overrides the Flip methods to flip GameObjects in the picked selection.
\ No newline at end of file
+- It overrides the `Paint` method to paint a GameObject.
+- It overrides the `Erase` method to erase the GameObjects from the Scene.
+- It overrides the `BoxFill` method to paint a GameObject in each cell defined by the [Box Tool](https://docs.unity3d.com/Manual/Tilemap-Painting.html#Rec).
+- It overrides the `Move` methods to move GameObjects in the Scene.
+- It overrides the `Flip` methods to flip GameObjects in the picked selection.
\ No newline at end of file
diff --git a/Documentation~/GridInformation.md b/Documentation~/GridInformation.md
index 86f2e39..747de09 100644
--- a/Documentation~/GridInformation.md
+++ b/Documentation~/GridInformation.md
@@ -1,6 +1,6 @@
# Grid Information
-This is a simple Component that stores and provides information based on Grid positions and keywords.
+This is a simple component that stores and provides information based on Grid positions and keywords.
## Usage
@@ -22,7 +22,7 @@ public bool SetPositionProperty(Vector3Int position, String name, Color position
-To get information from the Grid Information component, use the following APIs:
+To retrieve information from the Grid Information component, use the following APIs:
```C#
public T GetPositionProperty(Vector3Int position, String name, T defaultValue) where T : UnityEngine.Object
diff --git a/Documentation~/GroupBrush.md b/Documentation~/GroupBrush.md
index d4f373a..9c2c925 100644
--- a/Documentation~/GroupBrush.md
+++ b/Documentation~/GroupBrush.md
@@ -1,13 +1,13 @@
# Group Brush
-Use this Brush to pick Tiles which are grouped together by position. Set the __Gap__ value to identify which Tiles to a Group, and set the __Limit__ value to ensure that the picked group remains within the desired size. Use this Brush as an example to create Brushes that have the ability to choose and pick specific Tiles
+This Brush picks Tiles which are grouped together according to their position and its set properties. Set the __Gap__ value to identify which Tiles belong to the group, and set the __Limit__ value to ensure that the picked group remains within the desired size. Use this Brush as an example to create your own Brushes that can choose and pick specific Tiles
## Properties
| Property | Function |
| --------- | ------------------------------------------------------------ |
-| __Gap__ | The gap in cell count before stopping to consider a Tile in a Group |
-| __Limit__ | The count in cells beyond the initial position before stopping to consider a Tile in a Group |
+| __Gap__ | This value represents the minimum number of cells that must be in between picked Tiles. Only Tiles that are at least this many cells apart are picked by the Brush and placed in the group. Set this value to 0 to pick up all Tiles that are directly adjacent to each other in the group. |
+| __Limit__ | This value represents the maximum number of cells around the initial picked position. Only Tiles within this range of cells are picked by the Brush and placed in the group. |
## Usage
@@ -17,4 +17,4 @@ Select the Group Brush, and use the [Picker Tool](https://docs.unity3d.com/Manua
## Implementation
-The Group Brush inherits from the Grid Brush. It overrides the Pick method when picking a group of Tiles based on their position and its set properties.
\ No newline at end of file
+The Group Brush inherits from the Grid Brush. It overrides the `Pick` method when picking a group of Tiles based on their position and its set properties.
\ No newline at end of file
diff --git a/Documentation~/LineBrush.md b/Documentation~/LineBrush.md
index a0b4019..067f14e 100644
--- a/Documentation~/LineBrush.md
+++ b/Documentation~/LineBrush.md
@@ -2,20 +2,20 @@
__Contribution by :__ [CraigGraff](https://github.com/CraigGraff)
-This Brush draws a line of Tiles onto a Tilemap. With this Brush selected, click once to set the starting point of the line and click again to set the ending point of the line. This Brush then draws a line of Tiles between the two points.
+This Brush draws a line of Tiles onto a Tilemap. With this Brush selected, click once to set the starting point of the line and click again at another position to set the ending point of the line. This Brush then draws a line of Tiles between the two points.
-Use this as an example to modify Brush painting behavior to make painting more efficient.
+Use this as an example to create custom Brush behavior to make painting more efficient.
## Properties
| Property | Function |
| --------------------- | ------------------------------------------------------------ |
| __Line Start Active__ | Indicates whether the Line Brush has started drawing a line. |
-| __Fill Gaps__ | Ensures that there are orthogonal connections of Tiles from the start of the line to the end. |
+| __Fill Gaps__ | Ensures that there are orthogonal connections between all Tiles that connect the start and end of the line. |
| __Line Start__ | The current starting point of the line. |
## Usage
-Select the Line Brush, then click once on the Tilemap to set the starting point of the line, then click a second time to set the ending point of the line. The Brush then draws the line of Tiles between the two set points. When the Line Brush is active, a blue outline will indicate the starting point of the line.
+Select the Line Brush, then click once on a cell of the Tilemap to set the starting point of the line, then click on a second cell to set the ending point of the line. The Brush then draws the line of Tiles between the two set points. When the Line Brush is active, a blue outline will indicate the starting point of the line.
![Scene View with Line Brush](images/LineBrush.png)
@@ -25,4 +25,4 @@ To have Tiles which are orthogonally connected from start to end, enable the __F
## Implementation
-The Line Brush inherits from the Grid Brush and overrides the Paint method to implement the line painting functionality.
\ No newline at end of file
+The Line Brush inherits from the Grid Brush and overrides the `Paint` method to implement the line painting functionality.
\ No newline at end of file
diff --git a/Documentation~/RandomBrush.md b/Documentation~/RandomBrush.md
index 0985456..4ada198 100644
--- a/Documentation~/RandomBrush.md
+++ b/Documentation~/RandomBrush.md
@@ -1,6 +1,6 @@
# Random Brush
-This Brush places random Tiles onto a Tilemap. Use this as an example to create Brushes which store specific data per Brush, and to make Brushes which randomize behavior.
+This Brush places random Tiles onto a Tilemap by selecting from defined **Tile Sets** while painting onto the the Tilemap. Use this as an example to create custom Brushes which store specific data per Brush, and to make Brushes with randomized painting behavior.
## Properties
@@ -8,26 +8,26 @@ This Brush places random Tiles onto a Tilemap. Use this as an example to create
| ----------------------- | ------------------------------------------------------------ |
| __Pick Random Tiles__ | Enable this property to pick the Tiles from the current selection as a random Tile Set. |
| __Add To Random Tiles__ | Enable this property to add the picked Tile Sets to existing Tile Sets instead of replacing them. |
-| __Tile Set Size__ | The size of each Tile Set. |
+| __Tile Set Size__ | Set the size of the Tile Set that is painted by this Brush. |
| __Number of Tiles__ | The number of Tile Sets. |
| __Tile Set__ | The Tile Set to randomize from |
| __Tiles__ | The Tiles in the Tile Set. |
## Usage
-To create Tile Sets, first define the size of the Tile Set you want to paint by setting a value on the Tile Set Size property. Then you can add Tile Sets manually with the Brush Editor or select them from an existing Tile Palette.
+To create a **Tile Set**, first define the size of the Tile Set you want to paint by setting its size values in the **Tile Set Size** property. Then you can add Tile Sets manually with the Brush Editor or select them from an existing Tile Palette.
-To select Tile Sets from an existing Tile Palette, enable the __Pick Random Tiles__ property and select the Tile Sets using the [Picker Tool](https://docs.unity3d.com/Manual/Tilemap-Painting.html#Picker). This will create a Tile Set, or multiple Sets if the picked size is larger than the Tile Set Size property. Enable the __Add To Random Tiles__ property to add a picked selection of Tiles onto new or existing Tile Sets instead of replacing them.
+To select Tile Sets from an existing [Tile Palette](https://docs.unity3d.com/Manual/Tilemap-Palette.html), enable the __Pick Random Tiles__ property and select the Tile Sets using the [Picker Tool](https://docs.unity3d.com/Manual/Tilemap-Painting.html#Picker). This will create a Tile Set, or multiple Sets if the picked size is larger than the size set in the **Tile Set Size** property. Enable the __Add To Random Tiles__ property to add a picked selection of Tiles onto new or existing Tile Sets instead of replacing them.
-![Brush Editor with Random Brush](images/RandomBrushTileSet.png)
+![Brush Editor with Random Brush](images/RandomBrushTileSet.png) In this example, 3 Tile Sets of 1x2 are created.
-When painting with the Random Brush, the Random Brush will randomly pick from the available Tile Sets while filling Tiles.
+When painting with the Random Brush, the Random Brush will randomly pick from the available Tile Sets while painting the Tiles.
![Scene View with Random Brush](images/RandomBrush.png)
## Implementation
-The RandomBrush inherits from the GridBrush and implements the following overrides:
+The Random Brush inherits from the Grid Brush and implements the following overrides:
- It overrides the Paint method to paint random selections of Tiles from chosen Tile Sets.
- It overrides the Pick method to be able to pick selections of Tiles for the random Tile Sets.
diff --git a/Documentation~/RuleOverrideTile.md b/Documentation~/RuleOverrideTile.md
index e46a8e9..cc11eb8 100644
--- a/Documentation~/RuleOverrideTile.md
+++ b/Documentation~/RuleOverrideTile.md
@@ -2,27 +2,29 @@
__Contributions by:__ [johnsoncodehk](https://github.com/johnsoncodehk), [Autofire](https://github.com/Autofire)
-__Rule Override Tiles__ are Tiles which can override a subset of Rules for a given [Rule Tile](RuleTile.md) while keeping most of the others Rules originally set in the Rule Tile. This allows you to create Tiles that provide specialised behavior.
+__Rule Override Tiles__ are Tiles which can override the Sprites and GameObjects for a given [Rule Tile](RuleTile.md) while maintaining the Rule set of the Rule Tile. This allows you to create Tiles that provide variations of a Rule Tile without setting new Rules.
## Properties
| Property | Function |
| ----------------- | ------------------------------------------------------------ |
| __Tile__ | The Rule Tile to override. |
-| __Override Self__ | Enable this so that this Tile only accepts instances of itself when matching Rules. |
-| __Advanced__ | Enable Advanced Mode. Enable this if you want to specify which Rules to override. |
+
+Depending on the Rule Tile that is overridden, there may be further properties which you can override here. Any public property in the Rule Tile that does not have a `RuleTile.DontOverride` attribute will be shown here and can be overridden.
## Usage
-First select the Rule Tile that the Rule Override Tile overrides by selecting it in the __Tile__ property. The Rule Override Tile editor then displays the different rules in the Rule Tile which you can override.
+First select the Rule Tile to be overridden in the __Tile__ property. The Editor then displays the different Sprites and GameObjects in the selected Rule Tile which you can override.
+
+The editor displays the original Sprites that are used in the Rule Tile in the left column. Select the Sprites that override each of the respective original Sprites on the right ‘Override’ column. When the Rule Tile has a match that would usually output the original Sprite, it will instead output the override Sprite.
-In normal mode, the editor displays all the Sprites that are used in the Rule Tile on the left. Select the override Sprites by selecting them on the right of the respective original Sprites. When the Rule Tile has a match outputting the Sprite on the left, it will instead output the Sprite specified on the right.
+Below that, the editor displays the original GameObjects that are used in the Rule Tile in the left column. Select the GameObjects that override each of the respective original GameObjects on the right ‘Override’ column. When the Rule Tile has a match that would usually output the original GameObject, it will instead output the override GameObject.
![Rule Override Tile Editor](images/RuleOverrideTileEditor.png)
-In __Advanced__ mode, the editor displays all the Rules that are used in the Rule Tile on the left. To override a Rule, select the Enabled box and override the output by specifing the desired output instead.
+If you have modified the original Rule Tile and changed the Sprites there, the Rule Override Tile will note that the original Sprites are missing. You can check the original Rule Tile to see if it is set up correctly or set the Override Sprites to None to remove the override.
-![Rule Override Tile Editor in Advanced mode](images/RuleOverrideTileEditorAdvanced.png)
+![Rule Override Tile Editor with Missing Original Sprites](images/RuleOverrideTileEditorMissing.png)
Paint with the Rule Override Tile using the [Tile Palette](https://docs.unity3d.com/Manual/Tilemap-Painting.html) tools.
diff --git a/Documentation~/RuleTile.md b/Documentation~/RuleTile.md
index 81c357e..9f10b67 100644
--- a/Documentation~/RuleTile.md
+++ b/Documentation~/RuleTile.md
@@ -2,10 +2,12 @@
__Contributions by:__ [johnsoncodehk](https://github.com/johnsoncodehk), [DreadBoy](https://github.com/DreadBoy), [AVChemodanov](https://github.com/AVChemodanov), [DoctorShinobi](https://github.com/DoctorShinobi)
-This is a generic visual Tile that other Tiles such as Terrain Tiles, Pipeline Tile, Random Tile or [Animated Tiles](AnimatedTile.md) are based on. The Rule Tile is for the Rectangle Grid type, the Hexagonal Rule Tile is for the Hexagonal Grid type, and the Isometric Rule Tile is for the Isometric Grid types. All the different types of Rule Tiles possess the same properties.
+This is a generic visual Tile that other Tiles such as the [Terrain Tiles](TerrainTile.md), [Pipeline Tile](PipelineTile.md), [Random Tile](RandomTile.md) or [Animated Tiles](AnimatedTile.md) are based on. There are specific types of Rule Tiles for each of the [Tilemap grid types](https://docs.unity3d.com/Manual/class-Grid.html). The default Rule Tile is for the default [Rectangle Grid](https://docs.unity3d.com/Manual/Tilemap-CreatingTilemaps.html) type; the Hexagonal Rule Tile is for the [Hexagonal Grid](https://docs.unity3d.com/Manual/Tilemap-Hexagonal.html) type; and the Isometric Rule Tile is for the [Isometric Grid](https://docs.unity3d.com/Manual/Tilemap-Isometric.html) types. The different types of Rule Tiles all possess the same properties.
## Properties
+![](images/RuleTileEditor.png)
The Rule Tile editor of a Terrain Tile.
+
| Property | Function |
| ----------------------- | ------------------------------------------------------- |
| __Default Sprite__ | The default Sprite set when creating a new Rule. |
@@ -14,24 +16,26 @@ This is a generic visual Tile that other Tiles such as Terrain Tiles, Pipeline T
### Tiling Rules
-| Property | Function |
-| --------------- | --------------------------------------------------- |
-| __Rule__ | The Rule Type for this Rule. |
-| __Game Object__ | The GameObject for the Tile which fits this Rule. |
-| __Collider__ | The Collider Type for the Tile which fits this Rule |
-| __Output__ | The Output for the Tile which fits this Rule. |
+![](images/RuleTileRule.png)
Tiling Rules properties
+
+| Property | Function |
+| -------------- | ------------------------------------------------------------ |
+| __Rule__ | The Rule Type for this Rule. |
+| __GameObject__ | The GameObject for the Tile which fits this Rule. |
+| __Collider__ | The Collider Type for the Tile which fits this Rule |
+| __Output__ | The Output for the Tile which fits this Rule. Each Output type has its own properties. |
### Output: Fixed
-| Property | Function |
-| ---------- | --------------------------------------------- |
-| __Sprite__ | The Sprite for the Tile which fits this Rule. |
+| Property | Function |
+| ---------- | -------------------------------------------------- |
+| __Sprite__ | Display this Sprite for Tiles which fit this Rule. |
### Output: Random
| Property | Function |
| ----------- | ------------------------------------------------------------ |
-| __Noise__ | The Perlin Noise factor when placing the Tile. |
+| __Noise__ | The [Perlin noise](https://en.wikipedia.org/wiki/Perlin_noise) factor when placing the Tile. |
| __Shuffle__ | The randomized transform given to the Tile when placing it. |
| __Size__ | The number of Sprites to randomize from. |
| __Sprite__ | The Sprite for the Tile which fits this Rule. A random Sprite will be chosen out of this when placing the Tile. |
@@ -50,18 +54,17 @@ This is a generic visual Tile that other Tiles such as Terrain Tiles, Pipeline T
| ----------------------- | ------------------------------------------------------- |
| __Extend Neighbor__ | Enabling this allows you to increase the range of neighbors beyond the 3x3 box. |
+## Setting up a Rule Tile
-## Usage
-
-Set up the Rule Tile with the required rules with the __Rule Tile editor__. In the Rule Tile editor, you can change, add or remove Rules in the Tiling Rules list. Click on the + or - buttons to add or remove Rules. Select and hold the top left corner of each row to drag them up or down to change the order of the Rules in the list.
+Set up the Rule Tile with the required rules with the __Rule Tile editor__. In the Rule Tile editor, you can change, add or remove Rules in the **Tiling Rules** list. Click on the + or - buttons to add or remove Rules. Select and hold the top left corner of each row to drag them up or down to change the order of the Rules in the list.
-![Rule Tile Editor](images/RuleTileEditor.png)
+![](images/RuleTileEditor.png)
Rule Tile Editor
-When you add a new Rule, the Rule editor displays the following: the list of Rule properties, a 3x3 box that visualizes the Rules set, and a Sprite selector.
+When you add a new Rule, the Rule editor displays the following: the list of Rule properties, a 3x3 box that visualizes the behavior of the set Rules, and a Sprite selector that displays a preview of the selected Sprite.
-![Rule Editor](images/RuleTileRule.png)
+![](images/RuleTileRule.png)
-Edit the 3x3 box to set up the Rule the Tile must match. The 3x3 box represents the neighbors a Tile can have, where the center represents the Tile itself, and the eight bordering cells are the neighboring Tiles in those positions relative to the Tile. Each of the neighboring cells can be set with one of three options: Don't Care, This and Not This. These define the behavior of the Rule Tile towards these Tiles.
+The 3x3 box represents the neighbors a Tile can have, where the center represents the Tile itself, and the eight bordering cells are its neighboring Tiles in their relative positions to the Tile. Each of the neighboring cells can be set with one of three options: **Don't Care**, **This** and **Not This**. These define the behavior of the Rule Tile towards these Tiles. Edit the 3x3 box to set up the Rule the Tile must match.
| Options | Rule Tile behavior |
| -------------- | ------------------------------------------------------------ |
@@ -71,11 +74,11 @@ Edit the 3x3 box to set up the Rule the Tile must match. The 3x3 box represents
If all of the neighbors of the Rule Tile match the options set for their respective directions, then the Rule is considered matched and the rest of the Rule properties are applied.
-When the Rule is set to Fixed, the Rule will only match exactly the conditions set for its neighbours. The example below will only match if there are
+When the Rule is set to Fixed, the Rule will only match exactly the conditions set for its neighbors. The example below will only match if there are the same Rule Tiles to the left and right of it.
![Rule Tile with Fixed Rule](images/RuleTileRuleFixed.png)
-When the Rule is set to Rotated, the 3x3 box will be rotated 90 degrees each time the Rule fails to match and it will try to match again with this rotated 3x3 box. If the Rule now matches, the contents of this Rule will be applied as well as the rotation required to match the Rule. Use this if you want the Rule to match for the four 90 degree rotations if rotation is possible.
+When the Rule is set to ‘Rotated’, the 3x3 box will be rotated 90 degrees each time the Rule fails to match and it will try to match again with this rotated 3x3 box. If the Rule now matches, the contents of this Rule will be applied as well as the rotation required to match the Rule. Use this if you want the Rule to match for the four 90 degree rotations if rotation is possible.
![Rule Tile with Rotated Rule](images/RuleTileRuleRotated.png)
@@ -95,7 +98,7 @@ When Extend Neighbors is enabled, the 3x3 box can be extended to allow fo
![Rule Tile with Animation Output](images/RuleTileRuleExtendNeighbor.png)
-Paint the Rule Tile using the Tile Palette tools.
+Paint with the Rule Tile in the same way as other Tiles by using the Tile Palette tools.
![Scene View with Rule Tile](images/RuleTile.png)
diff --git a/Documentation~/Tiles.md b/Documentation~/Tiles.md
index 1c9ade8..fe81890 100644
--- a/Documentation~/Tiles.md
+++ b/Documentation~/Tiles.md
@@ -1,12 +1,11 @@
# Scriptable Tiles
-You can script Tiles to adapt to different criteria and conditions, such as its position on the Tilemap. It then displays the Sprite which meets its scripted requirements.
+You can script Tiles to adapt to different criteria and conditions, such as its position on the Tilemap. It then displays the Sprite which meets its scripted requirements. This allows you to create different Tiles that can help you save time and be more efficient when creating Tilemaps. Refer to the [Scriptable Tiles](https://docs.unity3d.com/Manual/Tilemap-ScriptableTiles.html) page for more information.
-The following are some implementations and examples of __Scriptables Tiles__ which can help save time when designing a [Tilemap](https://docs.unity3d.com/Manual/class-Tilemap.html):
+The following **Scriptable Tiles** are included in this package, with examples of how they are implemented. You can use these Tiles as the base for your own custom Tiles as well.
- [Animated Tile](AnimatedTile.md)
- [Rule Tile](RuleTile.md)
- [Rule Override Tile](RuleOverrideTile.md)
-Refer to the [Scriptable Tiles](https://docs.unity3d.com/Manual/Tilemap-ScriptableTiles.html) documentation page for more information on creating your own Scriptable Tiles.
\ No newline at end of file
diff --git a/Documentation~/images/AdvancedRuleOverrideTile.png b/Documentation~/images/AdvancedRuleOverrideTile.png
new file mode 100644
index 0000000..bfbc158
Binary files /dev/null and b/Documentation~/images/AdvancedRuleOverrideTile.png differ
diff --git a/Documentation~/images/AdvancedRuleOverrideTileEditor.png b/Documentation~/images/AdvancedRuleOverrideTileEditor.png
new file mode 100644
index 0000000..4e9d1e5
Binary files /dev/null and b/Documentation~/images/AdvancedRuleOverrideTileEditor.png differ
diff --git a/Documentation~/images/RuleOverrideTile.png b/Documentation~/images/RuleOverrideTile.png
index 158e607..19bffd7 100644
Binary files a/Documentation~/images/RuleOverrideTile.png and b/Documentation~/images/RuleOverrideTile.png differ
diff --git a/Documentation~/images/RuleOverrideTileEditor.png b/Documentation~/images/RuleOverrideTileEditor.png
index 9b0876a..7f53aaf 100644
Binary files a/Documentation~/images/RuleOverrideTileEditor.png and b/Documentation~/images/RuleOverrideTileEditor.png differ
diff --git a/Documentation~/images/RuleOverrideTileEditorMissing.png b/Documentation~/images/RuleOverrideTileEditorMissing.png
new file mode 100644
index 0000000..1265c9c
Binary files /dev/null and b/Documentation~/images/RuleOverrideTileEditorMissing.png differ
diff --git a/Documentation~/index.md b/Documentation~/index.md
index cf18a48..b5b3c88 100644
--- a/Documentation~/index.md
+++ b/Documentation~/index.md
@@ -1,16 +1,14 @@
# 2D Tilemap Extras
-The 2D Tilemap Extras package contains reusable 2D and __Tilemap Editor__ scripts which you can use for your own Projects. You can freely customize the behavior of the scripts to create new Brushes that suit different scenarios.
-
-To find the additional Brushes, open the Tile Palette window (menu: __Window > 2D > Tile Palette__) and open the Brush drop-down menu near the bottom of the editor. Select from the available Brush options for different effects.
+The 2D Tilemap Extras package contains reusable 2D and Tilemap editor scripts which you can use for your own Projects, and as the basis for your own custom Brushes and Tiles. You can freely customize the behavior of the scripts to create new Brushes that suit different uses or scenarios. To find these additional Brushes, open the Tile Palette window (menu: __Window > 2D > Tile Palette__) and open the Brush drop-down menu near the bottom of the editor. Select from the available Brush options for different effects.
![](images/BrushDropdown.png)
The source code for these scripts can be found in the repository [2d-extras](https://github.com/Unity-Technologies/2d-extras "2d-extras: Extras for 2d features"), and examples of the implemented scripts can be found in the sister repository [2d-techdemos](https://github.com/Unity-Technologies/2d-techdemos "2d-techdemos: Examples for 2d features").
-## Brushes
+## Scriptable Brushes
-- [GameObject](GameObjectBrush.md): This Brush instances, places and manipulates GameObjects onto the Scene. Use this as an example to create Brushes which targets GameObjects other than Tiles for instancing and manipulation.
+- [GameObject](GameObjectBrush.md): This Brush instances, places and manipulates GameObjects onto the Scene. Use this as an example to create Brushes which targets GameObjects, other than Tiles, for instancing and manipulation.
- [Group](GroupBrush.md): This Brush picks groups of Tiles based on their positions relative to each other. Adjust the size of groups the Brush picks by setting the Gap and Limit properties. Use this Brush as an example to create Brushes that pick Tiles based on specific criteria.
@@ -18,15 +16,16 @@ The source code for these scripts can be found in the repository [2d-extras](htt
- [Random](RandomBrush.md): This Brush places random Tiles onto a Tilemap. Use this as an example to create Brushes which store specific data per Brush and to make Brushes which randomize behavior.
-## Tiles
+## Scriptable Tiles
-You can create (menu: __Create > Tiles__ ) the following additional Tile types that are included with this package.
+The following are the [Scriptable Tiles](Tiles.md) included in this package. You can create (menu: __Create > Tiles__ ) the following additional Tile types that are included with this package.
- [Animated](AnimatedTile.md): This Tile runs through and displays a list of Sprites in sequence to create a frame-by-frame animation.
-- [Rule Tile](RuleTile.md): This is a generic visual Tile that accepts rules you create with the __Tiling Rules__ to create different Tilesets. Rule Tiles are the basis of the Terrain, Pipeline, Random or Animated Tiles. This is the default Rule Tile and is only used with the Rectangle Grid type Tilemap. Use the Hexagonal and Isometric Rule Tiles instead for their respective Grid types.
-- __Hexagonal Rule Tile__: A Rule Tile for [Hexagonal Grids](https://docs.unity3d.com/2018.3/Documentation/Manual/Tilemap-Hexagonal.html). Enable the ‘Flat Top’ property for a Flat Top Hexagonal Grid, or clear it for a Pointed Top Hexagonal Grid.
-- __Isometric Rule Tile__: A Rule Tile for use with [Isometric Grids](https://docs.unity3d.com/2018.3/Documentation/Manual/Tilemap-Isometric-CreateIso.html).
-- [Rule Override Tile](RuleOverrideTile.md): This Tile can override a subset of Rules for a given [Rule Tile](RuleTile.md) to provide specialized behavior, while keeping the rest of the original Rules intact.
+- [Rule Tile](RuleTile.md): This is a generic visual Tile that accepts rules you create with the __Tiling Rules__ editor to create different Tilesets. Rule Tiles are the basis of the Terrain, Pipeline, Random or Animated Tiles. There are different types of Rule Tiles for each of the [Tilemap grid types](https://docs.unity3d.com/Manual/class-Grid.html). The default Rule Tile is only used with the Rectangle Grid type Tilemap, while the Hexagonal and Isometric Rule Tiles are used with their respective Grid types.
+- __Hexagonal Rule Tile__: A Rule Tile for [Hexagonal Grids](https://docs.unity3d.com/Documentation/Manual/Tilemap-Hexagonal.html). Enable the **Flat Top** property for a Flat Top Hexagonal Grid, or clear it for a Pointed Top Hexagonal Grid.
+- __Isometric Rule Tile__: A Rule Tile for use with [Isometric Grids](https://docs.unity3d.com/Documentation/Manual/Tilemap-Isometric-CreateIso.html).
+- [Rule Override Tile](RuleOverrideTile.md): This Tile can override Sprites and GameObjects for a given [Rule Tile](RuleTile.md) to provide different behaviour without changing the original Rules.
+- [Advanced Rule Override Tile](AdvancedRuleOverrideTile.md): This Tile can override a subset of Rules for a given [Rule Tile](RuleTile.md) to provide specialized behavior, while keeping the rest of the original Rules intact.
## Other
diff --git a/Editor/Brushes/GameObjectBrush/GameObjectBrush.cs b/Editor/Brushes/GameObjectBrush/GameObjectBrush.cs
index 0fc83df..09c3e8e 100644
--- a/Editor/Brushes/GameObjectBrush/GameObjectBrush.cs
+++ b/Editor/Brushes/GameObjectBrush/GameObjectBrush.cs
@@ -503,15 +503,30 @@ public int GetCellIndexWrapAround(int x, int y, int z)
return (x % m_Size.x) + m_Size.x * (y % m_Size.y) + m_Size.x * m_Size.y * (z % m_Size.z);
}
- private static GameObject GetObjectInCell(GridLayout grid, Transform parent, Vector3Int position)
+ private GameObject GetObjectInCell(GridLayout grid, Transform parent, Vector3Int position)
{
- var scene = SceneManager.GetActiveScene();
- int childCount = parent != null ? parent.childCount : scene.rootCount;
+ int childCount = 0;
+ GameObject[] sceneChildren = null;
+ if (parent == null)
+ {
+ var scene = SceneManager.GetActiveScene();
+ sceneChildren = scene.GetRootGameObjects();
+ childCount = scene.rootCount;
+ }
+ else
+ {
+ childCount = parent.childCount;
+ }
+ var anchorCellOffset = Vector3Int.FloorToInt(m_Anchor);
+ var cellSize = grid.cellSize;
+ anchorCellOffset.x = cellSize.x == 0 ? 0 : anchorCellOffset.x;
+ anchorCellOffset.y = cellSize.y == 0 ? 0 : anchorCellOffset.y;
+ anchorCellOffset.z = cellSize.z == 0 ? 0 : anchorCellOffset.z;
for (var i = 0; i < childCount; i++)
{
- var child = parent != null ? parent.GetChild(i) : scene.GetRootGameObjects()[i].transform;
- if (position == grid.WorldToCell(child.position))
+ var child = sceneChildren == null ? parent.GetChild(i) : sceneChildren[i].transform;
+ if (position == grid.WorldToCell(child.position) - anchorCellOffset)
return child.gameObject;
}
return null;
@@ -568,7 +583,7 @@ private static void SetSceneCell(GridLayout grid, Transform parent, Vector3Int p
instance.transform.Translate(offset);
}
- private static void ClearSceneCell(GridLayout grid, Transform parent, Vector3Int position)
+ private void ClearSceneCell(GridLayout grid, Transform parent, Vector3Int position)
{
GameObject erased = GetObjectInCell(grid, parent, new Vector3Int(position.x, position.y, position.z));
if (erased != null)
diff --git a/Editor/Menu/CustomRuleTileMenu.cs b/Editor/Menu/CustomRuleTileMenu.cs
index 3155022..798807d 100644
--- a/Editor/Menu/CustomRuleTileMenu.cs
+++ b/Editor/Menu/CustomRuleTileMenu.cs
@@ -1,13 +1,44 @@
-using UnityEditor.Tilemaps;
+using System;
+using System.IO;
+using UnityEditor.Tilemaps;
+using UnityEngine;
namespace UnityEditor
{
static class CustomRuleTileMenu
{
+ private static string tempCustomRuleTilePath;
+ private const string customRuleTileScript =
+@"using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.Tilemaps;
+
+[CreateAssetMenu]
+public class #SCRIPTNAME# : RuleTile<#SCRIPTNAME#.Neighbor> {
+ public bool customField;
+
+ public class Neighbor : RuleTile.TilingRule.Neighbor {
+ public const int Null = 3;
+ public const int NotNull = 4;
+ }
+
+ public override bool RuleMatch(int neighbor, TileBase tile) {
+ switch (neighbor) {
+ case Neighbor.Null: return tile == null;
+ case Neighbor.NotNull: return tile != null;
+ }
+ return base.RuleMatch(neighbor, tile);
+ }
+}";
+
[MenuItem("Assets/Create/2D/Tiles/Custom Rule Tile Script", false, (int)ETilesMenuItemOrder.CustomRuleTile)]
static void CreateCustomRuleTile()
{
- ProjectWindowUtil.CreateScriptAssetFromTemplateFile("Packages/com.unity.2d.tilemap.extras/Editor/Tiles/RuleTile/ScriptTemplates/NewCustomRuleTile.cs.txt", "NewCustomRuleTile.cs");
+ if (String.IsNullOrEmpty(tempCustomRuleTilePath) || !File.Exists(tempCustomRuleTilePath))
+ tempCustomRuleTilePath = FileUtil.GetUniqueTempPathInProject();
+ File.WriteAllText(tempCustomRuleTilePath, customRuleTileScript);
+ ProjectWindowUtil.CreateScriptAssetFromTemplateFile(tempCustomRuleTilePath, "NewCustomRuleTile.cs");
}
}
}
diff --git a/Editor/Tiles/RuleTile/ScriptTemplates.meta b/Editor/Tiles/RuleTile/ScriptTemplates.meta
deleted file mode 100644
index 51e0f7d..0000000
--- a/Editor/Tiles/RuleTile/ScriptTemplates.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: b4e80d55c4c309244810545c2c854e8a
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Editor/Tiles/RuleTile/ScriptTemplates/NewCustomRuleTile.cs.txt b/Editor/Tiles/RuleTile/ScriptTemplates/NewCustomRuleTile.cs.txt
deleted file mode 100644
index 313803c..0000000
--- a/Editor/Tiles/RuleTile/ScriptTemplates/NewCustomRuleTile.cs.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.Tilemaps;
-
-[CreateAssetMenu]
-public class #SCRIPTNAME# : RuleTile<#SCRIPTNAME#.Neighbor> {
-
- public bool customField;
-
- public class Neighbor : RuleTile.TilingRule.Neighbor {
- public const int Null = 3;
- public const int NotNull = 4;
- }
-
- public override bool RuleMatch(int neighbor, TileBase tile) {
- switch (neighbor) {
- case Neighbor.Null: return tile == null;
- case Neighbor.NotNull: return tile != null;
- }
- return base.RuleMatch(neighbor, tile);
- }
-}
diff --git a/Editor/Tiles/RuleTile/ScriptTemplates/NewCustomRuleTile.cs.txt.meta b/Editor/Tiles/RuleTile/ScriptTemplates/NewCustomRuleTile.cs.txt.meta
deleted file mode 100644
index 43e7848..0000000
--- a/Editor/Tiles/RuleTile/ScriptTemplates/NewCustomRuleTile.cs.txt.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 186e43c057806e545b5fa3fe8dc394c1
-TextScriptImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/README.md b/README.md
index 68ec8e8..0beda51 100644
--- a/README.md
+++ b/README.md
@@ -71,3 +71,6 @@ Please use the `2017` branch or the `2017` tag for earlier versions of Unity (fr
- **GridInformation**: A simple MonoBehaviour that stores and provides information based on Grid positions and keywords.
- **Custom Rules for RuleTile**: This helps to create new custom Rules for the Rule Tile. Check the [Wiki](https://github.com/Unity-Technologies/2d-extras/wiki) for more information on how to use this.
+
+### Contribution Notice
+From 7 January 2019 until 12 February 2020, all contributions are licensed under the Unity Companion License for Unity-dependent projects (see https://unity3d.com/legal/licenses/unity_companion_license).
diff --git a/Third Party Notices.md b/Third Party Notices.md
index 462b950..7ed1b3f 100644
--- a/Third Party Notices.md
+++ b/Third Party Notices.md
@@ -1,21 +1,229 @@
This package contains third-party software components governed by the license(s) indicated below:
----------
+-----------------
+Component Name: Line Brush public static IEnumerable GetPointsOnLine(Vector2Int p1, Vector2Int p2)
+
+License Type: MIT
+
+Copyright (c) 2020 Eric Woroshow
-Component Name: Line Brush
-public static IEnumerable GetPointsOnLine(Vector2Int p1, Vector2Int p2)
http://ericw.ca/notes/bresenhams-line-algorithm-in-csharp.html
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ericw.ca / Content © 2009-2020 Eric Woroshow. All rights reserved. Code under MIT license unless otherwise noted.
+
+-----------------
+Component Name: Line Brush
+
License Type: MIT
-Copyright (c) 2017 Eric Woroshow
+Copyright © 2017 CraigGraff (https://github.com/CraigGraff)
+
+https://github.com/Unity-Technologies/2d-extras/pull/6
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.
+
+-----------------
+Component Name: Animation Tile
+
+License Type: MIT
+
+Copyright © 2017 MahdiMahzouni (https://github.com/MahdiMahzouni)
+
+https://github.com/Unity-Technologies/2d-extras/pull/12
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.
+
+-----------------
+Component Name: Coordinate Brush
+
+License Type: MIT
+
+Copyright © 2018 nicovain (https://github.com/nicovain)
+
+https://github.com/Unity-Technologies/2d-extras/pull/20
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.
+
+-----------------
+Component Name: Weighted Random Tile
+
+License Type: MIT
+
+Copyright © 2018 nicovain (https://github.com/nicovain)
+
+https://github.com/Unity-Technologies/2d-extras/pull/20
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.
+
+-----------------
+Component Name: Rule Tile Editor
+
+License Type: MIT
+
+Copyright © 2018 DreadBoy (https://github.com/DreadBoy)
+
+https://github.com/Unity-Technologies/2d-extras/pull/22
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.
+
+-----------------
+Component Name: Weighted Random Tile
+
+License Type: MIT
+
+Copyright © 2018 distantcam (https://github.com/distantcam)
+
+https://github.com/Unity-Technologies/2d-extras/pull/26
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.
+
+-----------------
+Component Name: Rule Override Tile
+
+License Type: MIT
+
+Copyright © 2018 johnsoncodehk (https://github.com/johnsoncodehk)
+
+https://github.com/Unity-Technologies/2d-extras/pull/29 and https://github.com/Unity-Technologies/2d-extras/pull/36
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.
+
+-----------------
+Component Name: Rule Override Tile Editor
+
+License Type: MIT
+
+Copyright © 2018 johnsoncodehk (https://github.com/johnsoncodehk)
+
+https://github.com/Unity-Technologies/2d-extras/pull/29 and https://github.com/Unity-Technologies/2d-extras/pull/36
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.
+
+-----------------
+Component Name: Rule Tile
+
+License Type: MIT
+
+Copyright © 2018 johnsoncodehk (https://github.com/johnsoncodehk)
+
+https://github.com/Unity-Technologies/2d-extras/pull/36 and https://github.com/Unity-Technologies/2d-extras/pull/38
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.
+
+-----------------
+Component Name: Rule Tile Editor
+
+License Type: MIT
+
+Copyright © 2018 johnsoncodehk (https://github.com/johnsoncodehk)
+
+https://github.com/Unity-Technologies/2d-extras/pull/36 and https://github.com/Unity-Technologies/2d-extras/pull/38
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.
+
+-----------------
+Component Name: Custom Rule Tile
+
+License Type: MIT
+
+Copyright © 2018 johnsoncodehk (https://github.com/johnsoncodehk)
+
+https://github.com/Unity-Technologies/2d-extras/pull/38
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.
+
+-----------------
+Component Name: Create Asset Menus
+
+License Type: MIT
+
+Copyright © 2018 janissimsons (https://github.com/janissimsons)
+
+https://github.com/Unity-Technologies/2d-extras/pull/49
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.
+
+-----------------
+Component Name: Rule Tile
+
+License Type: MIT
+
+Copyright © 2018 DoctorShinobi (https://github.com/DoctorShinobi)
+
+ https://github.com/Unity-Technologies/2d-extras/pull/51
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.
+
+-----------------
+Component Name: Rule Tile Editor
+
+License Type: MIT
+
+Copyright © 2018 DoctorShinobi (https://github.com/DoctorShinobi)
+
+https://github.com/Unity-Technologies/2d-extras/pull/51
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-ericw.ca / Content © 2009-2017 Eric Woroshow. All rights reserved.
-Code under MIT license unless otherwise noted.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.
----------
+-----------------
\ No newline at end of file
diff --git a/package.json b/package.json
index 69e1fec..4205e44 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "com.unity.2d.tilemap.extras",
"displayName": "2D Tilemap Extras",
- "version": "1.6.2-preview",
+ "version": "1.6.3-preview",
"unity": "2020.1",
"description": "2D Tilemap Extras is a package that contains extra scripts for use with 2D Tilemap features in Unity. These include custom Tiles and Brushes for the Tilemap feature.",
"keywords": [
@@ -13,7 +13,7 @@
"com.unity.2d.tilemap": "1.0.0"
},
"relatedPackages": {
- "com.unity.2d.tilemap.extras.tests": "1.6.2-preview"
+ "com.unity.2d.tilemap.extras.tests": "1.6.3-preview"
},
"samples": [
{
@@ -33,11 +33,11 @@
}
],
"upmCi": {
- "footprint": "de5355cc04ffe1547d920b51ea6eda2e80e83d88"
+ "footprint": "6fb32d72a4229cb4b5ca392f6db6245a493723da"
},
"repository": {
"url": "https://github.com/Unity-Technologies/2d-extras.git",
"type": "git",
- "revision": "75c0a5b4d37054d78d594fa493eedc994404ffce"
+ "revision": "cdc7c7366f66bba1db3fbf680fc6c36130dcf87a"
}
}