mirror of
https://github.com/BlackMATov/unity-iso-tools.git
synced 2025-12-15 01:12:05 +07:00
union physic helper holder
This commit is contained in:
@@ -60,6 +60,7 @@
|
|||||||
<Compile Include="Assets\IsoTools\Scripts\Internal\IsoFakeTriggerListener.cs" />
|
<Compile Include="Assets\IsoTools\Scripts\Internal\IsoFakeTriggerListener.cs" />
|
||||||
<Compile Include="Assets\IsoTools\Scripts\Internal\IsoList.cs" />
|
<Compile Include="Assets\IsoTools\Scripts\Internal\IsoList.cs" />
|
||||||
<Compile Include="Assets\IsoTools\Scripts\Internal\IsoPhysicHelper.cs" />
|
<Compile Include="Assets\IsoTools\Scripts\Internal\IsoPhysicHelper.cs" />
|
||||||
|
<Compile Include="Assets\IsoTools\Scripts\Internal\IsoPhysicHelperHolder.cs" />
|
||||||
<Compile Include="Assets\IsoTools\Scripts\Internal\IsoUtils.cs" />
|
<Compile Include="Assets\IsoTools\Scripts\Internal\IsoUtils.cs" />
|
||||||
<Compile Include="Assets\IsoTools\Scripts\IsoBoxCollider.cs" />
|
<Compile Include="Assets\IsoTools\Scripts\IsoBoxCollider.cs" />
|
||||||
<Compile Include="Assets\IsoTools\Scripts\IsoCollider.cs" />
|
<Compile Include="Assets\IsoTools\Scripts\IsoCollider.cs" />
|
||||||
|
|||||||
18
Assets/IsoTools/Scripts/Internal/IsoPhysicHelperHolder.cs
Normal file
18
Assets/IsoTools/Scripts/Internal/IsoPhysicHelperHolder.cs
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
using System.Collections;
|
||||||
|
|
||||||
|
namespace IsoTools.Internal {
|
||||||
|
public class IsoPhysicHelperHolder : MonoBehaviour {
|
||||||
|
protected GameObject fakeObject {
|
||||||
|
get { return physicHelper.isoFakeObject; }
|
||||||
|
}
|
||||||
|
|
||||||
|
protected IsoPhysicHelper physicHelper {
|
||||||
|
get { return IsoUtils.GetOrCreateComponent<IsoPhysicHelper>(gameObject); }
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void DestroyUnnecessaryCheck() {
|
||||||
|
physicHelper.DestroyIfUnnecessary(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 24e253f6697d448229f535a2e796f72b
|
||||||
|
timeCreated: 1461163442
|
||||||
|
licenseType: Free
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -7,7 +7,7 @@ using UnityEditor;
|
|||||||
|
|
||||||
namespace IsoTools {
|
namespace IsoTools {
|
||||||
[RequireComponent(typeof(IsoObject))]
|
[RequireComponent(typeof(IsoObject))]
|
||||||
public abstract class IsoCollider : MonoBehaviour {
|
public abstract class IsoCollider : IsoPhysicHelperHolder {
|
||||||
protected abstract Collider CreateRealCollider(GameObject target);
|
protected abstract Collider CreateRealCollider(GameObject target);
|
||||||
|
|
||||||
IsoFakeCollider _fakeCollider;
|
IsoFakeCollider _fakeCollider;
|
||||||
@@ -17,14 +17,6 @@ namespace IsoTools {
|
|||||||
get { return _realCollider; }
|
get { return _realCollider; }
|
||||||
}
|
}
|
||||||
|
|
||||||
protected GameObject fakeObject {
|
|
||||||
get { return physicHelper.isoFakeObject; }
|
|
||||||
}
|
|
||||||
|
|
||||||
protected IsoPhysicHelper physicHelper {
|
|
||||||
get { return IsoUtils.GetOrCreateComponent<IsoPhysicHelper>(gameObject); }
|
|
||||||
}
|
|
||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
public PhysicMaterial _material = null;
|
public PhysicMaterial _material = null;
|
||||||
public PhysicMaterial material {
|
public PhysicMaterial material {
|
||||||
@@ -118,7 +110,7 @@ namespace IsoTools {
|
|||||||
if ( _fakeCollider ) {
|
if ( _fakeCollider ) {
|
||||||
Destroy(_fakeCollider);
|
Destroy(_fakeCollider);
|
||||||
}
|
}
|
||||||
physicHelper.DestroyIfUnnecessary(this);
|
DestroyUnnecessaryCheck();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if UNITY_EDITOR
|
#if UNITY_EDITOR
|
||||||
|
|||||||
@@ -4,18 +4,10 @@ using IsoTools.Internal;
|
|||||||
namespace IsoTools {
|
namespace IsoTools {
|
||||||
[DisallowMultipleComponent]
|
[DisallowMultipleComponent]
|
||||||
[RequireComponent(typeof(IsoObject))]
|
[RequireComponent(typeof(IsoObject))]
|
||||||
public class IsoCollisionListener : MonoBehaviour {
|
public class IsoCollisionListener : IsoPhysicHelperHolder {
|
||||||
|
|
||||||
IsoFakeCollisionListener _fakeListener;
|
IsoFakeCollisionListener _fakeListener;
|
||||||
|
|
||||||
GameObject fakeObject {
|
|
||||||
get { return physicHelper.isoFakeObject; }
|
|
||||||
}
|
|
||||||
|
|
||||||
IsoPhysicHelper physicHelper {
|
|
||||||
get { return IsoUtils.GetOrCreateComponent<IsoPhysicHelper>(gameObject); }
|
|
||||||
}
|
|
||||||
|
|
||||||
void Awake() {
|
void Awake() {
|
||||||
_fakeListener = fakeObject.AddComponent<IsoFakeCollisionListener>().Init(this);
|
_fakeListener = fakeObject.AddComponent<IsoFakeCollisionListener>().Init(this);
|
||||||
}
|
}
|
||||||
@@ -24,7 +16,7 @@ namespace IsoTools {
|
|||||||
if ( _fakeListener ) {
|
if ( _fakeListener ) {
|
||||||
Destroy(_fakeListener);
|
Destroy(_fakeListener);
|
||||||
}
|
}
|
||||||
physicHelper.DestroyIfUnnecessary(this);
|
DestroyUnnecessaryCheck();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8,7 +8,7 @@ using UnityEditor;
|
|||||||
namespace IsoTools {
|
namespace IsoTools {
|
||||||
[DisallowMultipleComponent]
|
[DisallowMultipleComponent]
|
||||||
[RequireComponent(typeof(IsoObject))]
|
[RequireComponent(typeof(IsoObject))]
|
||||||
public class IsoRigidbody : MonoBehaviour {
|
public class IsoRigidbody : IsoPhysicHelperHolder {
|
||||||
|
|
||||||
IsoFakeRigidbody _fakeRigidbody;
|
IsoFakeRigidbody _fakeRigidbody;
|
||||||
|
|
||||||
@@ -17,14 +17,6 @@ namespace IsoTools {
|
|||||||
get { return _realRigidbody; }
|
get { return _realRigidbody; }
|
||||||
}
|
}
|
||||||
|
|
||||||
GameObject fakeObject {
|
|
||||||
get { return physicHelper.isoFakeObject; }
|
|
||||||
}
|
|
||||||
|
|
||||||
IsoPhysicHelper physicHelper {
|
|
||||||
get { return IsoUtils.GetOrCreateComponent<IsoPhysicHelper>(gameObject); }
|
|
||||||
}
|
|
||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
public float _mass = 1.0f;
|
public float _mass = 1.0f;
|
||||||
public float mass {
|
public float mass {
|
||||||
@@ -350,7 +342,7 @@ namespace IsoTools {
|
|||||||
if ( _fakeRigidbody ) {
|
if ( _fakeRigidbody ) {
|
||||||
Destroy(_fakeRigidbody);
|
Destroy(_fakeRigidbody);
|
||||||
}
|
}
|
||||||
physicHelper.DestroyIfUnnecessary(this);
|
DestroyUnnecessaryCheck();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if UNITY_EDITOR
|
#if UNITY_EDITOR
|
||||||
|
|||||||
@@ -4,18 +4,10 @@ using IsoTools.Internal;
|
|||||||
namespace IsoTools {
|
namespace IsoTools {
|
||||||
[DisallowMultipleComponent]
|
[DisallowMultipleComponent]
|
||||||
[RequireComponent(typeof(IsoObject))]
|
[RequireComponent(typeof(IsoObject))]
|
||||||
public class IsoTriggerListener : MonoBehaviour {
|
public class IsoTriggerListener : IsoPhysicHelperHolder {
|
||||||
|
|
||||||
IsoFakeTriggerListener _fakeListener;
|
IsoFakeTriggerListener _fakeListener;
|
||||||
|
|
||||||
GameObject fakeObject {
|
|
||||||
get { return physicHelper.isoFakeObject; }
|
|
||||||
}
|
|
||||||
|
|
||||||
IsoPhysicHelper physicHelper {
|
|
||||||
get { return IsoUtils.GetOrCreateComponent<IsoPhysicHelper>(gameObject); }
|
|
||||||
}
|
|
||||||
|
|
||||||
void Awake() {
|
void Awake() {
|
||||||
_fakeListener = fakeObject.AddComponent<IsoFakeTriggerListener>().Init(this);
|
_fakeListener = fakeObject.AddComponent<IsoFakeTriggerListener>().Init(this);
|
||||||
}
|
}
|
||||||
@@ -24,7 +16,7 @@ namespace IsoTools {
|
|||||||
if ( _fakeListener ) {
|
if ( _fakeListener ) {
|
||||||
Destroy(_fakeListener);
|
Destroy(_fakeListener);
|
||||||
}
|
}
|
||||||
physicHelper.DestroyIfUnnecessary(this);
|
DestroyUnnecessaryCheck();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user