From 12e944b0681de7a5557935b93825b0f54c27b834 Mon Sep 17 00:00:00 2001 From: BlackMATov Date: Sun, 17 Apr 2016 23:24:22 +0600 Subject: [PATCH] more physics api --- Assets/IsoTools/Scripts/IsoBoxCollider.cs | 4 ++-- Assets/IsoTools/Scripts/IsoCollider.cs | 16 ++++++++++++++-- Assets/IsoTools/Scripts/IsoCollision.cs | 2 ++ Assets/IsoTools/Scripts/IsoRigidbody.cs | 4 ++-- Assets/IsoTools/Scripts/IsoSphereCollider.cs | 4 ++-- 5 files changed, 22 insertions(+), 8 deletions(-) diff --git a/Assets/IsoTools/Scripts/IsoBoxCollider.cs b/Assets/IsoTools/Scripts/IsoBoxCollider.cs index f12a87f..fba28c8 100644 --- a/Assets/IsoTools/Scripts/IsoBoxCollider.cs +++ b/Assets/IsoTools/Scripts/IsoBoxCollider.cs @@ -44,7 +44,7 @@ namespace IsoTools { get { return realCollider as BoxCollider; } } - #if UNITY_EDITOR + #if UNITY_EDITOR protected override void Reset() { base.Reset(); var iso_object = GetComponent(); @@ -71,6 +71,6 @@ namespace IsoTools { Color.green); } } - #endif + #endif } } diff --git a/Assets/IsoTools/Scripts/IsoCollider.cs b/Assets/IsoTools/Scripts/IsoCollider.cs index 9ff0413..88079db 100644 --- a/Assets/IsoTools/Scripts/IsoCollider.cs +++ b/Assets/IsoTools/Scripts/IsoCollider.cs @@ -62,6 +62,18 @@ namespace IsoTools { } } + public float contactOffset { + get { + return realCollider + ? realCollider.contactOffset + : 0.0f; + } set { + if ( realCollider ) { + realCollider.contactOffset = value; + } + } + } + public Vector3 ClosestPointOnBounds(Vector3 position) { return realCollider ? realCollider.ClosestPointOnBounds(position) @@ -105,7 +117,7 @@ namespace IsoTools { } } - #if UNITY_EDITOR + #if UNITY_EDITOR protected virtual void Reset() { material = null; isTrigger = false; @@ -116,6 +128,6 @@ namespace IsoTools { material = _material; isTrigger = _isTrigger; } - #endif + #endif } } diff --git a/Assets/IsoTools/Scripts/IsoCollision.cs b/Assets/IsoTools/Scripts/IsoCollision.cs index c5f9f53..2f8824f 100644 --- a/Assets/IsoTools/Scripts/IsoCollision.cs +++ b/Assets/IsoTools/Scripts/IsoCollision.cs @@ -7,6 +7,7 @@ namespace IsoTools { public IsoCollider collider { get; private set; } public IsoContactPoint[] contacts { get; private set; } public GameObject gameObject { get; private set; } + public Vector3 impulse { get; private set; } public Vector3 relativeVelocity { get; private set; } public IsoRigidbody rigidbody { get; private set; } @@ -14,6 +15,7 @@ namespace IsoTools { collider = IsoUtils.IsoConvertCollider(collision.collider); contacts = IsoUtils.IsoConvertContactPoints(collision.contacts); gameObject = IsoUtils.IsoConvertGameObject(collision.gameObject); + impulse = collision.impulse; relativeVelocity = collision.relativeVelocity; rigidbody = IsoUtils.IsoConvertRigidbody(collision.rigidbody); } diff --git a/Assets/IsoTools/Scripts/IsoRigidbody.cs b/Assets/IsoTools/Scripts/IsoRigidbody.cs index 19e12de..16b1df1 100644 --- a/Assets/IsoTools/Scripts/IsoRigidbody.cs +++ b/Assets/IsoTools/Scripts/IsoRigidbody.cs @@ -348,7 +348,7 @@ namespace IsoTools { } } - #if UNITY_EDITOR + #if UNITY_EDITOR void Reset() { mass = 1.0f; drag = 0.0f; @@ -369,6 +369,6 @@ namespace IsoTools { realRigidbody.collisionDetectionMode = collisionDetectionMode; } } - #endif + #endif } } diff --git a/Assets/IsoTools/Scripts/IsoSphereCollider.cs b/Assets/IsoTools/Scripts/IsoSphereCollider.cs index f235ac2..0589dbf 100644 --- a/Assets/IsoTools/Scripts/IsoSphereCollider.cs +++ b/Assets/IsoTools/Scripts/IsoSphereCollider.cs @@ -44,7 +44,7 @@ namespace IsoTools { get { return realCollider as SphereCollider; } } - #if UNITY_EDITOR + #if UNITY_EDITOR protected override void Reset() { base.Reset(); var iso_object = GetComponent(); @@ -71,6 +71,6 @@ namespace IsoTools { Color.green); } } - #endif + #endif } }