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 @@  - - + + - - - - - - - - - - + + +