Exemplo n.º 1
0
    // Token: 0x060000D1 RID: 209 RVA: 0x000096E4 File Offset: 0x000078E4
    public void UpdateComponents()
    {
        global::UnityEngine.Transform transform = base.transform;
        bool flag = transform.childCount == 0;

        if (!flag)
        {
            using (global::SteamVR_RenderModel.RenderModelInterfaceHolder renderModelInterfaceHolder = new global::SteamVR_RenderModel.RenderModelInterfaceHolder())
            {
                global::Valve.VR.VRControllerState_t vrcontrollerState_t = (this.index != global::SteamVR_TrackedObject.EIndex.None) ? global::SteamVR_Controller.Input((int)this.index).GetState() : default(global::Valve.VR.VRControllerState_t);
                for (int i = 0; i < transform.childCount; i++)
                {
                    global::UnityEngine.Transform    child    = transform.GetChild(i);
                    global::Valve.VR.CVRRenderModels instance = renderModelInterfaceHolder.instance;
                    bool flag2 = instance == null;
                    if (flag2)
                    {
                        break;
                    }
                    global::Valve.VR.RenderModel_ComponentState_t renderModel_ComponentState_t = default(global::Valve.VR.RenderModel_ComponentState_t);
                    bool flag3 = !instance.GetComponentState(this.renderModelName, child.name, ref vrcontrollerState_t, ref this.controllerModeState, ref renderModel_ComponentState_t);
                    if (!flag3)
                    {
                        global::SteamVR_Utils.RigidTransform rigidTransform = new global::SteamVR_Utils.RigidTransform(renderModel_ComponentState_t.mTrackingToComponentRenderModel);
                        child.localPosition = rigidTransform.pos;
                        child.localRotation = rigidTransform.rot;
                        global::UnityEngine.Transform transform2 = child.FindChild("attach");
                        bool flag4 = transform2 != null;
                        if (flag4)
                        {
                            global::SteamVR_Utils.RigidTransform rigidTransform2 = new global::SteamVR_Utils.RigidTransform(renderModel_ComponentState_t.mTrackingToComponentLocal);
                            transform2.position = transform.TransformPoint(rigidTransform2.pos);
                            transform2.rotation = transform.rotation * rigidTransform2.rot;
                        }
                        bool flag5 = (renderModel_ComponentState_t.uProperties & 2U) > 0U;
                        bool flag6 = flag5 != child.gameObject.activeSelf;
                        if (flag6)
                        {
                            child.gameObject.SetActive(flag5);
                        }
                    }
                }
            }
        }
    }
Exemplo n.º 2
0
 // Token: 0x060001DD RID: 477 RVA: 0x0000D108 File Offset: 0x0000B308
 public bool GetComponentState(string pchRenderModelName, string pchComponentName, ref global::Valve.VR.VRControllerState_t pControllerState, ref global::Valve.VR.RenderModel_ControllerMode_State_t pState, ref global::Valve.VR.RenderModel_ComponentState_t pComponentState)
 {
     return(this.FnTable.GetComponentState(pchRenderModelName, pchComponentName, ref pControllerState, ref pState, ref pComponentState));
 }