Comments (3)
Yes, this is clear. RuleTileEditor has been changed such that when a new Rule is added, the new Rule will be set up with the default Sprite and Collider type set up for the RuleTile.
The naming for "Default Sprite" will remain the same due to this, since it serves the purpose of being the default for new Rules and as the final default Sprite used if no Rules are matched.
from 2d-extras.
Hi, RuleInspectorOnGUI() uses the current collider type set in the TilingRule. Do you mean that when a new TilingRule is created, the initialization of the TilingRule should be set with the current Default Collider in the RuleTile?
RuleInspectorOnGUI works only on the current TilingRule data passed in as a parameter without other Tile details. That being said, you could remove the "static" modifier if you would need extra information.
from 2d-extras.
After playing around within RuleTile.cs and RuleTileEditor.cs I see better how the system works. It was the layout of the UI in the RuleTile inspector that made me feel like the 'Default Collider' setting should be applied as the default collider type when adding a new rule.
I tried referencing the default collider variable in RuleTile.cs and removing the static modifier on RuleInspectorOnGui() but that obviously resulted in a refresh on the inspector panel and overrides all currently created rules to use the newly set 'Default Collider' value. Which isn't what I was expecting.
I think allowing new rules to use a user selected default value would save a lot of extra clicks and shave a little extra time off of creating unique rule tiles.
The default sprite on the RuleTile is a sprite with all "neighboring tile check" values set to "Don't Care" essentially. So the "Default Sprite" and "Default Collider" are really the setting for the 'Base' sprite on a given RuleTile currently (without the option to have it be an animated or random tile). I think most users set it as a "Preview" sprite to easily identify the Rule Tile within a Tile Palette (after seeing Unity created tutorials showing it used this way) and create an "empty" rule with neighboring tile checks set to "Don't Care"/blank as their "Default" tile, so perhaps name it "Preview Sprite" that only sets the view of the tile in the tile palette.
Provide a "Default Collider" dropdown more clearly part of the reorder-able "Tiling Rules" list, which would set the "Default Collider" value for newly added rules (but not overriding currently set options for existing rules) would be a nice way to do it in a clear way.
Does this make sense? It wasn't an extremely intuitive experience when creating my first RuleTile even following tutorials and like even more of a chore when coupled with having to drag each sprite individually as I added new rules.
from 2d-extras.
Related Issues (20)
- Prefab brush is not showing or working both are error HOT 1
- Error message after install, package not loaded HOT 1
- GridInformationKey should implemented IEquatable<GridInformationKey> and override GetHashCode() to avoid GC alloc HOT 1
- 2D Game Kit errors HOT 5
- unity 2021 package missing files HOT 1
- GridInformation.cs error : The name 'HashCode' does not exist in the current context HOT 6
- Editor Warning On Creation: No script asset for RuleTile. HOT 4
- GameObject Brush paint incorrect position when Cell.Position.y < 0 HOT 2
- New transform of rule tile: rotate and mirror HOT 6
- 2021.1.22f1 HashCode Error HOT 2
- NullReferenceException when using Tile Palette HOT 3
- Gameobject-Tiles and Tile Palette Preview HOT 1
- Mixing Tiles HOT 3
- I have an error. HOT 1
- Error deleting RuleTile with GameObject during physics callback HOT 2
- RuleTile with sibling layer tilemaps? z-axis siblings? HOT 1
- PopulateRuleOverideTileWizard can't work right HOT 8
- Animated Tile Expansion
- Tilemap renderer cannot be refreshed after deletion HOT 2
- Request Special Rule Tile
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from 2d-extras.