/// <summary> /// Find all objects that are relevant for WIM /// </summary> /// <returns></returns> private MeshRenderer[] FindMeshRenderers() { // disable the avatar objects to avoid cloning during WIM refresh! if (CurrentAvatar) { CurrentAvatar.SetActive(false); CurrentShadowAvatar.SetActive(false); } MeshRenderer[] meshRenderer = FindObjectsOfType <MeshRenderer>().Where( m => m.gameObject != null && m.gameObject.activeInHierarchy && m.gameObject.activeSelf && m.GetComponent <Collider>() != null && m.GetComponent <VRIL_WIMObject>() == null && (checkWIMIgnores ? m.GetComponent <VRIL_WIMIgnore>() == null : true) && Array.IndexOf(RegisteredControllers.ToArray(), m.gameObject) < 0 && (m.gameObject.GetInstanceID() != HitEntity.gameObject.GetInstanceID()) && (m.bounds.size.x >= ObjectTresholdX || m.bounds.size.y >= ObjectTresholdY || m.bounds.size.z >= ObjectTresholdZ)).ToArray(); if (CurrentAvatar) { CurrentAvatar.SetActive(true); CurrentShadowAvatar.SetActive(true); } return(meshRenderer); }
public void RegisterController(string name, Type type) { Console.WriteLine($"Registering controller '{name}'..."); if (RegisteredControllers == null) { RegisteredControllers = new List <ControllerRegister>(); } RegisteredControllers.Add(new ControllerRegister() { Name = name, Type = type }); }