From 9c700fb06a20084b8a25088bf2200a20cbf0c204 Mon Sep 17 00:00:00 2001 From: BlackMATov Date: Tue, 16 Jun 2015 01:29:23 +0600 Subject: [PATCH] new physics wip --- Assembly-CSharp-Editor-vs.csproj | 2 + Assembly-CSharp-Editor.csproj | 2 + Assembly-CSharp-vs.csproj | 5 + Assembly-CSharp.csproj | 5 + .../IsoTools/Editor/IsoBoxColliderEditor.cs | 21 + .../Editor/IsoBoxColliderEditor.cs.meta | 12 + Assets/IsoTools/Editor/IsoObjectEditor.cs | 25 +- .../Editor/IsoSphereColliderEditor.cs | 21 + .../Editor/IsoSphereColliderEditor.cs.meta | 12 + .../Examples/Images/Cube_1x1x1.png.meta | 6 +- .../Examples/Images/Cube_1x1x3.png.meta | 6 +- .../Examples/Images/Cube_1x3x1.png.meta | 4 +- .../Examples/Images/Cube_3x1x1.png.meta | 4 +- .../IsoTools/Examples/Images/Floor.png.meta | 6 +- .../Examples/Images/Floor3x3.png.meta | 6 +- .../IsoTools/Examples/Images/Wall_l.png.meta | 6 +- .../IsoTools/Examples/Images/Wall_r.png.meta | 6 +- .../Examples/Images/Wallx3_l.png.meta | 6 +- .../Examples/Images/Wallx3_r.png.meta | 6 +- .../Prefabs/BoxPhysicMaterial.physicMaterial | 2 +- Assets/IsoTools/Examples/Scenes/Scene5.unity | 901 +----------------- .../Examples/Scripts/IsoController.cs | 5 +- Assets/IsoTools/Scripts/IsoBoxCollider.cs | 38 + .../IsoTools/Scripts/IsoBoxCollider.cs.meta | 12 + Assets/IsoTools/Scripts/IsoCollider.cs | 37 + Assets/IsoTools/Scripts/IsoCollider.cs.meta | 12 + Assets/IsoTools/Scripts/IsoFakeObject.cs | 27 + Assets/IsoTools/Scripts/IsoFakeObject.cs.meta | 12 + Assets/IsoTools/Scripts/IsoObject.cs | 2 +- Assets/IsoTools/Scripts/IsoPhysicHelper.cs | 33 + .../IsoTools/Scripts/IsoPhysicHelper.cs.meta | 12 + Assets/IsoTools/Scripts/IsoRigidbody.cs | 104 +- Assets/IsoTools/Scripts/IsoRigidbody.cs.meta | 4 +- Assets/IsoTools/Scripts/IsoSphereCollider.cs | 38 + .../Scripts/IsoSphereCollider.cs.meta | 12 + Assets/IsoTools/Scripts/IsoUtils.cs | 40 +- Assets/IsoTools/Scripts/IsoWorld.cs | 6 +- UnityIso-csharp.sln | 2 +- UnityIso.sln | 2 +- UnityIso.userprefs | 8 +- 40 files changed, 432 insertions(+), 1038 deletions(-) create mode 100644 Assets/IsoTools/Editor/IsoBoxColliderEditor.cs create mode 100644 Assets/IsoTools/Editor/IsoBoxColliderEditor.cs.meta create mode 100644 Assets/IsoTools/Editor/IsoSphereColliderEditor.cs create mode 100644 Assets/IsoTools/Editor/IsoSphereColliderEditor.cs.meta create mode 100644 Assets/IsoTools/Scripts/IsoBoxCollider.cs create mode 100644 Assets/IsoTools/Scripts/IsoBoxCollider.cs.meta create mode 100644 Assets/IsoTools/Scripts/IsoCollider.cs create mode 100644 Assets/IsoTools/Scripts/IsoCollider.cs.meta create mode 100644 Assets/IsoTools/Scripts/IsoFakeObject.cs create mode 100644 Assets/IsoTools/Scripts/IsoFakeObject.cs.meta create mode 100644 Assets/IsoTools/Scripts/IsoPhysicHelper.cs create mode 100644 Assets/IsoTools/Scripts/IsoPhysicHelper.cs.meta create mode 100644 Assets/IsoTools/Scripts/IsoSphereCollider.cs create mode 100644 Assets/IsoTools/Scripts/IsoSphereCollider.cs.meta diff --git a/Assembly-CSharp-Editor-vs.csproj b/Assembly-CSharp-Editor-vs.csproj index e4fc13b..6a48ba3 100644 --- a/Assembly-CSharp-Editor-vs.csproj +++ b/Assembly-CSharp-Editor-vs.csproj @@ -46,7 +46,9 @@ + + /Applications/Unity/Unity.app/Contents/UnityExtensions/Unity/GUISystem/UnityEngine.UI.dll diff --git a/Assembly-CSharp-Editor.csproj b/Assembly-CSharp-Editor.csproj index 40e08ba..783cd18 100644 --- a/Assembly-CSharp-Editor.csproj +++ b/Assembly-CSharp-Editor.csproj @@ -46,7 +46,9 @@ + + /Applications/Unity/Unity.app/Contents/UnityExtensions/Unity/GUISystem/UnityEngine.UI.dll diff --git a/Assembly-CSharp-vs.csproj b/Assembly-CSharp-vs.csproj index 397aa19..9439c5d 100644 --- a/Assembly-CSharp-vs.csproj +++ b/Assembly-CSharp-vs.csproj @@ -49,8 +49,13 @@ + + + + + diff --git a/Assembly-CSharp.csproj b/Assembly-CSharp.csproj index 397aa19..9439c5d 100644 --- a/Assembly-CSharp.csproj +++ b/Assembly-CSharp.csproj @@ -49,8 +49,13 @@ + + + + + diff --git a/Assets/IsoTools/Editor/IsoBoxColliderEditor.cs b/Assets/IsoTools/Editor/IsoBoxColliderEditor.cs new file mode 100644 index 0000000..6a34ac4 --- /dev/null +++ b/Assets/IsoTools/Editor/IsoBoxColliderEditor.cs @@ -0,0 +1,21 @@ +using UnityEngine; +using UnityEditor; +using System.Linq; + +namespace IsoTools { + [CustomEditor(typeof(IsoBoxCollider)), CanEditMultipleObjects] + class IsoBoxColliderEditor : Editor { + public override void OnInspectorGUI() { + DrawDefaultInspector(); + if ( GUILayout.Button("Reset") ) { + var colliders = targets + .Where(p => p as IsoBoxCollider) + .Select(p => p as IsoBoxCollider); + Undo.RecordObjects(colliders.ToArray(), "Reset"); + foreach ( var collider in colliders ) { + collider.EditorReset(); + } + } + } + } +} // namespace IsoTools \ No newline at end of file diff --git a/Assets/IsoTools/Editor/IsoBoxColliderEditor.cs.meta b/Assets/IsoTools/Editor/IsoBoxColliderEditor.cs.meta new file mode 100644 index 0000000..ad63554 --- /dev/null +++ b/Assets/IsoTools/Editor/IsoBoxColliderEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f3b3f8161f00e42c4b964264ca55a213 +timeCreated: 1434283945 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/IsoTools/Editor/IsoObjectEditor.cs b/Assets/IsoTools/Editor/IsoObjectEditor.cs index dc5b7c7..77246b8 100644 --- a/Assets/IsoTools/Editor/IsoObjectEditor.cs +++ b/Assets/IsoTools/Editor/IsoObjectEditor.cs @@ -13,17 +13,20 @@ namespace IsoTools { Vector3 _viewCenter = Vector3.zero; void GrabPositions() { - _positions = targets - .Where(p => p as IsoObject) - .Select(p => p as IsoObject) - .ToDictionary(p => p, p => p.transform.position); - _iso_zpositions = targets - .Where(p => p as IsoObject) - .Select(p => p as IsoObject) - .ToDictionary(p => p, p => p.Position.z); - _center = _viewCenter = _positions.Aggregate(Vector3.zero, (AccIn, p) => { - return AccIn + p.Value; - }) / _positions.Count; + var iso_world = GameObject.FindObjectOfType(); + if ( iso_world ) { + _positions = targets + .Where(p => p as IsoObject) + .Select(p => p as IsoObject) + .ToDictionary(p => p, p => p.transform.position); + _iso_zpositions = targets + .Where(p => p as IsoObject) + .Select(p => p as IsoObject) + .ToDictionary(p => p, p => p.Position.z); + _center = _viewCenter = _positions.Aggregate(Vector3.zero, (AccIn, p) => { + return AccIn + IsoUtils.Vec3FromVec2(iso_world.IsoToScreen(p.Key.Position + p.Key.Size * 0.5f)); + }) / _positions.Count; + } } bool IsAnyAlignment { diff --git a/Assets/IsoTools/Editor/IsoSphereColliderEditor.cs b/Assets/IsoTools/Editor/IsoSphereColliderEditor.cs new file mode 100644 index 0000000..964b3f7 --- /dev/null +++ b/Assets/IsoTools/Editor/IsoSphereColliderEditor.cs @@ -0,0 +1,21 @@ +using UnityEngine; +using UnityEditor; +using System.Linq; + +namespace IsoTools { + [CustomEditor(typeof(IsoSphereCollider)), CanEditMultipleObjects] + class IsoSphereColliderEditor : Editor { + public override void OnInspectorGUI() { + DrawDefaultInspector(); + if ( GUILayout.Button("Reset") ) { + var colliders = targets + .Where(p => p as IsoSphereCollider) + .Select(p => p as IsoSphereCollider); + Undo.RecordObjects(colliders.ToArray(), "Reset"); + foreach ( var collider in colliders ) { + collider.EditorReset(); + } + } + } + } +} // namespace IsoTools \ No newline at end of file diff --git a/Assets/IsoTools/Editor/IsoSphereColliderEditor.cs.meta b/Assets/IsoTools/Editor/IsoSphereColliderEditor.cs.meta new file mode 100644 index 0000000..5d72548 --- /dev/null +++ b/Assets/IsoTools/Editor/IsoSphereColliderEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6573b5ff6eda8473f9de383724b83790 +timeCreated: 1434283965 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/IsoTools/Examples/Images/Cube_1x1x1.png.meta b/Assets/IsoTools/Examples/Images/Cube_1x1x1.png.meta index 551e631..242c3f3 100644 --- a/Assets/IsoTools/Examples/Images/Cube_1x1x1.png.meta +++ b/Assets/IsoTools/Examples/Images/Cube_1x1x1.png.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 guid: dda1716486a64604ba1c99ad9655eeb2 +timeCreated: 1434196143 +licenseType: Free TextureImporter: fileIDToRecycleName: {} serializedVersion: 2 @@ -38,8 +40,8 @@ TextureImporter: spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 - alignment: 9 - spritePivot: {x: .5, y: .257999986} + alignment: 7 + spritePivot: {x: .5, y: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 1 alphaIsTransparency: 1 diff --git a/Assets/IsoTools/Examples/Images/Cube_1x1x3.png.meta b/Assets/IsoTools/Examples/Images/Cube_1x1x3.png.meta index dcd0650..5f984f8 100644 --- a/Assets/IsoTools/Examples/Images/Cube_1x1x3.png.meta +++ b/Assets/IsoTools/Examples/Images/Cube_1x1x3.png.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 guid: 529e3cb7140cf0340a859f744523212e +timeCreated: 1434196216 +licenseType: Free TextureImporter: fileIDToRecycleName: {} serializedVersion: 2 @@ -38,8 +40,8 @@ TextureImporter: spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 - alignment: 9 - spritePivot: {x: .5, y: .130999997} + alignment: 7 + spritePivot: {x: .5, y: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 1 alphaIsTransparency: 1 diff --git a/Assets/IsoTools/Examples/Images/Cube_1x3x1.png.meta b/Assets/IsoTools/Examples/Images/Cube_1x3x1.png.meta index ff178ff..3bc2dbd 100644 --- a/Assets/IsoTools/Examples/Images/Cube_1x3x1.png.meta +++ b/Assets/IsoTools/Examples/Images/Cube_1x3x1.png.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 guid: 134a5af3424cf9f45b3c527e6d44d71b +timeCreated: 1434196404 +licenseType: Free TextureImporter: fileIDToRecycleName: {} serializedVersion: 2 @@ -39,7 +41,7 @@ TextureImporter: spriteExtrude: 1 spriteMeshType: 1 alignment: 9 - spritePivot: {x: .741999984, y: .174999997} + spritePivot: {x: .741999984, y: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 1 alphaIsTransparency: 1 diff --git a/Assets/IsoTools/Examples/Images/Cube_3x1x1.png.meta b/Assets/IsoTools/Examples/Images/Cube_3x1x1.png.meta index 8de6d73..baeb70a 100644 --- a/Assets/IsoTools/Examples/Images/Cube_3x1x1.png.meta +++ b/Assets/IsoTools/Examples/Images/Cube_3x1x1.png.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 guid: 3459d1c3ed403234288c562aeede56d0 +timeCreated: 1434196382 +licenseType: Free TextureImporter: fileIDToRecycleName: {} serializedVersion: 2 @@ -39,7 +41,7 @@ TextureImporter: spriteExtrude: 1 spriteMeshType: 1 alignment: 9 - spritePivot: {x: .257999986, y: .174999997} + spritePivot: {x: .257999986, y: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 1 alphaIsTransparency: 1 diff --git a/Assets/IsoTools/Examples/Images/Floor.png.meta b/Assets/IsoTools/Examples/Images/Floor.png.meta index 827e801..e66e0ef 100644 --- a/Assets/IsoTools/Examples/Images/Floor.png.meta +++ b/Assets/IsoTools/Examples/Images/Floor.png.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 guid: acb19fa5475385a47a614d3a2f318ed1 +timeCreated: 1434196287 +licenseType: Free TextureImporter: fileIDToRecycleName: 21300000: Floor2_0 @@ -39,8 +41,8 @@ TextureImporter: spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 - alignment: 9 - spritePivot: {x: .5, y: .5} + alignment: 7 + spritePivot: {x: .5, y: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 1 alphaIsTransparency: 1 diff --git a/Assets/IsoTools/Examples/Images/Floor3x3.png.meta b/Assets/IsoTools/Examples/Images/Floor3x3.png.meta index 42a5745..83de47b 100644 --- a/Assets/IsoTools/Examples/Images/Floor3x3.png.meta +++ b/Assets/IsoTools/Examples/Images/Floor3x3.png.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 guid: 03252686d19205e4d8a6ef5127d6f46d +timeCreated: 1434196205 +licenseType: Free TextureImporter: fileIDToRecycleName: {} serializedVersion: 2 @@ -38,8 +40,8 @@ TextureImporter: spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 - alignment: 9 - spritePivot: {x: .5, y: .174999997} + alignment: 7 + spritePivot: {x: .5, y: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 1 alphaIsTransparency: 1 diff --git a/Assets/IsoTools/Examples/Images/Wall_l.png.meta b/Assets/IsoTools/Examples/Images/Wall_l.png.meta index ca82869..ec01a5e 100644 --- a/Assets/IsoTools/Examples/Images/Wall_l.png.meta +++ b/Assets/IsoTools/Examples/Images/Wall_l.png.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 guid: 94ee4968df8f08d47a494b66b54e1987 +timeCreated: 1434196295 +licenseType: Free TextureImporter: fileIDToRecycleName: 21300000: Wall_0 @@ -39,8 +41,8 @@ TextureImporter: spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 - alignment: 9 - spritePivot: {x: .5, y: .257999986} + alignment: 7 + spritePivot: {x: .5, y: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 1 alphaIsTransparency: 1 diff --git a/Assets/IsoTools/Examples/Images/Wall_r.png.meta b/Assets/IsoTools/Examples/Images/Wall_r.png.meta index e0f58a4..3e38bad 100644 --- a/Assets/IsoTools/Examples/Images/Wall_r.png.meta +++ b/Assets/IsoTools/Examples/Images/Wall_r.png.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 guid: 339b266fd619cfb4b8828bac4c636dd2 +timeCreated: 1434199925 +licenseType: Free TextureImporter: fileIDToRecycleName: 21300000: Wall2_0 @@ -39,8 +41,8 @@ TextureImporter: spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 - alignment: 9 - spritePivot: {x: .485000014, y: .254999995} + alignment: 7 + spritePivot: {x: .5, y: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 1 alphaIsTransparency: 1 diff --git a/Assets/IsoTools/Examples/Images/Wallx3_l.png.meta b/Assets/IsoTools/Examples/Images/Wallx3_l.png.meta index 99fe411..5e3ffe8 100644 --- a/Assets/IsoTools/Examples/Images/Wallx3_l.png.meta +++ b/Assets/IsoTools/Examples/Images/Wallx3_l.png.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 guid: 8e9123aea46456b4d9dd4558840f0d88 +timeCreated: 1434199941 +licenseType: Free TextureImporter: fileIDToRecycleName: {} serializedVersion: 2 @@ -38,8 +40,8 @@ TextureImporter: spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 - alignment: 9 - spritePivot: {x: .980000019, y: .208000004} + alignment: 8 + spritePivot: {x: 1, y: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 1 alphaIsTransparency: 1 diff --git a/Assets/IsoTools/Examples/Images/Wallx3_r.png.meta b/Assets/IsoTools/Examples/Images/Wallx3_r.png.meta index 219ab4d..2fe575a 100644 --- a/Assets/IsoTools/Examples/Images/Wallx3_r.png.meta +++ b/Assets/IsoTools/Examples/Images/Wallx3_r.png.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 guid: 6f46be8cb617f6045a549493667d808c +timeCreated: 1434196325 +licenseType: Free TextureImporter: fileIDToRecycleName: {} serializedVersion: 2 @@ -38,8 +40,8 @@ TextureImporter: spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 - alignment: 9 - spritePivot: {x: 0, y: .208000004} + alignment: 6 + spritePivot: {x: 0, y: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 1 alphaIsTransparency: 1 diff --git a/Assets/IsoTools/Examples/Prefabs/BoxPhysicMaterial.physicMaterial b/Assets/IsoTools/Examples/Prefabs/BoxPhysicMaterial.physicMaterial index f31e26a..5eee5a6 100644 --- a/Assets/IsoTools/Examples/Prefabs/BoxPhysicMaterial.physicMaterial +++ b/Assets/IsoTools/Examples/Prefabs/BoxPhysicMaterial.physicMaterial @@ -8,7 +8,7 @@ PhysicMaterial: m_Name: BoxPhysicMaterial dynamicFriction: .600000024 staticFriction: .600000024 - bounciness: .800000012 + bounciness: .5 frictionCombine: 0 bounceCombine: 0 frictionDirection2: {x: 0, y: 0, z: 0} diff --git a/Assets/IsoTools/Examples/Scenes/Scene5.unity b/Assets/IsoTools/Examples/Scenes/Scene5.unity index f1fc96f..7addd57 100644 --- a/Assets/IsoTools/Examples/Scenes/Scene5.unity +++ b/Assets/IsoTools/Examples/Scenes/Scene5.unity @@ -87,111 +87,6 @@ NavMeshSettings: cellSize: .166666672 manualCellSize: 0 m_NavMeshData: {fileID: 0} ---- !u!1001 &207043861 -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: 0 - objectReference: {fileID: 0} - - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_LocalPosition.z - value: 50 - 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: 0 - objectReference: {fileID: 0} - - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: _position.y - value: 0 - 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_1x1x7 - objectReference: {fileID: 0} - - target: {fileID: 21217528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Color.r - value: .149019614 - objectReference: {fileID: 0} - - target: {fileID: 21217528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Color.g - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 21217528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Color.b - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &207043862 stripped -GameObject: - m_PrefabParentObject: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - m_PrefabInternal: {fileID: 207043861} ---- !u!114 &207043863 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 207043862} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 449e21ec66627fb49a67d615cd9d240a, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &207043864 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 207043862} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b6f23cf97dc1d49d89a2556193c4f2e2, type: 3} - m_Name: - m_EditorClassIdentifier: - IsTrigger: 0 - IsKinematic: 0 - Interpolation: 0 - CollisionMode: 0 - PhysicMaterial: {fileID: 13400000, guid: 867b8c31d245f45d482bfe52123a0c6d, type: 2} --- !u!1 &318480492 GameObject: m_ObjectHideFlags: 0 @@ -276,7 +171,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 10 + m_RootOrder: 0 --- !u!114 &318480498 MonoBehaviour: m_ObjectHideFlags: 0 @@ -291,797 +186,3 @@ MonoBehaviour: _tileSize: 16 _minDepth: 0 _maxDepth: 100 ---- !u!1001 &445473403 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalPosition.x - value: -48 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalPosition.y - value: -24 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalPosition.z - value: 90 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_RootOrder - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: _position.x - value: -3 - objectReference: {fileID: 0} - - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: _position.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 153404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_Name - value: Floor_3x4 - objectReference: {fileID: 0} - - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: _size.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: _position.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &445473404 stripped -GameObject: - m_PrefabParentObject: {fileID: 153404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - m_PrefabInternal: {fileID: 445473403} ---- !u!114 &445473405 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 445473404} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b6f23cf97dc1d49d89a2556193c4f2e2, type: 3} - m_Name: - m_EditorClassIdentifier: - IsTrigger: 0 - IsKinematic: 1 - Interpolation: 0 - CollisionMode: 0 - PhysicMaterial: {fileID: 13400000, guid: 867b8c31d245f45d482bfe52123a0c6d, type: 2} ---- !u!1001 &464404654 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalPosition.y - value: -48 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalPosition.z - value: 80 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_RootOrder - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: _position.x - value: -3 - objectReference: {fileID: 0} - - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: _position.y - value: -3 - objectReference: {fileID: 0} - - target: {fileID: 153404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_Name - value: Floor_3x6 - objectReference: {fileID: 0} - - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: _position.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: _size.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &464404655 stripped -GameObject: - m_PrefabParentObject: {fileID: 153404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - m_PrefabInternal: {fileID: 464404654} ---- !u!114 &464404656 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 464404655} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b6f23cf97dc1d49d89a2556193c4f2e2, type: 3} - m_Name: - m_EditorClassIdentifier: - IsTrigger: 0 - IsKinematic: 1 - Interpolation: 0 - CollisionMode: 0 - PhysicMaterial: {fileID: 13400000, guid: 867b8c31d245f45d482bfe52123a0c6d, type: 2} ---- !u!1001 &564579619 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalPosition.z - value: 70 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_RootOrder - value: 8 - objectReference: {fileID: 0} - - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: _position.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: _position.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: _size.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: _position.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &646237092 stripped -GameObject: - m_PrefabParentObject: {fileID: 153404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - m_PrefabInternal: {fileID: 564579619} ---- !u!114 &646237093 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 646237092} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b6f23cf97dc1d49d89a2556193c4f2e2, type: 3} - m_Name: - m_EditorClassIdentifier: - IsTrigger: 0 - IsKinematic: 1 - Interpolation: 0 - CollisionMode: 0 - PhysicMaterial: {fileID: 13400000, guid: 867b8c31d245f45d482bfe52123a0c6d, type: 2} ---- !u!1001 &786870197 -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: 32 - 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: 60 - 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: 2 - objectReference: {fileID: 0} - - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: _position.y - value: 0 - 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_1x1x11 - objectReference: {fileID: 0} - - target: {fileID: 21217528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Color.r - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 21217528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Color.g - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 21217528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Color.b - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &786870198 stripped -GameObject: - m_PrefabParentObject: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - m_PrefabInternal: {fileID: 786870197} ---- !u!114 &786870199 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 786870198} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b6f23cf97dc1d49d89a2556193c4f2e2, type: 3} - m_Name: - m_EditorClassIdentifier: - IsTrigger: 0 - IsKinematic: 1 - Interpolation: 0 - CollisionMode: 0 - PhysicMaterial: {fileID: 13400000, guid: 867b8c31d245f45d482bfe52123a0c6d, type: 2} ---- !u!1001 &896526985 -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: 64 - objectReference: {fileID: 0} - - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - 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: 2 - objectReference: {fileID: 0} - - target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: _position.y - value: -2 - 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_1x1x12 - objectReference: {fileID: 0} - - target: {fileID: 21217528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Color.r - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 21217528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Color.g - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 21217528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Color.b - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &896526986 stripped -GameObject: - m_PrefabParentObject: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - m_PrefabInternal: {fileID: 896526985} ---- !u!114 &896526987 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 896526986} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b6f23cf97dc1d49d89a2556193c4f2e2, type: 3} - m_Name: - m_EditorClassIdentifier: - IsTrigger: 0 - IsKinematic: 1 - Interpolation: 0 - CollisionMode: 0 - PhysicMaterial: {fileID: 13400000, guid: 867b8c31d245f45d482bfe52123a0c6d, type: 2} ---- !u!1001 &1714318235 -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: 32 - objectReference: {fileID: 0} - - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_LocalPosition.z - value: 40 - 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: 4 - 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: 1 - objectReference: {fileID: 0} - - target: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Name - value: Cube_1x1x8 - objectReference: {fileID: 0} - - target: {fileID: 21217528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Color.r - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 21217528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Color.g - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 21217528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Color.b - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1714318236 stripped -GameObject: - m_PrefabParentObject: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - m_PrefabInternal: {fileID: 1714318235} ---- !u!114 &1714318237 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1714318236} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b6f23cf97dc1d49d89a2556193c4f2e2, type: 3} - m_Name: - m_EditorClassIdentifier: - IsTrigger: 0 - IsKinematic: 0 - Interpolation: 0 - CollisionMode: 0 - PhysicMaterial: {fileID: 13400000, guid: 867b8c31d245f45d482bfe52123a0c6d, type: 2} ---- !u!1001 &1730225620 -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: 64 - objectReference: {fileID: 0} - - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_LocalPosition.z - value: 30 - 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: 3 - objectReference: {fileID: 0} - - target: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Name - value: Cube_1x1x9 - objectReference: {fileID: 0} - - target: {fileID: 21217528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Color.r - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 21217528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Color.g - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 21217528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Color.b - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &1730225621 stripped -GameObject: - m_PrefabParentObject: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - m_PrefabInternal: {fileID: 1730225620} ---- !u!114 &1730225622 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1730225621} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b6f23cf97dc1d49d89a2556193c4f2e2, type: 3} - m_Name: - m_EditorClassIdentifier: - IsTrigger: 0 - IsKinematic: 0 - Interpolation: 0 - CollisionMode: 0 - PhysicMaterial: {fileID: 13400000, guid: 867b8c31d245f45d482bfe52123a0c6d, type: 2} ---- !u!1001 &2050561892 -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: 96 - objectReference: {fileID: 0} - - target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_LocalPosition.z - value: 20 - 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: 1 - 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: 5 - objectReference: {fileID: 0} - - target: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Name - value: Cube_1x1x10 - objectReference: {fileID: 0} - - target: {fileID: 21217528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Color.r - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 21217528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Color.g - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 21217528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - propertyPath: m_Color.b - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &2050561893 stripped -GameObject: - m_PrefabParentObject: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2} - m_PrefabInternal: {fileID: 2050561892} ---- !u!114 &2050561894 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2050561893} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b6f23cf97dc1d49d89a2556193c4f2e2, type: 3} - m_Name: - m_EditorClassIdentifier: - IsTrigger: 0 - IsKinematic: 0 - Interpolation: 0 - CollisionMode: 0 - PhysicMaterial: {fileID: 13400000, guid: 867b8c31d245f45d482bfe52123a0c6d, type: 2} ---- !u!1001 &2096342202 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalPosition.x - value: 48 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalPosition.y - value: -24 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalPosition.z - value: 10 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_RootOrder - value: 6 - objectReference: {fileID: 0} - - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: _position.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: _position.y - value: -3 - objectReference: {fileID: 0} - - target: {fileID: 153404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: m_Name - value: Floor_3x5 - objectReference: {fileID: 0} - - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: _size.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11453404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - propertyPath: _position.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - m_IsPrefabParent: 0 ---- !u!1 &2096342203 stripped -GameObject: - m_PrefabParentObject: {fileID: 153404, guid: d10e5320df9f84d4186bda0ba98db9ff, type: 2} - m_PrefabInternal: {fileID: 2096342202} ---- !u!114 &2096342204 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2096342203} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b6f23cf97dc1d49d89a2556193c4f2e2, type: 3} - m_Name: - m_EditorClassIdentifier: - IsTrigger: 0 - IsKinematic: 1 - Interpolation: 0 - CollisionMode: 0 - PhysicMaterial: {fileID: 13400000, guid: 867b8c31d245f45d482bfe52123a0c6d, type: 2} diff --git a/Assets/IsoTools/Examples/Scripts/IsoController.cs b/Assets/IsoTools/Examples/Scripts/IsoController.cs index 956c141..1c11c03 100644 --- a/Assets/IsoTools/Examples/Scripts/IsoController.cs +++ b/Assets/IsoTools/Examples/Scripts/IsoController.cs @@ -7,9 +7,8 @@ namespace IsoTools { namespace Examples { var iso_object = GetComponent(); var iso_rigidbody = GetComponent(); if ( iso_rigidbody ) { - iso_rigidbody.Rigidbody.velocity = dir; - } - else if ( iso_object ) { + iso_rigidbody.RealRigidbody.velocity = dir; + } else if ( iso_object) { iso_object.Position += dir * Time.deltaTime; } } diff --git a/Assets/IsoTools/Scripts/IsoBoxCollider.cs b/Assets/IsoTools/Scripts/IsoBoxCollider.cs new file mode 100644 index 0000000..7b9f04f --- /dev/null +++ b/Assets/IsoTools/Scripts/IsoBoxCollider.cs @@ -0,0 +1,38 @@ +using UnityEngine; + +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace IsoTools { + public class IsoBoxCollider : IsoCollider { + public Vector3 Size = Vector3.zero; + public Vector3 Offset = Vector3.zero; + + protected override Collider CreateCollider() { + var collider = IsoFakeObject.gameObject.AddComponent(); + collider.center = Offset; + collider.size = Size; + return collider; + } + + #if UNITY_EDITOR + public override void EditorReset() { + if ( Application.isEditor ) { + Size = IsoObject.Size; + Offset = IsoObject.Size * 0.5f; + EditorUtility.SetDirty(this); + } + } + + void OnDrawGizmosSelected() { + if ( Application.isEditor ) { + IsoUtils.DrawCube( + IsoObject.Position + Offset, + Size, + Color.green); + } + } + #endif + } +} // namespace IsoTools \ No newline at end of file diff --git a/Assets/IsoTools/Scripts/IsoBoxCollider.cs.meta b/Assets/IsoTools/Scripts/IsoBoxCollider.cs.meta new file mode 100644 index 0000000..2e47b8c --- /dev/null +++ b/Assets/IsoTools/Scripts/IsoBoxCollider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b256250c588ee4e4590a3e58eaa69b1d +timeCreated: 1434220443 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/IsoTools/Scripts/IsoCollider.cs b/Assets/IsoTools/Scripts/IsoCollider.cs new file mode 100644 index 0000000..df3ecb2 --- /dev/null +++ b/Assets/IsoTools/Scripts/IsoCollider.cs @@ -0,0 +1,37 @@ +using UnityEngine; + +namespace IsoTools { + [ExecuteInEditMode] + [RequireComponent(typeof(IsoPhysicHelper))] + public abstract class IsoCollider : MonoBehaviour { + + public PhysicMaterial Material = null; + public bool IsTrigger = false; + + public IsoObject IsoObject { + get { return GetComponent().IsoObject; } + } + + public IsoFakeObject IsoFakeObject { + get { return GetComponent().IsoFakeObject; } + } + + public abstract void EditorReset(); + protected abstract Collider CreateCollider(); + + void Awake() { + if ( Application.isPlaying ) { + var collider = CreateCollider(); + if ( collider ) { + collider.material = Material; + collider.isTrigger = IsTrigger; + } + } + #if UNITY_EDITOR + else if ( Application.isEditor ) { + EditorReset(); + } + #endif + } + } +} // namespace IsoTools \ No newline at end of file diff --git a/Assets/IsoTools/Scripts/IsoCollider.cs.meta b/Assets/IsoTools/Scripts/IsoCollider.cs.meta new file mode 100644 index 0000000..21bab42 --- /dev/null +++ b/Assets/IsoTools/Scripts/IsoCollider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7bea029ebf6f04de6881354d27cb4193 +timeCreated: 1434264681 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/IsoTools/Scripts/IsoFakeObject.cs b/Assets/IsoTools/Scripts/IsoFakeObject.cs new file mode 100644 index 0000000..e8d9ae6 --- /dev/null +++ b/Assets/IsoTools/Scripts/IsoFakeObject.cs @@ -0,0 +1,27 @@ +using UnityEngine; + +namespace IsoTools { + public class IsoFakeObject : MonoBehaviour { + IsoObject _isoObject = null; + Vector3 _lastPosition = Vector3.zero; + + public void Init(IsoObject iso_object) { + _isoObject = iso_object; + _lastPosition = iso_object.Position; + transform.position = iso_object.Position; + } + + public IsoObject IsoObject { + get { return _isoObject; } + } + + void FixedUpdate() { + if ( !IsoUtils.Vec3Approximately(_lastPosition, IsoObject.Position) ) { + transform.position = IsoObject.Position; + } else { + IsoObject.Position = transform.position; + } + _lastPosition = IsoObject.Position; + } + } +} // namespace IsoTools \ No newline at end of file diff --git a/Assets/IsoTools/Scripts/IsoFakeObject.cs.meta b/Assets/IsoTools/Scripts/IsoFakeObject.cs.meta new file mode 100644 index 0000000..5e308e4 --- /dev/null +++ b/Assets/IsoTools/Scripts/IsoFakeObject.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 84780b4561da348638be7996e45f96aa +timeCreated: 1434281884 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/IsoTools/Scripts/IsoObject.cs b/Assets/IsoTools/Scripts/IsoObject.cs index e610813..24e61ef 100644 --- a/Assets/IsoTools/Scripts/IsoObject.cs +++ b/Assets/IsoTools/Scripts/IsoObject.cs @@ -253,7 +253,7 @@ namespace IsoTools { #if UNITY_EDITOR void OnDrawGizmos() { if ( ShowBounds ) { - IsoUtils.DrawCube(Position, Size, Color.red); + IsoUtils.DrawCube(Position + Size * 0.5f, Size, Color.red); } } diff --git a/Assets/IsoTools/Scripts/IsoPhysicHelper.cs b/Assets/IsoTools/Scripts/IsoPhysicHelper.cs new file mode 100644 index 0000000..85a9e60 --- /dev/null +++ b/Assets/IsoTools/Scripts/IsoPhysicHelper.cs @@ -0,0 +1,33 @@ +using UnityEngine; + +namespace IsoTools { + [RequireComponent(typeof(IsoObject))] + public class IsoPhysicHelper : MonoBehaviour { + + IsoObject _isoObject = null; + public IsoObject IsoObject { + get { + if ( !_isoObject ) { + _isoObject = GetComponent(); + } + if ( !_isoObject ) { + throw new UnityException("IsoPhysicHelper. IsoObject not found!"); + } + return _isoObject; + } + } + + IsoFakeObject _isoFakeObject = null; + public IsoFakeObject IsoFakeObject { + get { + if ( !_isoFakeObject ) { + var go = new GameObject("_Fake" + gameObject.name); + //go.hideFlags = HideFlags.HideInHierarchy | HideFlags.HideInInspector; + _isoFakeObject = go.AddComponent(); + _isoFakeObject.Init(IsoObject); + } + return _isoFakeObject; + } + } + } +} // namespace IsoTools \ No newline at end of file diff --git a/Assets/IsoTools/Scripts/IsoPhysicHelper.cs.meta b/Assets/IsoTools/Scripts/IsoPhysicHelper.cs.meta new file mode 100644 index 0000000..bb9d8ec --- /dev/null +++ b/Assets/IsoTools/Scripts/IsoPhysicHelper.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 02be875c33a5b4b2799ff198d4c93806 +timeCreated: 1434298128 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/IsoTools/Scripts/IsoRigidbody.cs b/Assets/IsoTools/Scripts/IsoRigidbody.cs index f4ab694..5eef7e4 100644 --- a/Assets/IsoTools/Scripts/IsoRigidbody.cs +++ b/Assets/IsoTools/Scripts/IsoRigidbody.cs @@ -1,101 +1,31 @@ using UnityEngine; -#if UNITY_EDITOR -using UnityEditor; -#endif - namespace IsoTools { - [RequireComponent(typeof(IsoObject))] + [RequireComponent(typeof(IsoPhysicHelper))] public class IsoRigidbody : MonoBehaviour { - public bool IsTrigger = false; - public bool IsKinematic = false; - public RigidbodyInterpolation Interpolation = RigidbodyInterpolation.None; - public CollisionDetectionMode CollisionMode = CollisionDetectionMode.Discrete; - public PhysicMaterial PhysicMaterial = null; - - IsoObject _isoObject = null; - GameObject _fakeObject = null; - Vector3 _lastPosition = Vector3.zero; + public bool IsKinematic = false; + public RigidbodyInterpolation Interpolation = RigidbodyInterpolation.None; + public CollisionDetectionMode CollisionMode = CollisionDetectionMode.Discrete; public IsoObject IsoObject { - get { - if ( !_isoObject ) { - _isoObject = GetComponent(); - } - if ( !_isoObject ) { - throw new UnityException("IsoRigidbody. IsoObject not found!"); - } - return _isoObject; - } + get { return GetComponent().IsoObject; } + } + + public IsoFakeObject IsoFakeObject { + get { return GetComponent().IsoFakeObject; } } - public GameObject FakeGameObject { - get { return _fakeObject; } + public Rigidbody RealRigidbody { + get { return IsoFakeObject.GetComponent(); } } - - public Rigidbody Rigidbody { - get { return FakeGameObject.GetComponent(); } - } - - void AddBoxCollider() { - var collider = FakeGameObject.AddComponent(); - collider.center = IsoObject.Size / 2.0f; - collider.size = IsoObject.Size; - collider.isTrigger = IsTrigger; - collider.material = PhysicMaterial; - } - - void AddHelperSphere(Vector3 pos, float radius) { - var collider = FakeGameObject.AddComponent(); - collider.center = pos; - collider.radius = radius; - collider.isTrigger = IsTrigger; - collider.material = PhysicMaterial; - } - - void AddHelperSpheres() { - var radius = 0.1f; - var rdelta = radius * 0.1f; - var size = IsoObject.Size; - if ( size.x > radius && size.y > radius && size.z > radius ) { - AddHelperSphere(new Vector3(radius - rdelta , radius - rdelta , radius - rdelta ), radius); - AddHelperSphere(new Vector3(size.x - radius + rdelta, radius - rdelta , radius - rdelta ), radius); - AddHelperSphere(new Vector3(radius - rdelta , size.y - radius + rdelta, radius - rdelta ), radius); - AddHelperSphere(new Vector3(size.x - radius + rdelta, size.y - radius + rdelta, radius - rdelta ), radius); - AddHelperSphere(new Vector3(radius - rdelta , radius - rdelta , size.z - radius + rdelta), radius); - AddHelperSphere(new Vector3(size.x - radius + rdelta, radius - rdelta , size.z - radius + rdelta), radius); - AddHelperSphere(new Vector3(radius - rdelta , size.y - radius + rdelta, size.z - radius + rdelta), radius); - AddHelperSphere(new Vector3(size.x - radius + rdelta, size.y - radius + rdelta, size.z - radius + rdelta), radius); - } - } - + void Awake() { - _fakeObject = new GameObject(); - FakeGameObject.name = "_Fake" + gameObject.name; - //FakeGameObject.hideFlags = HideFlags.HideInHierarchy; - - var rigidbody = FakeGameObject.AddComponent(); - rigidbody.freezeRotation = true; - rigidbody.isKinematic = IsKinematic; - rigidbody.interpolation = Interpolation; - rigidbody.collisionDetectionMode = CollisionMode; - - AddBoxCollider(); - //AddHelperSpheres(); - - _lastPosition = IsoObject.Position; - FakeGameObject.transform.position = IsoObject.Position; - } - - void FixedUpdate() { - var fake_transform = FakeGameObject.transform; - if ( !IsoUtils.Vec3Approximately(_lastPosition, IsoObject.Position) ) { - fake_transform.position = IsoObject.Position; - } else { - IsoObject.Position = fake_transform.position; - } - _lastPosition = IsoObject.Position; + var rigidbody = IsoFakeObject.gameObject.AddComponent(); + rigidbody.freezeRotation = true; + rigidbody.isKinematic = IsKinematic; + rigidbody.interpolation = Interpolation; + rigidbody.collisionDetectionMode = CollisionMode; } } } // namespace IsoTools \ No newline at end of file diff --git a/Assets/IsoTools/Scripts/IsoRigidbody.cs.meta b/Assets/IsoTools/Scripts/IsoRigidbody.cs.meta index aa88282..421b73e 100644 --- a/Assets/IsoTools/Scripts/IsoRigidbody.cs.meta +++ b/Assets/IsoTools/Scripts/IsoRigidbody.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: b6f23cf97dc1d49d89a2556193c4f2e2 -timeCreated: 1431879880 +guid: 4febe544112bb4678bdd59fa963c802d +timeCreated: 1434220421 licenseType: Free MonoImporter: serializedVersion: 2 diff --git a/Assets/IsoTools/Scripts/IsoSphereCollider.cs b/Assets/IsoTools/Scripts/IsoSphereCollider.cs new file mode 100644 index 0000000..d49df3c --- /dev/null +++ b/Assets/IsoTools/Scripts/IsoSphereCollider.cs @@ -0,0 +1,38 @@ +using UnityEngine; + +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace IsoTools { + public class IsoSphereCollider : IsoCollider { + public float Radius = 0.0f; + public Vector3 Offset = Vector3.zero; + + protected override Collider CreateCollider() { + var collider = IsoFakeObject.gameObject.AddComponent(); + collider.radius = Radius; + collider.center = Offset; + return collider; + } + + #if UNITY_EDITOR + public override void EditorReset() { + if ( Application.isEditor ) { + Radius = IsoUtils.Vec3MinF(IsoObject.Size) * 0.5f; + Offset = IsoObject.Size * 0.5f; + EditorUtility.SetDirty(this); + } + } + + void OnDrawGizmosSelected() { + if ( Application.isEditor ) { + IsoUtils.DrawSphere( + IsoObject.Position + Offset, + Radius, + Color.green); + } + } + #endif + } +} // namespace IsoTools \ No newline at end of file diff --git a/Assets/IsoTools/Scripts/IsoSphereCollider.cs.meta b/Assets/IsoTools/Scripts/IsoSphereCollider.cs.meta new file mode 100644 index 0000000..8189d1f --- /dev/null +++ b/Assets/IsoTools/Scripts/IsoSphereCollider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9ec3a3f10718e4e62b5c518c8b960d55 +timeCreated: 1434220433 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/IsoTools/Scripts/IsoUtils.cs b/Assets/IsoTools/Scripts/IsoUtils.cs index 82831f8..fd40bde 100644 --- a/Assets/IsoTools/Scripts/IsoUtils.cs +++ b/Assets/IsoTools/Scripts/IsoUtils.cs @@ -1,6 +1,8 @@ using UnityEngine; using System; +using UnityEditor; + namespace IsoTools { public static class IsoUtils { @@ -233,6 +235,10 @@ namespace IsoTools { return new Vector2(x, y); } + public static Vector2 Vec2FromVec3(Vector3 v) { + return new Vector2(v.x, v.y); + } + // ----------------------------- // Vec3From // ----------------------------- @@ -261,6 +267,14 @@ namespace IsoTools { return new Vector3(x, 0.0f, z); } + public static Vector3 Vec3FromVec2(Vector2 v) { + return new Vector3(v.x, v.y, 0.0f); + } + + public static Vector3 Vec3FromVec2(Vector2 v, float z) { + return new Vector3(v.x, v.y, z); + } + // --------------------------------------------------------------------- // // ChangeX @@ -380,14 +394,26 @@ namespace IsoTools { } } - public static void DrawCube(Vector3 pos, Vector3 size, Color color) { + public static void DrawCube(Vector3 center, Vector3 size, Color color) { Gizmos.color = color; - DrawTop (pos - IsoUtils.Vec3FromZ(0.5f), size); - DrawTop (pos + IsoUtils.Vec3FromZ(size.z - 0.5f), size); - DrawVert(pos - IsoUtils.Vec3FromZ(0.5f), size); - DrawVert(pos + IsoUtils.Vec3FromZ(0.5f), size); - DrawVert(pos - IsoUtils.Vec3FromZ(0.5f) + IsoUtils.Vec3FromX(size.x), size); - DrawVert(pos - IsoUtils.Vec3FromZ(0.5f) + IsoUtils.Vec3FromY(size.y), size); + var pos = center - size * 0.5f; + DrawTop (pos, size); + DrawTop (pos + IsoUtils.Vec3FromZ(size.z), size); + DrawVert(pos, size); + DrawVert(pos + IsoUtils.Vec3FromX(size.x), size); + DrawVert(pos + IsoUtils.Vec3FromY(size.y), size); + DrawVert(pos + IsoUtils.Vec3FromXY(size.x, size.y), size); + } + + public static void DrawSphere(Vector3 pos, float radius, Color color) { + var iso_world = GameObject.FindObjectOfType(); + if ( iso_world ) { + Handles.color = color; + Handles.RadiusHandle( + Quaternion.Euler(45.0f, 45.0f, 0.0f), + iso_world.IsoToScreen(pos), + radius * iso_world.TileSize * 2.0f); + } } #endif } diff --git a/Assets/IsoTools/Scripts/IsoWorld.cs b/Assets/IsoTools/Scripts/IsoWorld.cs index f7e295c..ce47c26 100644 --- a/Assets/IsoTools/Scripts/IsoWorld.cs +++ b/Assets/IsoTools/Scripts/IsoWorld.cs @@ -183,6 +183,10 @@ namespace IsoTools { ApplyToAllIsoObjects(obj => obj.FixTransform()); } + void ResetAllIsoWorld() { + ApplyToAllIsoObjects(obj => obj.ResetIsoWorld()); + } + void ChangeSortingProperty() { MarkDirty(); FixAllTransforms(); @@ -396,7 +400,7 @@ namespace IsoTools { } void OnDisable() { - ApplyToAllIsoObjects(obj => obj.ResetIsoWorld()); + ResetAllIsoWorld(); } } } // namespace IsoTools \ No newline at end of file diff --git a/UnityIso-csharp.sln b/UnityIso-csharp.sln index 0ea0974..522de8e 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 e976284..90ac371 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 72ff426..39f5f04 100644 --- a/UnityIso.userprefs +++ b/UnityIso.userprefs @@ -1,11 +1,9 @@  - + - - - - + +