public void load() { if (!Tile.generated) { Tile.tileids = new Dictionary <string, uint>(); Tile.tileData = new Dictionary <uint, TileData>(); Tile.dynamicFillSprites = new Dictionary <uint, Dictionary <uint, Sprite> >(); //Generate TileData foreach (Data data in tileset) { if (!data.name.Equals(BLANK)) { uint tileid = Tile.generateTileID(); Material material = Script_SpriteRenderer_GenerateMaterial.generateMaterialReference("tiledata_" + tileid, data.shader, data.mainColor, data.isNormalMapped, data.normalMap, data.isShiny, data.shininess, data.specularColor); Sprite sprite = data.sprite; Sprite[] sprites = null; Color fillColor = Color.black; if (data.isTileable) { sprites = new Sprite[TILEABLE_WIDTH * TILEABLE_HEIGHT]; for (int x = 0; x < TILEABLE_WIDTH; x++) { for (int y = 0; y < TILEABLE_HEIGHT; y++) { Sprite spr = Sprite.Create(data.sprites, new Rect(x * TILEABLE_PIXELS, y * TILEABLE_PIXELS, TILEABLE_PIXELS, TILEABLE_PIXELS), new Vector2(0, 0), TILEABLE_PIXELS); sprites[y * TILEABLE_WIDTH + x] = spr; } } //Grab Fill Color fillColor = sprites[0].texture.GetPixel(TILEABLE_PIXELS / 2, TILEABLE_PIXELS - TILEABLE_PIXELS / 4); } Tile.tileids.Add(data.name, tileid); Tile.tileData.Add(tileid, new TileData(tileid, data.name, data.isTileable, material, sprite, sprites, fillColor)); } } Tile.generated = true; } loaded = true; }
public override void OnInspectorGUI() { Script_SpriteRenderer_GenerateMaterial script = (Script_SpriteRenderer_GenerateMaterial)target; script.sprite = (Sprite)EditorGUILayout.ObjectField("Sprite", script.sprite, typeof(Sprite), false); script.shader = (Shader)EditorGUILayout.ObjectField("Shader", script.shader, typeof(Shader), false); script.mainColor = (Color)EditorGUILayout.ColorField("Main Color", script.mainColor); script.isNormalMapped = (bool)EditorGUILayout.Toggle("Has a Normal Map?", script.isNormalMapped); if (script.isNormalMapped) { script.normalMap = (Texture)EditorGUILayout.ObjectField("Normal Map", script.normalMap, typeof(Texture), false); } script.isShiny = (bool)EditorGUILayout.Toggle("Is Shiny?", script.isShiny); if (script.isShiny) { script.specularColor = (Color)EditorGUILayout.ColorField("Specular Color", script.specularColor); script.shininess = (float)EditorGUILayout.Slider("Shininess", script.shininess, 0.01f, 1f); } }