void MakeItSo() { var go = Fsm.GetOwnerDefaultTarget(gameObject); if (go == null) { return; } if (!enablePointer.IsNone) { pointer = go.GetComponent <VRTK_Pointer>(); pointer.enabled = enablePointer.Value; } // set pointer renderer to be beizer if (enableBezierRenderer.Value) { bezier = go.GetComponent <VRTK_BezierPointerRenderer>(); pointer.pointerRenderer = bezier; } // set pointer renderer to be straight if (enableStraightRenderer.Value) { straight = go.GetComponent <VRTK_StraightPointerRenderer>(); pointer.pointerRenderer = straight; } if (!enableBezierRenderer.IsNone) { bezier = go.GetComponent <VRTK_BezierPointerRenderer>(); bezier.enabled = enableBezierRenderer.Value; } if (!enableHeightAdjustTele.IsNone) { heightTeleport = go.GetComponent <VRTK_HeightAdjustTeleport>(); heightTeleport.enabled = enableHeightAdjustTele.Value; } if (!enableStraightRenderer.IsNone) { straight = go.GetComponent <VRTK_StraightPointerRenderer>(); straight.enabled = enableStraightRenderer.Value; } if (!enableBodyTeleport.IsNone) { bodyPhysics = bodyPhysicsGO.Value.GetComponent <VRTK_BodyPhysics>(); bodyPhysics.enableTeleport = enableBodyTeleport.Value; } }
/// <summary> /// Observable Teleported event /// </summary> /// <param name="events"></param> /// <returns></returns> public static IObservable <DestinationMarkerEventArgs> TeleportedAsObservable(this VRTK_HeightAdjustTeleport events) { return(Observable.FromEvent <TeleportEventHandler, DestinationMarkerEventArgs>( h => (s, e) => h(e), h => events.Teleported += h, h => events.Teleported -= h)); }