tiled meshes and materials to tiled asset

This commit is contained in:
2016-04-20 01:09:25 +06:00
parent c21d33cd77
commit a9706465e1
16 changed files with 1558 additions and 404 deletions
+1
View File
@@ -47,6 +47,7 @@
<ItemGroup>
<Compile Include="Assets\IsoTools\Scripts\Internal\Editor\IsoObjectEditor.cs" />
<Compile Include="Assets\IsoTools\Tiled\Internal\Editor\TiledMapAssetEditor.cs" />
<Compile Include="Assets\IsoTools\Tiled\Internal\Editor\TiledMapAssetPostprocessor.cs" />
<Compile Include="Assets\IsoTools\Tiled\Internal\Editor\TiledMapEditor.cs" />
<Compile Include="Assets\IsoTools\Tiled\Internal\Editor\TiledMapLayerEditor.cs" />
<Compile Include="Assets\IsoTools\Tiled\Internal\Editor\TiledMapPostprocessor.cs" />
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 7b6bd76df16f04c1aadbdf1c8812c49a
timeCreated: 1454766908
timeCreated: 1461092902
licenseType: Free
NativeFormatImporter:
userData:
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 221bc03dca62748f284639c0b399875b
timeCreated: 1458585600
timeCreated: 1461092903
licenseType: Free
TextureImporter:
fileIDToRecycleName:
@@ -41,7 +41,7 @@ TextureImporter:
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: .25
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
@@ -61,13 +61,14 @@ TextureImporter:
lightmap: 0
rGBM: 0
compressionQuality: 50
allowsAlphaSplitting: 0
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: .5, y: .5}
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 1
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 8
buildTargetSettings: []
@@ -83,6 +84,15 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -17, y: 30}
- {x: -32, y: 16}
- {x: -32, y: -4}
- {x: -5, y: -19}
- {x: 3, y: -19}
- {x: 32, y: -4}
- {x: 32, y: 21}
- {x: 12, y: 30}
- name: isometric_grass_and_water_2
rect:
serializedVersion: 2
@@ -93,6 +103,16 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: 4, y: 30}
- {x: -12, y: 30}
- {x: -32, y: 17}
- {x: -32, y: -7}
- {x: -2, y: -19}
- {x: 4, y: -19}
- {x: 32, y: -3}
- {x: 32, y: 17}
- {x: 19, y: 25}
- name: isometric_grass_and_water_3
rect:
serializedVersion: 2
@@ -103,6 +123,16 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: 10, y: 29}
- {x: -11, y: 29}
- {x: -32, y: 20}
- {x: -32, y: -4}
- {x: -4, y: -19}
- {x: 1, y: -19}
- {x: 32, y: -3}
- {x: 32, y: 15}
- {x: 30, y: 17}
- name: isometric_grass_and_water_4
rect:
serializedVersion: 2
@@ -113,6 +143,16 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -7, y: 30}
- {x: -26, y: 20}
- {x: -32, y: 15}
- {x: -32, y: -3}
- {x: -4, y: -19}
- {x: 1, y: -19}
- {x: 32, y: -4}
- {x: 32, y: 16}
- {x: 12, y: 30}
- name: isometric_grass_and_water_5
rect:
serializedVersion: 2
@@ -123,6 +163,16 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -11, y: 29}
- {x: -32, y: 16}
- {x: -32, y: -8}
- {x: -9, y: -24}
- {x: 9, y: -24}
- {x: 25, y: -19}
- {x: 32, y: -7}
- {x: 32, y: 20}
- {x: 17, y: 29}
- name: isometric_grass_and_water_6
rect:
serializedVersion: 2
@@ -133,6 +183,13 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -32, y: -10}
- {x: -10, y: -19}
- {x: 6, y: -19}
- {x: 32, y: -7}
- {x: 32, y: 31}
- {x: -32, y: 31}
- name: isometric_grass_and_water_7
rect:
serializedVersion: 2
@@ -143,6 +200,16 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: 5, y: 30}
- {x: -28, y: 24}
- {x: -32, y: 14}
- {x: -32, y: -6}
- {x: -1, y: -19}
- {x: 4, y: -19}
- {x: 32, y: -3}
- {x: 32, y: 17}
- {x: 18, y: 30}
- name: isometric_grass_and_water_8
rect:
serializedVersion: 2
@@ -153,6 +220,15 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -16, y: 27}
- {x: -32, y: 25}
- {x: -32, y: -11}
- {x: -6, y: -19}
- {x: 25, y: -19}
- {x: 32, y: -10}
- {x: 32, y: 1}
- {x: 20, y: 27}
- name: isometric_grass_and_water_9
rect:
serializedVersion: 2
@@ -163,6 +239,22 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -11, y: 29}
- {x: -12, y: 24}
- {x: -12, y: 23}
- {x: -14, y: 20}
- {x: -14, y: 15}
- {x: -14, y: 16}
- {x: -15, y: 23}
- {x: -28, y: 19}
- {x: -32, y: 1}
- {x: -32, y: -11}
- {x: -7, y: -24}
- {x: 2, y: -24}
- {x: 32, y: -11}
- {x: 32, y: 2}
- {x: 13, y: 29}
- name: isometric_grass_and_water_10
rect:
serializedVersion: 2
@@ -173,6 +265,15 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: 3, y: 23}
- {x: -32, y: 5}
- {x: -32, y: -9}
- {x: -5, y: -24}
- {x: 10, y: -24}
- {x: 32, y: -7}
- {x: 32, y: 13}
- {x: 28, y: 23}
- name: isometric_grass_and_water_11
rect:
serializedVersion: 2
@@ -183,6 +284,18 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -6, y: 19}
- {x: -14, y: 16}
- {x: -19, y: 14}
- {x: -32, y: -1}
- {x: -32, y: -12}
- {x: -13, y: -19}
- {x: 11, y: -19}
- {x: 14, y: -18}
- {x: 32, y: -10}
- {x: 32, y: 0}
- {x: 4, y: 19}
- name: isometric_grass_and_water_12
rect:
serializedVersion: 2
@@ -193,6 +306,15 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -18, y: 27}
- {x: -32, y: 21}
- {x: -32, y: -8}
- {x: -11, y: -24}
- {x: 16, y: -24}
- {x: 32, y: -10}
- {x: 32, y: 4}
- {x: 5, y: 27}
- name: isometric_grass_and_water_13
rect:
serializedVersion: 2
@@ -203,6 +325,17 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -12, y: 28}
- {x: -14, y: 24}
- {x: -15, y: 19}
- {x: -32, y: -1}
- {x: -32, y: -9}
- {x: -5, y: -24}
- {x: 10, y: -24}
- {x: 32, y: -7}
- {x: 32, y: 13}
- {x: 19, y: 28}
- name: isometric_grass_and_water_14
rect:
serializedVersion: 2
@@ -213,6 +346,14 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -21, y: 25}
- {x: -32, y: 4}
- {x: -32, y: -16}
- {x: -27, y: -19}
- {x: 2, y: -19}
- {x: 32, y: -9}
- {x: 32, y: 25}
- name: isometric_grass_and_water_15
rect:
serializedVersion: 2
@@ -223,6 +364,16 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -32, y: -3}
- {x: -15, y: -19}
- {x: 28, y: -19}
- {x: 32, y: -17}
- {x: 32, y: 0}
- {x: 11, y: 28}
- {x: 6, y: 29}
- {x: -21, y: 29}
- {x: -32, y: 16}
- name: isometric_grass_and_water_16
rect:
serializedVersion: 2
@@ -233,6 +384,15 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -9, y: 32}
- {x: -32, y: 15}
- {x: -32, y: -10}
- {x: -10, y: -24}
- {x: 14, y: -24}
- {x: 32, y: -9}
- {x: 32, y: 0}
- {x: 12, y: 32}
- name: isometric_grass_and_water_17
rect:
serializedVersion: 2
@@ -243,6 +403,17 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -9, y: 30}
- {x: -11, y: 26}
- {x: -15, y: 15}
- {x: -32, y: -2}
- {x: -32, y: -9}
- {x: -5, y: -24}
- {x: 10, y: -24}
- {x: 32, y: -8}
- {x: 32, y: 17}
- {x: 9, y: 30}
- name: isometric_grass_and_water_18
rect:
serializedVersion: 2
@@ -253,6 +424,15 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -2, y: 23}
- {x: -32, y: -2}
- {x: -32, y: -10}
- {x: -10, y: -19}
- {x: 5, y: -19}
- {x: 32, y: -4}
- {x: 32, y: 17}
- {x: 19, y: 23}
- name: isometric_grass_and_water_19
rect:
serializedVersion: 2
@@ -263,6 +443,15 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -21, y: 26}
- {x: -32, y: 14}
- {x: -32, y: -4}
- {x: -10, y: -19}
- {x: 13, y: -19}
- {x: 32, y: -12}
- {x: 32, y: 8}
- {x: 6, y: 26}
- name: isometric_grass_and_water_20
rect:
serializedVersion: 2
@@ -273,6 +462,15 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -25, y: 32}
- {x: -32, y: 19}
- {x: -32, y: -14}
- {x: -3, y: -24}
- {x: 6, y: -24}
- {x: 32, y: -9}
- {x: 32, y: 0}
- {x: 7, y: 32}
- name: isometric_grass_and_water_21
rect:
serializedVersion: 2
@@ -283,6 +481,21 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -12, y: 29}
- {x: -14, y: 20}
- {x: -14, y: 15}
- {x: -14, y: 16}
- {x: -15, y: 23}
- {x: -27, y: 19}
- {x: -32, y: 2}
- {x: -32, y: -12}
- {x: -15, y: -19}
- {x: 14, y: -19}
- {x: 32, y: -13}
- {x: 32, y: 0}
- {x: 21, y: 23}
- {x: 14, y: 29}
- name: isometric_grass_and_water_22
rect:
serializedVersion: 2
@@ -293,6 +506,17 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -16, y: 27}
- {x: -18, y: 26}
- {x: -32, y: 18}
- {x: -32, y: -6}
- {x: -8, y: -24}
- {x: 11, y: -24}
- {x: 27, y: -20}
- {x: 32, y: -5}
- {x: 32, y: 18}
- {x: 21, y: 27}
- name: isometric_grass_and_water_23
rect:
serializedVersion: 2
@@ -303,6 +527,15 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -1, y: 14}
- {x: -32, y: -1}
- {x: -32, y: -11}
- {x: -2, y: -24}
- {x: 7, y: -24}
- {x: 32, y: -10}
- {x: 32, y: 0}
- {x: 4, y: 14}
- name: isometric_grass_and_water_24
rect:
serializedVersion: 2
@@ -313,6 +546,16 @@ TextureImporter:
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -1, y: 14}
- {x: -32, y: -1}
- {x: -32, y: -11}
- {x: -2, y: -24}
- {x: 7, y: -24}
- {x: 32, y: -10}
- {x: 32, y: 0}
- {x: 4, y: 14}
outline: []
spritePackingTag:
userData:
assetBundleName:
@@ -41,6 +41,10 @@
<tile id="22" terrain="1,1,1,1"/>
<tile id="23" terrain="1,1,1,1"/>
</tileset>
<tileset firstgid="25" name="isometric_grass_and_water_2" tilewidth="64" tileheight="64" tilecount="24" columns="4">
<tileoffset x="0" y="16"/>
<image source="isometric_grass_and_water_2.png" width="256" height="384"/>
</tileset>
<layer name="Tile Layer 1" width="50" height="50">
<properties>
<property name="TestProperty1" value="1"/>
@@ -1287,9 +1291,9 @@
<tile gid="23"/>
<tile gid="23"/>
<tile gid="23"/>
<tile gid="24"/>
<tile gid="24"/>
<tile gid="23"/>
<tile gid="39"/>
<tile gid="39"/>
<tile gid="36"/>
<tile gid="23"/>
<tile gid="23"/>
<tile gid="24"/>
@@ -1337,9 +1341,9 @@
<tile gid="11"/>
<tile gid="12"/>
<tile gid="24"/>
<tile gid="24"/>
<tile gid="24"/>
<tile gid="23"/>
<tile gid="30"/>
<tile gid="27"/>
<tile gid="40"/>
<tile gid="23"/>
<tile gid="24"/>
<tile gid="24"/>
@@ -1387,9 +1391,9 @@
<tile gid="7"/>
<tile gid="20"/>
<tile gid="24"/>
<tile gid="23"/>
<tile gid="24"/>
<tile gid="23"/>
<tile gid="34"/>
<tile gid="41"/>
<tile gid="33"/>
<tile gid="24"/>
<tile gid="24"/>
<tile gid="24"/>
Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

@@ -0,0 +1,562 @@
fileFormatVersion: 2
guid: 2ffc72ff3b52a488e9418c5a8c4f1649
timeCreated: 1461092903
licenseType: Free
TextureImporter:
fileIDToRecycleName:
21300000: isometric_grass_and_water_2_25
21300002: isometric_grass_and_water_2_26
21300004: isometric_grass_and_water_2_27
21300006: isometric_grass_and_water_2_28
21300008: isometric_grass_and_water_2_29
21300010: isometric_grass_and_water_2_30
21300012: isometric_grass_and_water_2_31
21300014: isometric_grass_and_water_2_32
21300016: isometric_grass_and_water_2_33
21300018: isometric_grass_and_water_2_34
21300020: isometric_grass_and_water_2_35
21300022: isometric_grass_and_water_2_36
21300024: isometric_grass_and_water_2_37
21300026: isometric_grass_and_water_2_38
21300028: isometric_grass_and_water_2_39
21300030: isometric_grass_and_water_2_40
21300032: isometric_grass_and_water_2_41
21300034: isometric_grass_and_water_2_42
21300036: isometric_grass_and_water_2_43
21300038: isometric_grass_and_water_2_44
21300040: isometric_grass_and_water_2_45
21300042: isometric_grass_and_water_2_46
21300044: isometric_grass_and_water_2_47
21300046: isometric_grass_and_water_2_48
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 1
linearTexture: 0
correctGamma: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 7
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: 16
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
allowsAlphaSplitting: 0
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 8
buildTargetSettings: []
spriteSheet:
sprites:
- name: isometric_grass_and_water_2_25
rect:
serializedVersion: 2
x: 0
y: 320
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -17, y: 30}
- {x: -32, y: 16}
- {x: -32, y: -4}
- {x: -5, y: -19}
- {x: 3, y: -19}
- {x: 32, y: -4}
- {x: 32, y: 21}
- {x: 12, y: 30}
- name: isometric_grass_and_water_2_26
rect:
serializedVersion: 2
x: 64
y: 320
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: 4, y: 30}
- {x: -12, y: 30}
- {x: -32, y: 17}
- {x: -32, y: -7}
- {x: -2, y: -19}
- {x: 4, y: -19}
- {x: 32, y: -3}
- {x: 32, y: 17}
- {x: 19, y: 25}
- name: isometric_grass_and_water_2_27
rect:
serializedVersion: 2
x: 128
y: 320
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: 10, y: 29}
- {x: -11, y: 29}
- {x: -32, y: 20}
- {x: -32, y: -4}
- {x: -4, y: -19}
- {x: 1, y: -19}
- {x: 32, y: -3}
- {x: 32, y: 15}
- {x: 30, y: 17}
- name: isometric_grass_and_water_2_28
rect:
serializedVersion: 2
x: 192
y: 320
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -7, y: 30}
- {x: -26, y: 20}
- {x: -32, y: 15}
- {x: -32, y: -3}
- {x: -4, y: -19}
- {x: 1, y: -19}
- {x: 32, y: -4}
- {x: 32, y: 16}
- {x: 12, y: 30}
- name: isometric_grass_and_water_2_29
rect:
serializedVersion: 2
x: 0
y: 256
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -11, y: 29}
- {x: -32, y: 16}
- {x: -32, y: -8}
- {x: -9, y: -24}
- {x: 9, y: -24}
- {x: 25, y: -19}
- {x: 32, y: -7}
- {x: 32, y: 20}
- {x: 17, y: 29}
- name: isometric_grass_and_water_2_30
rect:
serializedVersion: 2
x: 64
y: 256
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -32, y: -10}
- {x: -10, y: -19}
- {x: 6, y: -19}
- {x: 32, y: -7}
- {x: 32, y: 31}
- {x: -32, y: 31}
- name: isometric_grass_and_water_2_31
rect:
serializedVersion: 2
x: 128
y: 256
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: 5, y: 30}
- {x: -28, y: 24}
- {x: -32, y: 14}
- {x: -32, y: -6}
- {x: -1, y: -19}
- {x: 4, y: -19}
- {x: 32, y: -3}
- {x: 32, y: 17}
- {x: 18, y: 30}
- name: isometric_grass_and_water_2_32
rect:
serializedVersion: 2
x: 192
y: 256
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -16, y: 27}
- {x: -32, y: 25}
- {x: -32, y: -11}
- {x: -6, y: -19}
- {x: 25, y: -19}
- {x: 32, y: -10}
- {x: 32, y: 1}
- {x: 20, y: 27}
- name: isometric_grass_and_water_2_33
rect:
serializedVersion: 2
x: 0
y: 192
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -11, y: 29}
- {x: -12, y: 24}
- {x: -12, y: 23}
- {x: -14, y: 20}
- {x: -14, y: 15}
- {x: -14, y: 16}
- {x: -15, y: 23}
- {x: -28, y: 19}
- {x: -32, y: 1}
- {x: -32, y: -11}
- {x: -7, y: -24}
- {x: 2, y: -24}
- {x: 32, y: -11}
- {x: 32, y: 2}
- {x: 13, y: 29}
- name: isometric_grass_and_water_2_34
rect:
serializedVersion: 2
x: 64
y: 192
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: 3, y: 23}
- {x: -32, y: 5}
- {x: -32, y: -9}
- {x: -5, y: -24}
- {x: 10, y: -24}
- {x: 32, y: -7}
- {x: 32, y: 13}
- {x: 28, y: 23}
- name: isometric_grass_and_water_2_35
rect:
serializedVersion: 2
x: 128
y: 192
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -6, y: 19}
- {x: -14, y: 16}
- {x: -19, y: 14}
- {x: -32, y: -1}
- {x: -32, y: -12}
- {x: -13, y: -19}
- {x: 11, y: -19}
- {x: 14, y: -18}
- {x: 32, y: -10}
- {x: 32, y: 0}
- {x: 4, y: 19}
- name: isometric_grass_and_water_2_36
rect:
serializedVersion: 2
x: 192
y: 192
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -18, y: 27}
- {x: -32, y: 21}
- {x: -32, y: -8}
- {x: -11, y: -24}
- {x: 16, y: -24}
- {x: 32, y: -10}
- {x: 32, y: 4}
- {x: 5, y: 27}
- name: isometric_grass_and_water_2_37
rect:
serializedVersion: 2
x: 0
y: 128
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -12, y: 28}
- {x: -14, y: 24}
- {x: -15, y: 19}
- {x: -32, y: -1}
- {x: -32, y: -9}
- {x: -5, y: -24}
- {x: 10, y: -24}
- {x: 32, y: -7}
- {x: 32, y: 13}
- {x: 19, y: 28}
- name: isometric_grass_and_water_2_38
rect:
serializedVersion: 2
x: 64
y: 128
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -21, y: 25}
- {x: -32, y: 4}
- {x: -32, y: -16}
- {x: -27, y: -19}
- {x: 2, y: -19}
- {x: 32, y: -9}
- {x: 32, y: 25}
- name: isometric_grass_and_water_2_39
rect:
serializedVersion: 2
x: 128
y: 128
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -32, y: -3}
- {x: -15, y: -19}
- {x: 28, y: -19}
- {x: 32, y: -17}
- {x: 32, y: 0}
- {x: 11, y: 28}
- {x: 6, y: 29}
- {x: -21, y: 29}
- {x: -32, y: 16}
- name: isometric_grass_and_water_2_40
rect:
serializedVersion: 2
x: 192
y: 128
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -9, y: 32}
- {x: -32, y: 15}
- {x: -32, y: -10}
- {x: -10, y: -24}
- {x: 14, y: -24}
- {x: 32, y: -9}
- {x: 32, y: 0}
- {x: 12, y: 32}
- name: isometric_grass_and_water_2_41
rect:
serializedVersion: 2
x: 0
y: 64
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -9, y: 30}
- {x: -11, y: 26}
- {x: -15, y: 15}
- {x: -32, y: -2}
- {x: -32, y: -9}
- {x: -5, y: -24}
- {x: 10, y: -24}
- {x: 32, y: -8}
- {x: 32, y: 17}
- {x: 9, y: 30}
- name: isometric_grass_and_water_2_42
rect:
serializedVersion: 2
x: 64
y: 64
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -2, y: 23}
- {x: -32, y: -2}
- {x: -32, y: -10}
- {x: -10, y: -19}
- {x: 5, y: -19}
- {x: 32, y: -4}
- {x: 32, y: 17}
- {x: 19, y: 23}
- name: isometric_grass_and_water_2_43
rect:
serializedVersion: 2
x: 128
y: 64
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -21, y: 26}
- {x: -32, y: 14}
- {x: -32, y: -4}
- {x: -10, y: -19}
- {x: 13, y: -19}
- {x: 32, y: -12}
- {x: 32, y: 8}
- {x: 6, y: 26}
- name: isometric_grass_and_water_2_44
rect:
serializedVersion: 2
x: 192
y: 64
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -25, y: 32}
- {x: -32, y: 19}
- {x: -32, y: -14}
- {x: -3, y: -24}
- {x: 6, y: -24}
- {x: 32, y: -9}
- {x: 32, y: 0}
- {x: 7, y: 32}
- name: isometric_grass_and_water_2_45
rect:
serializedVersion: 2
x: 0
y: 0
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -12, y: 29}
- {x: -14, y: 20}
- {x: -14, y: 15}
- {x: -14, y: 16}
- {x: -15, y: 23}
- {x: -27, y: 19}
- {x: -32, y: 2}
- {x: -32, y: -12}
- {x: -15, y: -19}
- {x: 14, y: -19}
- {x: 32, y: -13}
- {x: 32, y: 0}
- {x: 21, y: 23}
- {x: 14, y: 29}
- name: isometric_grass_and_water_2_46
rect:
serializedVersion: 2
x: 64
y: 0
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -16, y: 27}
- {x: -18, y: 26}
- {x: -32, y: 18}
- {x: -32, y: -6}
- {x: -8, y: -24}
- {x: 11, y: -24}
- {x: 27, y: -20}
- {x: 32, y: -5}
- {x: 32, y: 18}
- {x: 21, y: 27}
- name: isometric_grass_and_water_2_47
rect:
serializedVersion: 2
x: 128
y: 0
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -1, y: 14}
- {x: -32, y: -1}
- {x: -32, y: -11}
- {x: -2, y: -24}
- {x: 7, y: -24}
- {x: 32, y: -10}
- {x: 32, y: 0}
- {x: 4, y: 14}
- name: isometric_grass_and_water_2_48
rect:
serializedVersion: 2
x: 192
y: 0
width: 64
height: 64
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline:
- - {x: -1, y: 14}
- {x: -32, y: -1}
- {x: -32, y: -11}
- {x: -2, y: -24}
- {x: 7, y: -24}
- {x: 32, y: -10}
- {x: 32, y: 0}
- {x: 4, y: 14}
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because one or more lines are too long
@@ -1,12 +1,8 @@
using UnityEngine;
using UnityEngine.Rendering;
using UnityEditor;
using IsoTools.Tiled;
using IsoTools.Internal;
using System;
using System.IO;
using System.Linq;
using System.Collections.Generic;
namespace IsoTools.Tiled.Internal {
[CustomEditor(typeof(TiledMapAsset))]
@@ -88,129 +84,29 @@ namespace IsoTools.Tiled.Internal {
}
Mesh GetTilesetMesh(int tileset_index, int layer_index) {
var vertices = new List<Vector3>();
var triangles = new List<int>();
var uvs = new List<Vector2>();
for ( var tile_y = 0; tile_y < _asset.Data.Height; ++tile_y ) {
for ( var tile_x = 0; tile_x < _asset.Data.Width; ++tile_x ) {
var tile_gid = _asset.Data
.Layers[layer_index]
.Tiles[tile_y * _asset.Data.Width + tile_x];
if ( tile_gid > 0 && CheckTileGidByTileset(tile_gid, tileset_index) ) {
var tile_iso_pos = new Vector3(
-tile_y + _asset.Data.Height - 1,
-tile_x + _asset.Data.Width - 1);
var iso_world = GetIsoWorld();
var tile_screen_pos = iso_world.IsoToScreen(tile_iso_pos);
var tile_sprite = GetTileSprite(tile_gid, tileset_index);
var tile_width = tile_sprite.rect.width / _asset.PixelsPerUnit;
var tile_height = tile_sprite.rect.height / _asset.PixelsPerUnit;
var tileset_data = _asset.Data.Tilesets[tileset_index];
var tileset_offset_x = tileset_data.TileOffsetX / _asset.PixelsPerUnit;
var tileset_offset_y = tileset_data.TileOffsetY / _asset.PixelsPerUnit;
var vertex_pos =
IsoUtils.Vec3FromVec2(tile_screen_pos) -
IsoUtils.Vec3FromXY(tile_width, tile_height) * 0.5f +
IsoUtils.Vec3FromXY(tileset_offset_x, tileset_offset_y);
vertices.Add(vertex_pos);
vertices.Add(vertex_pos + IsoUtils.Vec3FromX (tile_width));
vertices.Add(vertex_pos + IsoUtils.Vec3FromXY(tile_width, tile_height));
vertices.Add(vertex_pos + IsoUtils.Vec3FromY (tile_height));
triangles.Add(vertices.Count - 4 + 2);
triangles.Add(vertices.Count - 4 + 1);
triangles.Add(vertices.Count - 4 + 0);
triangles.Add(vertices.Count - 4 + 0);
triangles.Add(vertices.Count - 4 + 3);
triangles.Add(vertices.Count - 4 + 2);
var tex_size = new Vector2(tile_sprite.texture.width, tile_sprite.texture.height);
uvs.Add(new Vector2(tile_sprite.rect.xMin / tex_size.x, tile_sprite.rect.yMin / tex_size.y));
uvs.Add(new Vector2(tile_sprite.rect.xMax / tex_size.x, tile_sprite.rect.yMin / tex_size.y));
uvs.Add(new Vector2(tile_sprite.rect.xMax / tex_size.x, tile_sprite.rect.yMax / tex_size.y));
uvs.Add(new Vector2(tile_sprite.rect.xMin / tex_size.x, tile_sprite.rect.yMax / tex_size.y));
}
var mesh_name = string.Format("mesh_{0}_{1}", tileset_index, layer_index);
var subassets = AssetDatabase.LoadAllAssetsAtPath(AssetDatabase.GetAssetPath(_asset));
foreach ( var subasset in subassets ) {
if ( subasset.name == mesh_name && subasset is Mesh ) {
return subasset as Mesh;
}
}
var mesh = new Mesh();
mesh.vertices = vertices.ToArray();
mesh.triangles = triangles.ToArray();
mesh.uv = uvs.ToArray();
mesh.RecalculateNormals();
return mesh;
}
IsoWorld GetIsoWorld() {
var iso_world = IsoWorld.Instance;
if ( !iso_world ) {
throw new UnityException("not found IsoWorld");
}
return iso_world;
}
string GetTiledMapAssetPath() {
var asset_path = AssetDatabase.GetAssetPath(_asset);
if ( string.IsNullOrEmpty(asset_path) ) {
throw new UnityException(string.Format(
"not found tiled map asset ({0}) path",
_asset.name));
}
return asset_path;
}
bool CheckTileGidByTileset(int tile_gid, int tileset_index) {
var tileset_data = _asset.Data.Tilesets[tileset_index];
return
tile_gid >= tileset_data.FirstGid &&
tile_gid < tileset_data.FirstGid + tileset_data.TileCount;
}
Sprite GetTileSprite(int tile_gid, int tileset_index) {
var tileset_data = _asset.Data.Tilesets[tileset_index];
var tile_sprite_name = string.Format(
"{0}_{1}",
Path.GetFileNameWithoutExtension(tileset_data.ImageSource),
tile_gid);
var tileset_assets = AssetDatabase.LoadAllAssetsAtPath(Path.Combine(
Path.GetDirectoryName(GetTiledMapAssetPath()),
tileset_data.ImageSource));
var tile_sprite = tileset_assets
.Where(p => p is Sprite && p.name == tile_sprite_name)
.Select(p => p as Sprite)
.FirstOrDefault();
if ( !tile_sprite ) {
throw new UnityException(string.Format(
"sprite ({0}) for tile ({1}) not found",
tile_sprite_name, tile_gid));
}
return tile_sprite;
throw new UnityException(string.Format(
"not found tileset mesh ({0})",
mesh_name));
}
Material GetTilesetMaterial(int tileset_index) {
var shader = Shader.Find("Sprites/Default");
if ( !shader ) {
throw new UnityException("'Sprites/Default' shader not found");
var material_name = string.Format("material_{0}", tileset_index);
var subassets = AssetDatabase.LoadAllAssetsAtPath(AssetDatabase.GetAssetPath(_asset));
foreach ( var subasset in subassets ) {
if ( subasset.name == material_name && subasset is Material ) {
return subasset as Material;
}
}
var material = new Material(shader);
material.SetTexture("_MainTex", GetTilesetTexture(tileset_index));
return material;
}
Texture2D GetTilesetTexture(int tileset_index) {
var tileset_data = _asset.Data.Tilesets[tileset_index];
var texture_path = Path.Combine(
Path.GetDirectoryName(GetTiledMapAssetPath()),
tileset_data.ImageSource);
var texture = AssetDatabase.LoadAssetAtPath<Texture2D>(texture_path);
if ( !texture ) {
throw new UnityException(string.Format(
"texture ({0}) for tileset ({1}) not found",
texture_path, tileset_data.Name));
}
return texture;
throw new UnityException(string.Format(
"not found tileset material ({0})",
material_name));
}
// ------------------------------------------------------------------------
@@ -0,0 +1,184 @@
using UnityEngine;
using UnityEditor;
using IsoTools.Internal;
using System;
using System.IO;
using System.Linq;
using System.Collections.Generic;
namespace IsoTools.Tiled.Internal {
public class TiledMapAssetPostprocessor : AssetPostprocessor {
static void OnPostprocessAllAssets(
string[] imported_assets, string[] deleted_assets,
string[] moved_assets, string[] moved_from_asset_paths)
{
var asset_paths = imported_assets
.Where(p => Path.GetExtension(p).ToLower().Equals(".asset"));
foreach ( var asset_path in asset_paths ) {
var asset = AssetDatabase.LoadAssetAtPath<TiledMapAsset>(asset_path);
if ( asset ) {
TiledMapAssetProcess(asset_path, asset);
}
}
}
static void TiledMapAssetProcess(string asset_path, TiledMapAsset asset) {
try {
GenerateLayerMeshes(asset);
} catch ( Exception e ) {
Debug.LogErrorFormat(
"Postprocess tiled map asset error: {0}",
e.Message);
AssetDatabase.DeleteAsset(asset_path);
AssetDatabase.SaveAssets();
}
}
static void GenerateLayerMeshes(TiledMapAsset asset) {
var dirty = false;
for ( int i = 0; i < asset.Data.Layers.Count; ++i ) {
for ( int j = 0; j < asset.Data.Tilesets.Count; ++j ) {
var mesh_name = string.Format("mesh_{0}_{1}", j, i);
if ( !HasSubAsset(asset, mesh_name) ) {
var mesh = GenerateTilesetMesh(asset, j, i);
mesh.name = mesh_name;
AssetDatabase.AddObjectToAsset(mesh, asset);
dirty = true;
}
}
}
for ( int j = 0; j < asset.Data.Tilesets.Count; ++j ) {
var material_name = string.Format("material_{0}", j);
if ( !HasSubAsset(asset, material_name) ) {
var material = GenerateTilesetMaterial(asset, j);
material.name = material_name;
AssetDatabase.AddObjectToAsset(material, asset);
dirty = true;
}
}
if ( dirty ) {
EditorUtility.SetDirty(asset);
AssetDatabase.SaveAssets();
}
}
static bool HasSubAsset(TiledMapAsset asset, string subasset_name) {
var subassets = AssetDatabase.LoadAllAssetsAtPath(
AssetDatabase.GetAssetPath(asset));
return subassets.Any(p => p.name == subasset_name);
}
static Mesh GenerateTilesetMesh(TiledMapAsset asset, int tileset_index, int layer_index) {
var vertices = new List<Vector3>();
var triangles = new List<int>();
var uvs = new List<Vector2>();
for ( var tile_y = 0; tile_y < asset.Data.Height; ++tile_y ) {
for ( var tile_x = 0; tile_x < asset.Data.Width; ++tile_x ) {
var tile_gid = asset.Data
.Layers[layer_index]
.Tiles[tile_y * asset.Data.Width + tile_x];
if ( tile_gid > 0 && CheckTileGidByTileset(asset, tile_gid, tileset_index) ) {
var tile_iso_pos = new Vector2(
-tile_y + asset.Data.Height - 1,
-tile_x + asset.Data.Width - 1);
var tile_screen_pos = TiledIsoToScreen(asset, tile_iso_pos);
var tile_sprite = GetTileSprite(asset, tile_gid, tileset_index);
var tile_width = tile_sprite.rect.width / asset.PixelsPerUnit;
var tile_height = tile_sprite.rect.height / asset.PixelsPerUnit;
var tileset_data = asset.Data.Tilesets[tileset_index];
var tileset_offset_x = tileset_data.TileOffsetX / asset.PixelsPerUnit;
var tileset_offset_y = tileset_data.TileOffsetY / asset.PixelsPerUnit;
var vertex_pos =
IsoUtils.Vec3FromVec2(tile_screen_pos) -
IsoUtils.Vec3FromXY(tile_width, tile_height) * 0.5f +
IsoUtils.Vec3FromXY(tileset_offset_x, tileset_offset_y);
vertices.Add(vertex_pos);
vertices.Add(vertex_pos + IsoUtils.Vec3FromX (tile_width));
vertices.Add(vertex_pos + IsoUtils.Vec3FromXY(tile_width, tile_height));
vertices.Add(vertex_pos + IsoUtils.Vec3FromY (tile_height));
triangles.Add(vertices.Count - 4 + 2);
triangles.Add(vertices.Count - 4 + 1);
triangles.Add(vertices.Count - 4 + 0);
triangles.Add(vertices.Count - 4 + 0);
triangles.Add(vertices.Count - 4 + 3);
triangles.Add(vertices.Count - 4 + 2);
var tex_size = new Vector2(tile_sprite.texture.width, tile_sprite.texture.height);
uvs.Add(new Vector2(tile_sprite.rect.xMin / tex_size.x, tile_sprite.rect.yMin / tex_size.y));
uvs.Add(new Vector2(tile_sprite.rect.xMax / tex_size.x, tile_sprite.rect.yMin / tex_size.y));
uvs.Add(new Vector2(tile_sprite.rect.xMax / tex_size.x, tile_sprite.rect.yMax / tex_size.y));
uvs.Add(new Vector2(tile_sprite.rect.xMin / tex_size.x, tile_sprite.rect.yMax / tex_size.y));
}
}
}
var mesh = new Mesh();
mesh.vertices = vertices.ToArray();
mesh.triangles = triangles.ToArray();
mesh.uv = uvs.ToArray();
mesh.RecalculateNormals();
return mesh;
}
static Material GenerateTilesetMaterial(TiledMapAsset asset, int tileset_index) {
var shader = Shader.Find("Sprites/Default");
if ( !shader ) {
throw new UnityException("'Sprites/Default' shader not found");
}
var material = new Material(shader);
material.SetTexture("_MainTex", GetTilesetTexture(asset, tileset_index));
return material;
}
static Vector2 TiledIsoToScreen(TiledMapAsset asset, Vector2 iso_pnt) {
return new Vector2(
(iso_pnt.x - iso_pnt.y) * asset.Data.TileWidth * 0.5f / asset.PixelsPerUnit,
(iso_pnt.x + iso_pnt.y) * asset.Data.TileHeight * 0.5f / asset.PixelsPerUnit);
}
static bool CheckTileGidByTileset(TiledMapAsset asset, int tile_gid, int tileset_index) {
var tileset_data = asset.Data.Tilesets[tileset_index];
return
tile_gid >= tileset_data.FirstGid &&
tile_gid < tileset_data.FirstGid + tileset_data.TileCount;
}
static Sprite GetTileSprite(TiledMapAsset asset, int tile_gid, int tileset_index) {
var tileset_data = asset.Data.Tilesets[tileset_index];
var tile_sprite_name = string.Format(
"{0}_{1}",
Path.GetFileNameWithoutExtension(tileset_data.ImageSource),
tile_gid);
var tileset_assets = AssetDatabase.LoadAllAssetsAtPath(Path.Combine(
Path.GetDirectoryName(AssetDatabase.GetAssetPath(asset)),
tileset_data.ImageSource));
var tile_sprite = tileset_assets
.Where(p => p is Sprite && p.name == tile_sprite_name)
.Select(p => p as Sprite)
.FirstOrDefault();
if ( !tile_sprite ) {
throw new UnityException(string.Format(
"sprite ({0}) for tile ({1}) not found",
tile_sprite_name, tile_gid));
}
return tile_sprite;
}
static Texture2D GetTilesetTexture(TiledMapAsset asset, int tileset_index) {
var tileset_data = asset.Data.Tilesets[tileset_index];
var tileset_texture_path = Path.Combine(
Path.GetDirectoryName(AssetDatabase.GetAssetPath(asset)),
tileset_data.ImageSource);
var texture = AssetDatabase.LoadAssetAtPath<Texture2D>(tileset_texture_path);
if ( !texture ) {
throw new UnityException(string.Format(
"texture ({0}) for tileset ({1}) not found",
tileset_texture_path, tileset_index));
}
return texture;
}
}
}
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 0efb791828e36460381a0cb252b3fca5
timeCreated: 1461077920
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,7 +1,5 @@
using UnityEngine;
using UnityEditor;
using IsoTools.Tiled;
using IsoTools.Internal;
namespace IsoTools.Tiled.Internal {
[CustomEditor(typeof(TiledMap)), CanEditMultipleObjects]
@@ -1,7 +1,5 @@
using UnityEngine;
using UnityEditor;
using IsoTools.Tiled;
using IsoTools.Internal;
namespace IsoTools.Tiled.Internal {
[CustomEditor(typeof(TiledMapLayer)), CanEditMultipleObjects]
@@ -1,10 +1,8 @@
using UnityEngine;
using UnityEditor;
using IsoTools.Tiled;
using System;
using System.IO;
using System.Linq;
using System.Xml;
using System.Xml.Linq;
using System.Reflection;
using System.Collections.Generic;
@@ -33,6 +31,7 @@ namespace IsoTools.Tiled.Internal {
}
new_asset.Data = tile_map_data;
new_asset.Name = Path.GetFileNameWithoutExtension(new_asset_path);
RemoveAllSubAsset(new_asset_path);
EditorUtility.SetDirty(new_asset);
AssetDatabase.SaveAssets();
}
@@ -141,16 +140,10 @@ namespace IsoTools.Tiled.Internal {
tileset.Name, image_path));
}
var method_args = new object[2]{0,0};
typeof(TextureImporter)
.GetMethod("GetWidthAndHeight", BindingFlags.NonPublic | BindingFlags.Instance)
.Invoke(importer, method_args);
var image_width = (int)method_args[0];
var image_height = (int)method_args[1];
var meta_data = new List<SpriteMetaData>();
for ( var i = image_height - tileset.TileHeight - tileset.Margin; i >= tileset.Margin; i -= tileset.TileHeight + tileset.Spacing ) {
for ( var j = tileset.Margin; j <= image_width - tileset.Margin - tileset.TileWidth; j += tileset.TileWidth + tileset.Spacing ) {
var meta_data = new List<SpriteMetaData>();
var image_size = GetSizeFromTextureImporter(importer);
for ( var i = image_size.y - tileset.TileHeight - tileset.Margin; i >= tileset.Margin; i -= tileset.TileHeight + tileset.Spacing ) {
for ( var j = tileset.Margin; j <= image_size.x - tileset.Margin - tileset.TileWidth; j += tileset.TileWidth + tileset.Spacing ) {
var meta_elem = new SpriteMetaData();
meta_elem.name = string.Format(
"{0}_{1}",
@@ -209,5 +202,22 @@ namespace IsoTools.Tiled.Internal {
}
}
}
static void RemoveAllSubAsset(string main_asset_path) {
var subassets = AssetDatabase.LoadAllAssetsAtPath(main_asset_path);
foreach ( var asset in subassets ) {
if ( !AssetDatabase.IsMainAsset(asset) ) {
GameObject.DestroyImmediate(asset, true);
}
}
}
static Vector2 GetSizeFromTextureImporter(TextureImporter importer) {
var method_args = new object[2]{0,0};
typeof(TextureImporter)
.GetMethod("GetWidthAndHeight", BindingFlags.NonPublic | BindingFlags.Instance)
.Invoke(importer, method_args);
return new Vector2((int)method_args[0], (int)method_args[1]);
}
}
}
@@ -1,7 +1,5 @@
using UnityEngine;
using UnityEditor;
using IsoTools.Tiled;
using IsoTools.Internal;
namespace IsoTools.Tiled.Internal {
[CustomEditor(typeof(TiledMapTileset)), CanEditMultipleObjects]
+1 -1
View File
@@ -44,7 +44,7 @@ namespace IsoTools.Tiled {
}
public class TiledMapAsset : ScriptableObject {
[HideInInspector]
//[HideInInspector]
public TiledMapData Data = new TiledMapData();
public string Name = string.Empty;
public float PixelsPerUnit = 100.0f;