diff --git a/Basis/Packages/com.basis.shim/Shims/BasisInteractableShim.cs b/Basis/Packages/com.basis.shim/Shims/BasisInteractableShim.cs index 80cc04dba..ebd30da71 100644 --- a/Basis/Packages/com.basis.shim/Shims/BasisInteractableShim.cs +++ b/Basis/Packages/com.basis.shim/Shims/BasisInteractableShim.cs @@ -7,6 +7,7 @@ namespace Basis.Shims { + [Obsolete("Use the direct interactable component instead. This is a shim for the old system and should be removed at a later point.")] public class BasisInteractableShim : BasisInteractableObject // Need to remove at a later point. { // public BasisObjectSyncNetworking syncNetworking; diff --git a/Basis/Packages/com.basis.shim/Shims/BasisShims.cs b/Basis/Packages/com.basis.shim/Shims/BasisShims.cs index b3d35b041..ab8b15b50 100644 --- a/Basis/Packages/com.basis.shim/Shims/BasisShims.cs +++ b/Basis/Packages/com.basis.shim/Shims/BasisShims.cs @@ -37,6 +37,22 @@ public static BasisNetworkShim MakeNetworkable( MonoBehaviour mb ) return mb.gameObject.AddComponent(); } + + [Obsolete("Use the direct interactable component instead. This is a shim for the old system and should be removed at a later point.")] + public static BasisInteractableShim MakeInteractable( object o ) + { + // Actually needs to be CilboxProxies. + GameObject go = null; + if( o is CilboxProxy ) + go = ((CilboxProxy)o).gameObject; + else + go = ((MonoBehaviour)o).gameObject; + + BasisInteractableShim bi; + if( go.TryGetComponent( out bi ) ) return bi; + + return go.AddComponent(); + } }