diff --git a/Assets/IsoTools/Examples/Scenes/Scene5.unity b/Assets/IsoTools/Examples/Scenes/Scene5.unity
index b30839a..7fde21d 100644
--- a/Assets/IsoTools/Examples/Scenes/Scene5.unity
+++ b/Assets/IsoTools/Examples/Scenes/Scene5.unity
@@ -87,6 +87,130 @@ NavMeshSettings:
cellSize: .166666672
manualCellSize: 0
m_NavMeshData: {fileID: 0}
+--- !u!1001 &77928946
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 216.398239
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 23.0769234
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_RootOrder
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.x
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11422542, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: IsKinematic
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.z
+ value: 12.5248899
+ objectReference: {fileID: 0}
+ - target: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_Name
+ value: Cube_1x1x10
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ m_IsPrefabParent: 0
+--- !u!1001 &255120380
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 286.0672
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_RootOrder
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.x
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11422542, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: IsKinematic
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.z
+ value: 16.8792
+ objectReference: {fileID: 0}
+ - target: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_Name
+ value: Cube_1x1x12
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ m_IsPrefabParent: 0
--- !u!1 &318480492
GameObject:
m_ObjectHideFlags: 0
@@ -171,7 +295,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
- m_RootOrder: 5
+ m_RootOrder: 13
--- !u!114 &318480498
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -184,6 +308,70 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
_tileSize: 16
+ _minDepth: 0
+ _maxDepth: 100
+--- !u!1001 &436310376
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 115.413193
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 53.8461533
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_RootOrder
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.x
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11422542, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: IsKinematic
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.z
+ value: 6.21332455
+ objectReference: {fileID: 0}
+ - target: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_Name
+ value: Cube_1x1x7
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ m_IsPrefabParent: 0
--- !u!1001 &485514980
Prefab:
m_ObjectHideFlags: 0
@@ -193,15 +381,15 @@ Prefab:
m_Modifications:
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalPosition.x
- value: -48
+ value: 0
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalPosition.y
- value: 72
+ value: 40
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalPosition.z
- value: 0
+ value: 76.9230728
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.x
@@ -221,256 +409,570 @@ Prefab:
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_RootOrder
- value: 4
+ value: 11
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: _position.x
- value: 3
+ value: 1
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: _position.y
- value: 6
+ value: 1
objectReference: {fileID: 0}
- target: {fileID: 11422542, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: IsKinematic
- value: 1
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.z
+ value: 1.5
objectReference: {fileID: 0}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
m_IsPrefabParent: 0
---- !u!1001 &645158917
+--- !u!1001 &564579619
Prefab:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- - target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
propertyPath: m_LocalPosition.z
- value: 0
+ value: 92.3076859
objectReference: {fileID: 0}
- - target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- - target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
propertyPath: m_RootOrder
- value: 0
+ value: 12
objectReference: {fileID: 0}
- - target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
propertyPath: _position.x
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
propertyPath: _position.y
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 11416990, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
- propertyPath: IsKinematic
- value: 1
- objectReference: {fileID: 0}
- - target: {fileID: 153620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
- propertyPath: m_Name
- value: Cube_1x3x2
- objectReference: {fileID: 0}
- - target: {fileID: 21253620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
- propertyPath: m_SortingOrder
- value: -2
- objectReference: {fileID: 0}
m_RemovedComponents: []
- m_ParentPrefab: {fileID: 100100000, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ m_ParentPrefab: {fileID: 100100000, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2}
m_IsPrefabParent: 0
---- !u!1001 &1506134427
+--- !u!1001 &572075320
Prefab:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- - target: {fileID: 462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalPosition.x
- value: .841789246
- objectReference: {fileID: 0}
- - target: {fileID: 462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
- propertyPath: m_LocalPosition.y
- value: -10.5253239
- objectReference: {fileID: 0}
- - target: {fileID: 462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
- propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 262.06723
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 7.69230747
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- - target: {fileID: 462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_RootOrder
value: 1
objectReference: {fileID: 0}
- - target: {fileID: 11462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: _position.x
- value: -.605221629
+ value: 1
objectReference: {fileID: 0}
- - target: {fileID: 11462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: _position.y
- value: -.657833457
+ value: 1
objectReference: {fileID: 0}
- - target: {fileID: 11462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 11422542, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: IsKinematic
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: _position.z
- value: -.0263051987
+ value: 15.3792019
objectReference: {fileID: 0}
- - target: {fileID: 162204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_Name
- value: Cube_3x1x3
- objectReference: {fileID: 0}
- - target: {fileID: 21262204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
- propertyPath: m_SortingOrder
- value: 2
+ value: Cube_1x1x11
objectReference: {fileID: 0}
m_RemovedComponents: []
- m_ParentPrefab: {fileID: 100100000, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
m_IsPrefabParent: 0
---- !u!1001 &1517863249
+--- !u!1001 &675176528
Prefab:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- - target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalPosition.y
- value: 64
+ value: 85.6689911
objectReference: {fileID: 0}
- - target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalPosition.z
- value: 0
+ value: 61.5384598
objectReference: {fileID: 0}
- - target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- - target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_RootOrder
- value: 7
+ value: 8
objectReference: {fileID: 0}
- - target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: _position.x
- value: 4
+ value: 1
objectReference: {fileID: 0}
- - target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: _position.y
- value: 4
+ value: 1
objectReference: {fileID: 0}
- - target: {fileID: 11416990, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ - target: {fileID: 11422542, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: IsKinematic
- value: 1
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.z
+ value: 4.35431194
+ objectReference: {fileID: 0}
+ - target: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_Name
+ value: Cube_1x1x4
objectReference: {fileID: 0}
m_RemovedComponents: []
- m_ParentPrefab: {fileID: 100100000, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
+ m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
m_IsPrefabParent: 0
---- !u!1001 &1919115803
+--- !u!1001 &855841511
Prefab:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- - target: {fileID: 462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalPosition.x
- value: -80
- objectReference: {fileID: 0}
- - target: {fileID: 462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
- propertyPath: m_LocalPosition.y
- value: 72
- objectReference: {fileID: 0}
- - target: {fileID: 462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
- propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 139.413193
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 46.1538467
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- - target: {fileID: 462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_RootOrder
value: 4
objectReference: {fileID: 0}
- - target: {fileID: 11462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: _position.x
- value: 2
+ value: 1
objectReference: {fileID: 0}
- - target: {fileID: 11462204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: _position.y
- value: 7
+ value: 1
objectReference: {fileID: 0}
- - target: {fileID: 162204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ - target: {fileID: 11422542, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: IsKinematic
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.z
+ value: 7.71332455
+ objectReference: {fileID: 0}
+ - target: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_Name
- value: Cube_3x1x2
- objectReference: {fileID: 0}
- - target: {fileID: 21262204, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
- propertyPath: m_SortingOrder
- value: -2
+ value: Cube_1x1x8
objectReference: {fileID: 0}
m_RemovedComponents: []
- m_ParentPrefab: {fileID: 100100000, guid: fb3806e9ed7ada045b1b57419ac1ee53, type: 2}
+ m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ m_IsPrefabParent: 0
+--- !u!1001 &1069409129
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 161.082184
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 38.4615402
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_RootOrder
+ value: 6
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.x
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11422542, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: IsKinematic
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.z
+ value: 9.06763649
+ objectReference: {fileID: 0}
+ - target: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_Name
+ value: Cube_1x1x6
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ m_IsPrefabParent: 0
+--- !u!1001 &1418469066
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 16
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 84.6153793
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_RootOrder
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.x
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11422542, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: IsKinematic
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_Name
+ value: Cube_1x1x2
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ m_IsPrefabParent: 0
+--- !u!1001 &1423117994
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 240.398239
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 15.3846149
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_RootOrder
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.x
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11422542, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: IsKinematic
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.z
+ value: 14.0248899
+ objectReference: {fileID: 0}
+ - target: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_Name
+ value: Cube_1x1x9
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ m_IsPrefabParent: 0
+--- !u!1001 &1689211580
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 185.082184
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 30.7692318
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_RootOrder
+ value: 7
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.x
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11422542, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: IsKinematic
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.z
+ value: 10.5676365
+ objectReference: {fileID: 0}
+ - target: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_Name
+ value: Cube_1x1x5
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ m_IsPrefabParent: 0
+--- !u!1001 &2146034803
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 61.6689911
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 69.2307663
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_RootOrder
+ value: 9
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.x
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 11422542, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: IsKinematic
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: _position.z
+ value: 2.85431194
+ objectReference: {fileID: 0}
+ - target: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
+ propertyPath: m_Name
+ value: Cube_1x1x3
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
m_IsPrefabParent: 0
diff --git a/Assets/IsoTools/Scripts/IsoObject.cs b/Assets/IsoTools/Scripts/IsoObject.cs
index adc31ac..468239d 100644
--- a/Assets/IsoTools/Scripts/IsoObject.cs
+++ b/Assets/IsoTools/Scripts/IsoObject.cs
@@ -6,18 +6,74 @@ using UnityEditor;
namespace IsoTools {
[ExecuteInEditMode]
- [RequireComponent(typeof(SpriteRenderer))]
public class IsoObject : MonoBehaviour {
#if UNITY_EDITOR
- Vector2 _lastTransform = Vector2.zero;
- Vector3 _lastPosition = Vector3.zero;
Vector3 _lastSize = Vector3.zero;
+ Vector3 _lastPosition = Vector3.zero;
+ Vector2 _lastTransform = Vector2.zero;
#endif
+ // ------------------------------------------------------------------------
+ //
+ // Size
+ //
+ // ------------------------------------------------------------------------
+
+ [SerializeField]
+ Vector3 _size = Vector3.one;
+
+ /// Isometric object size.
+ public Vector3 Size {
+ get { return _size; }
+ set {
+ _size = IsoUtils.Vec3Max(value, Vector3.zero);
+ FixTransform();
+ }
+ }
+
+ /// Isometric object size X.
+ public float SizeX {
+ get { return Size.x; }
+ set { Size = IsoUtils.Vec3ChangeX(Size, value); }
+ }
+
+ /// Isometric object size Y.
+ public float SizeY {
+ get { return Size.y; }
+ set { Size = IsoUtils.Vec3ChangeY(Size, value); }
+ }
+
+ /// Isometric object size Z.
+ public float SizeZ {
+ get { return Size.z; }
+ set { Size = IsoUtils.Vec3ChangeZ(Size, value); }
+ }
+
+ /// Isometric object size XY.
+ public Vector2 SizeXY {
+ get { return new Vector2(SizeX, SizeY); }
+ }
+
+ /// Isometric object size YZ.
+ public Vector2 SizeYZ {
+ get { return new Vector2(SizeY, SizeZ); }
+ }
+
+ /// Isometric object size XZ.
+ public Vector2 SizeXZ {
+ get { return new Vector2(SizeX, SizeZ); }
+ }
+
+ // ------------------------------------------------------------------------
+ //
+ // Position
+ //
+ // ------------------------------------------------------------------------
+
[SerializeField]
Vector3 _position = Vector3.zero;
-
+
/// Isometric object position.
public Vector3 Position {
get { return _position; }
@@ -26,7 +82,7 @@ namespace IsoTools {
FixTransform();
}
}
-
+
/// Isometric object position X.
public float PositionX {
get { return Position.x; }
@@ -44,66 +100,27 @@ namespace IsoTools {
get { return Position.z; }
set { Position = IsoUtils.Vec3ChangeZ(Position, value); }
}
-
+
/// Isometric object position XY.
public Vector2 PositionXY {
get { return new Vector2(PositionX, PositionY); }
}
-
+
/// Isometric object position YZ.
public Vector2 PositionYZ {
get { return new Vector2(PositionY, PositionZ); }
}
-
+
/// Isometric object position XZ.
public Vector2 PositionXZ {
get { return new Vector2(PositionX, PositionZ); }
}
- [SerializeField]
- Vector3 _size = Vector3.one;
-
- /// Isometric object size.
- public Vector3 Size {
- get { return _size; }
- set {
- _size = IsoUtils.Vec3Max(value, Vector3.zero);
- FixTransform();
- }
- }
-
- /// Isometric object size X.
- public float SizeX {
- get { return Size.x; }
- set { Size = IsoUtils.Vec3ChangeX(Size, value); }
- }
-
- /// Isometric object size Y.
- public float SizeY {
- get { return Size.y; }
- set { Size = IsoUtils.Vec3ChangeY(Size, value); }
- }
-
- /// Isometric object size Z.
- public float SizeZ {
- get { return Size.z; }
- set { Size = IsoUtils.Vec3ChangeZ(Size, value); }
- }
-
- /// Isometric object size XY.
- public Vector2 SizeXY {
- get { return new Vector2(SizeX, SizeY); }
- }
-
- /// Isometric object size YZ.
- public Vector2 SizeYZ {
- get { return new Vector2(SizeY, SizeZ); }
- }
-
- /// Isometric object size XZ.
- public Vector2 SizeXZ {
- get { return new Vector2(SizeX, SizeZ); }
- }
+ // ------------------------------------------------------------------------
+ //
+ // TilePosition
+ //
+ // ------------------------------------------------------------------------
/// Isometric object tile position.
public Vector3 TilePosition {
@@ -144,6 +161,12 @@ namespace IsoTools {
get { return new Vector2(TilePositionX, TilePositionZ); }
}
+ // ------------------------------------------------------------------------
+ //
+ // Functions
+ //
+ // ------------------------------------------------------------------------
+
IsoWorld _iso_world = null;
public IsoWorld IsoWorld {
get {
@@ -178,9 +201,9 @@ namespace IsoTools {
void FixLastProperties() {
#if UNITY_EDITOR
- _lastTransform = transform.position;
- _lastPosition = Position;
_lastSize = Size;
+ _lastPosition = Position;
+ _lastTransform = transform.position;
#endif
}
diff --git a/Assets/IsoTools/Scripts/IsoWorld.cs b/Assets/IsoTools/Scripts/IsoWorld.cs
index 4d0c4dd..63ddacd 100644
--- a/Assets/IsoTools/Scripts/IsoWorld.cs
+++ b/Assets/IsoTools/Scripts/IsoWorld.cs
@@ -41,6 +41,8 @@ namespace IsoTools {
bool _dirty = true;
float _lastTileSize = 0.0f;
+ float _lastMinDepth = 0.0f;
+ float _lastMaxDepth = 0.0f;
List _sectors = new List();
List _objects = new List();
@@ -60,6 +62,28 @@ namespace IsoTools {
ChangeSortingProperty();
}
}
+
+ [SerializeField]
+ public float _minDepth = 0.0f;
+ /// Min sorting depth value.
+ public float MinDepth {
+ get { return _minDepth; }
+ set {
+ _minDepth = value;
+ ChangeSortingProperty();
+ }
+ }
+
+ [SerializeField]
+ public float _maxDepth = 100.0f;
+ /// Max sorting depth value.
+ public float MaxDepth {
+ get { return _maxDepth; }
+ set {
+ _maxDepth = value;
+ ChangeSortingProperty();
+ }
+ }
// ------------------------------------------------------------------------
///
@@ -75,14 +99,11 @@ namespace IsoTools {
///
/// Marks world for resorting.
///
- /// Isometric object for resorting.
+ /// Isometric object for resorting.
// ------------------------------------------------------------------------
- public void MarkDirty(IsoObject obj) {
- if ( obj ) {
- var renderer = obj.GetComponent();
- if ( renderer && renderer.isVisible ) {
- MarkDirty();
- }
+ public void MarkDirty(IsoObject iso_object) {
+ if ( iso_object && IsIsoObjectVisible(iso_object) ) {
+ MarkDirty();
}
}
@@ -127,6 +148,21 @@ namespace IsoTools {
iso_z);
}
+ // ------------------------------------------------------------------------
+ //
+ // Private
+ //
+ // ------------------------------------------------------------------------
+
+ bool IsIsoObjectVisible(IsoObject iso_object) {
+ var renderer = iso_object.GetComponent();
+ if ( renderer && renderer.isVisible ) {
+ return true;
+ }
+ var renderers = iso_object.GetComponentsInChildren();
+ return renderers.Any(r => r.isVisible);
+ }
+
void MarkEditorWorldDirty() {
#if UNITY_EDITOR
if ( Application.isEditor ) {
@@ -150,6 +186,8 @@ namespace IsoTools {
MarkDirty();
FixAllTransforms();
_lastTileSize = TileSize;
+ _lastMinDepth = MinDepth;
+ _lastMaxDepth = MaxDepth;
}
int SectorIndex(Vector3 num_pos) {
@@ -211,32 +249,16 @@ namespace IsoTools {
var a_yesno = a_max.x > b_min.x && a_max.y > b_min.y && b_max.z > a_min.z;
var b_yesno = b_max.x > a_min.x && b_max.y > a_min.y && a_max.z > b_min.z;
if ( a_yesno && b_yesno ) {
- var da_p = new Vector3(a_max.x - b_min.x, a_max.y - b_min.y, a_max.z - b_min.z);
- var db_p = new Vector3(b_max.x - a_min.x, b_max.y - a_min.y, b_max.z - a_min.z);
- var dd_p = IsoUtils.Vec3Abs(da_p - db_p);
-
- Debug.LogFormat("CoefDB: {0}:::{1}:::{2}", dd_p.x, dd_p.y, dd_p.z);
- Debug.LogFormat("----------------------------");
-
- if ( dd_p.z > dd_p.x || dd_p.z > dd_p.y ) {
- Debug.Log("by z");
- return da_p.z < db_p.z;
- } else if ( dd_p.x > dd_p.y && dd_p.x > dd_p.z ) {
- Debug.Log("by x");
+ var da_p = new Vector3(a_max.x - b_min.x, a_max.y - b_min.y, b_max.z - a_min.z);
+ var db_p = new Vector3(b_max.x - a_min.x, b_max.y - a_min.y, a_max.z - b_min.z);
+ var dp_p = a_size + b_size - IsoUtils.Vec3Abs(da_p - db_p);
+ if ( dp_p.x <= dp_p.y && dp_p.x <= dp_p.z ) {
return da_p.x > db_p.x;
- } else if ( dd_p.y > dd_p.x && dd_p.y > dd_p.z) {
- Debug.Log("by y");
- return da_p.y > db_p.y;
- }
-
- /*
- if ( dd_p.x < dd_p.y ) {
- Debug.Log("by y");
+ } else if ( dp_p.y <= dp_p.x && dp_p.y <= dp_p.z ) {
return da_p.y > db_p.y;
} else {
- Debug.Log("by x");
- return da_p.x > db_p.x;
- }*/
+ return da_p.z > db_p.z;
+ }
}
return a_yesno;
}
@@ -245,8 +267,7 @@ namespace IsoTools {
_objsSectorSize = 0.0f;
var objsSum = 0;
foreach ( var obj in iso_objects ) {
- var renderer = obj.GetComponent();
- if ( renderer && renderer.isVisible ) {
+ if ( IsIsoObjectVisible(obj) ) {
++objsSum;
_objsSectorSize += Mathf.Max(obj.Size.x, obj.Size.y, obj.Size.z);
}
@@ -259,8 +280,7 @@ namespace IsoTools {
_objsMinNumPos = Vector3.zero;
_objsMaxNumPos = Vector3.one;
foreach ( var obj in iso_objects ) {
- var renderer = obj.GetComponent();
- if ( renderer && renderer.isVisible ) {
+ if ( IsIsoObjectVisible(obj) ) {
var max_size = IsoUtils.Vec3Max(Vector3.one, obj.Size);
var min_npos = IsoUtils.Vec3DivFloor(obj.Position, _objsSectorSize);
var max_npos = IsoUtils.Vec3DivCeil(obj.Position + max_size, _objsSectorSize);
@@ -310,7 +330,7 @@ namespace IsoTools {
}
void PlaceAllObjects() {
- var depth = 0;
+ var depth = MinDepth;
foreach ( var info in _objects ) {
depth = PlaceObject(info, depth);
}
@@ -319,16 +339,12 @@ namespace IsoTools {
_depends.Clear();
}
- void PlaceObject(IsoObject obj, int depth) {
- //var trans = obj.gameObject.transform;
- //trans.position = new Vector3(trans.position.x, trans.position.y, depth);
- var renderer = obj.GetComponent();
- if ( renderer ) {
- renderer.sortingOrder = depth;
- }
+ void PlaceObject(IsoObject obj, float depth) {
+ var trans = obj.gameObject.transform;
+ trans.position = IsoUtils.Vec3ChangeZ(trans.position, depth);
}
- int PlaceObject(ObjectInfo info, int depth) {
+ float PlaceObject(ObjectInfo info, float depth) {
if ( info.Visited ) {
return depth;
}
@@ -339,7 +355,7 @@ namespace IsoTools {
depth = PlaceObject(obj, depth);
}
PlaceObject(info.IsoObject, depth);
- return depth - 1;
+ return depth + (MaxDepth - MinDepth) / _objects.Count;
}
void StepSort() {
@@ -362,6 +378,8 @@ namespace IsoTools {
void LateUpdate() {
if ( Application.isEditor ) {
if ( !Mathf.Approximately(_lastTileSize, _tileSize) ) TileSize = _tileSize;
+ if ( !Mathf.Approximately(_lastMinDepth, _minDepth) ) MinDepth = _minDepth;
+ if ( !Mathf.Approximately(_lastMaxDepth, _maxDepth) ) MaxDepth = _maxDepth;
}
StepSort();
}
diff --git a/UnityIso-csharp.sln b/UnityIso-csharp.sln
index d4dd7a8..3891b76 100644
--- a/UnityIso-csharp.sln
+++ b/UnityIso-csharp.sln
@@ -23,7 +23,7 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
- GlobalSection(MonoDevelopProperties) = preSolution
+ GlobalSection(MonoDevelopProperties) = preSolution
StartupItem = Assembly-CSharp.csproj
Policies = $0
$0.TextStylePolicy = $1
diff --git a/UnityIso.sln b/UnityIso.sln
index 8f2fc19..3f0226a 100644
--- a/UnityIso.sln
+++ b/UnityIso.sln
@@ -23,7 +23,7 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
- GlobalSection(MonoDevelopProperties) = preSolution
+ GlobalSection(MonoDevelopProperties) = preSolution
StartupItem = Assembly-CSharp.csproj
Policies = $0
$0.TextStylePolicy = $1
diff --git a/UnityIso.userprefs b/UnityIso.userprefs
index 716902c..e8adfe0 100644
--- a/UnityIso.userprefs
+++ b/UnityIso.userprefs
@@ -1,17 +1,10 @@
-
-
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+