update
This commit is contained in:
116
Assets/Plugins/XRLib/Behaviour/MonoBehaviour.cs
Normal file
116
Assets/Plugins/XRLib/Behaviour/MonoBehaviour.cs
Normal file
@@ -0,0 +1,116 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngineInternal;
|
||||
using WI;
|
||||
using Object = UnityEngine.Object;
|
||||
|
||||
[Serializable]
|
||||
public partial class MonoBehaviour : UnityEngine.MonoBehaviour
|
||||
{
|
||||
public virtual void AfterAwake()
|
||||
{
|
||||
}
|
||||
public virtual void AfterStart()
|
||||
{
|
||||
}
|
||||
|
||||
public MonoBehaviour()
|
||||
{
|
||||
if (this.GetType() != typeof(TrashBehaviour))
|
||||
Hooker.RegistReady(this);
|
||||
}
|
||||
|
||||
public T FindSingle<T>() where T : MonoBehaviour, ISingle
|
||||
{
|
||||
var hashCode = typeof(T).GetHashCode();
|
||||
T result = default;
|
||||
if (Core.singleTable.TryGetValue(hashCode, out var mb))
|
||||
{
|
||||
result = (T)mb;
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public T Find<T>(string name) where T : Component
|
||||
{
|
||||
return transform.Find<T>(name);
|
||||
}
|
||||
public new static Object Instantiate(Object original, Vector3 position, Quaternion rotation)
|
||||
{
|
||||
var no = Object.Instantiate(original, position, rotation);
|
||||
Core.Regist(no);
|
||||
return no;
|
||||
}
|
||||
|
||||
[TypeInferenceRule(TypeInferenceRules.TypeOfFirstArgument)]
|
||||
public new static Object Instantiate(Object original, Vector3 position, Quaternion rotation, Transform parent)
|
||||
{
|
||||
var no = Object.Instantiate(original, position, rotation, parent);
|
||||
Core.Regist(no);
|
||||
return no;
|
||||
}
|
||||
|
||||
[TypeInferenceRule(TypeInferenceRules.TypeOfFirstArgument)]
|
||||
public new static Object Instantiate(Object original)
|
||||
{
|
||||
var no = Object.Instantiate(original);
|
||||
Core.Regist(no);
|
||||
return no;
|
||||
}
|
||||
[TypeInferenceRule(TypeInferenceRules.TypeOfFirstArgument)]
|
||||
public new static Object Instantiate(Object original, Transform parent)
|
||||
{
|
||||
var no = Object.Instantiate(original, parent, instantiateInWorldSpace: false);
|
||||
Core.Regist(no);
|
||||
return no;
|
||||
}
|
||||
|
||||
[TypeInferenceRule(TypeInferenceRules.TypeOfFirstArgument)]
|
||||
public new static Object Instantiate(Object original, Transform parent, bool instantiateInWorldSpace)
|
||||
{
|
||||
var no = Object.Instantiate(original, parent, instantiateInWorldSpace);
|
||||
Core.Regist(no);
|
||||
return no;
|
||||
}
|
||||
|
||||
public new static T Instantiate<T>(T original) where T : Object
|
||||
{
|
||||
var no = Object.Instantiate(original);
|
||||
Core.Regist(no);
|
||||
return no;
|
||||
}
|
||||
|
||||
public new static T Instantiate<T>(T original, Vector3 position, Quaternion rotation) where T : Object
|
||||
{
|
||||
var no = (T)Object.Instantiate((Object)original, position, rotation);
|
||||
Core.Regist(no);
|
||||
return no;
|
||||
}
|
||||
|
||||
public new static T Instantiate<T>(T original, Vector3 position, Quaternion rotation, Transform parent) where T : Object
|
||||
{
|
||||
var no = (T)Object.Instantiate((Object)original, position, rotation, parent);
|
||||
Core.Regist(no);
|
||||
return no;
|
||||
}
|
||||
|
||||
public new static T Instantiate<T>(T original, Transform parent) where T : Object
|
||||
{
|
||||
var no = Object.Instantiate(original, parent, worldPositionStays: false);
|
||||
Core.Regist(no);
|
||||
return no;
|
||||
}
|
||||
|
||||
public new static T Instantiate<T>(T original, Transform parent, bool worldPositionStays) where T : Object
|
||||
{
|
||||
var no = (T)Object.Instantiate((Object)original, parent, worldPositionStays);
|
||||
Core.Regist(no);
|
||||
return no;
|
||||
}
|
||||
protected virtual void OnDestroy()
|
||||
{
|
||||
if (this.GetType() != typeof(TrashBehaviour))
|
||||
WI.Core.Unregist(this);
|
||||
}
|
||||
}
|
||||
11
Assets/Plugins/XRLib/Behaviour/MonoBehaviour.cs.meta
Normal file
11
Assets/Plugins/XRLib/Behaviour/MonoBehaviour.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 14680c4a14a850945a9d70b0201a8c48
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
7
Assets/Plugins/XRLib/Behaviour/TrashBehaviour.cs
Normal file
7
Assets/Plugins/XRLib/Behaviour/TrashBehaviour.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace WI
|
||||
{
|
||||
public partial class TrashBehaviour : UnityEngine.MonoBehaviour
|
||||
{
|
||||
public MonoBehaviour originBehaviour;
|
||||
}
|
||||
}
|
||||
11
Assets/Plugins/XRLib/Behaviour/TrashBehaviour.cs.meta
Normal file
11
Assets/Plugins/XRLib/Behaviour/TrashBehaviour.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 76093983882db5c4097283b7a0212da7
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user