Пример #1
0
        static void Postfix(VRPointer __instance)
        {
#if DEBUG
            Logger.Log("VRPointer Start");
#endif
            Instance = __instance;
        }
    void InitializeVariables()
    {
        pointer = GetComponent <VRPointer>();
        pointer.TurnPointerOn();

        teleporter = GetComponent <VRTeleport>();
    }
Пример #3
0
    private void SnapCameraToPointer(VRPointer pointer)
    {
        Transform laserCaster = pointer.laserPointer.reference;

        uiCamera.position = laserCaster.position;
        uiCamera.rotation = Quaternion.LookRotation(laserCaster.up, -laserCaster.forward);
    }
 public void Init(ChatHandler chatHandler, Image lockImage, Transform lockSphere)
 {
     _this        = this;
     _vrPointer   = GetComponent <VRPointer>();
     _lockSphere  = lockSphere;
     _lockImage   = lockImage;
     _chatHandler = chatHandler;
 }
Пример #5
0
 public virtual void Init(Transform moveable)
 {
     _moveable  = moveable;
     _realPos   = moveable.position;
     _realRot   = moveable.rotation;
     _realScale = moveable.localScale.x;
     _vrPointer = GetComponent <VRPointer>();
 }
 public virtual void Init(FloatingScreen floatingScreen)
 {
     _floatingScreen = floatingScreen;
     _screenHandle   = floatingScreen.handle.transform;
     _realPos        = floatingScreen.transform.position;
     _realRot        = floatingScreen.transform.rotation;
     _vrPointer      = GetComponent <VRPointer>();
 }
Пример #7
0
 public virtual void Init(CameraPlusBehaviour cameraPlus, Transform cameraCube)
 {
     _cameraPlus = cameraPlus;
     _cameraCube = cameraCube;
     _realPos    = Plugin.Instance.Config.Position;
     _realRot    = Quaternion.Euler(Plugin.Instance.Config.Rotation);
     _vrPointer  = GetComponent <VRPointer>();
 }
Пример #8
0
 public virtual void Init(FloatingScreen floatingScreen, VRPointer pointer)
 {
     _floatingScreen = floatingScreen;
     _screenHandle   = floatingScreen.handle.transform;
     _realPos        = floatingScreen.transform.position;
     _realRot        = floatingScreen.transform.rotation;
     _vrPointer      = pointer;
     _isFpfc         = Environment.CommandLine.Contains("fpfc");
 }
Пример #9
0
 protected void OnDestroy()
 {
     OnGrab              = null;
     OnRelease           = null;
     _vrPointer          = null;
     _floatingScreen     = null;
     _screenHandle       = null;
     _grabbingController = null;
 }
Пример #10
0
 public virtual void Init(FloatingScreen floatingScreen, VRPointer pointer)
 {
     _floatingScreen = floatingScreen;
     _screenHandle   = floatingScreen.handle.transform;
     _realPos        = floatingScreen.transform.position;
     _realRot        = floatingScreen.transform.rotation;
     _vrPointer      = pointer;
     _fpfc           = Resources.FindObjectsOfTypeAll <FirstPersonFlyingController>().FirstOrDefault();
 }
Пример #11
0
 internal void Init()
 {
     _vrPointer            = Resources.FindObjectsOfTypeAll <VRPointer>().First();
     _triggerTime          = 0;
     _vrControllerTriggerd = false;
     _state = CalState.WebCamPosition;
     if (_vrPointer == null)
     {
         Logger.log.Error($"VRController Null");
     }
 }
Пример #12
0
 public void init(RakugakiController instance)
 {
     _rakugakiParent = instance;
     _vrPointer      = GetComponent <VRPointer>();
     Logger.log?.Debug($"{name}: init()");
     if (_vrPointer == null)
     {
         Logger.log?.Debug($"{name}: vrPointer Null");
     }
     _triggerTime = 0;
 }
Пример #13
0
 private void PointerOnEnabled(VRPointer obj)
 {
     try {
         var mover = this._chatScreen.gameObject.GetComponent <FloatingScreenMoverPointer>();
         if (!mover)
         {
             mover = this._chatScreen.gameObject.AddComponent <FloatingScreenMoverPointer>();
             Destroy(this._chatScreen.screenMover);
         }
         this._chatScreen.screenMover = mover;
         this._chatScreen.screenMover.Init(this._chatScreen, obj);
     }
     catch (Exception e) {
         Logger.Error(e);
     }
 }
Пример #14
0
            private void Init()
            {
                _originalPointer = Resources.FindObjectsOfTypeAll <VRPointer>().FirstOrDefault();
                if (_originalPointer == null)
                {
                    return;
                }

                _rightController = _originalPointer.GetField <VRController, VRPointer>("_rightVRController");
                _leftController  = _originalPointer.GetField <VRController, VRPointer>("_leftVRController");
                //_rightController = Resources.FindObjectsOfTypeAll<VRController>().FirstOrDefault(x => x.name == "ControllerRight");
                //_leftController = Resources.FindObjectsOfTypeAll<VRController>().FirstOrDefault(x => x.name == "ControllerLeft");

                _pointerPrefab        = _originalPointer.GetField <Transform, VRPointer>("_laserPointerPrefab");
                _defaultPointerLength = _originalPointer.GetField <float, VRPointer>("_defaultLaserPointerLength");
                _pointerWidth         = _originalPointer.GetField <float, VRPointer>("_laserPointerWidth");

                IsInitialized = _rightController != null && _leftController != null && _originalPointer != null && _pointerPrefab != null;
            }
Пример #15
0
        /*
         * protected void Update()
         * {
         *  Logger.Warning($"{vrPointer.vrController.horizontalAxisValue} {vrPointer.vrController.verticalAxisValue}");
         *
         *  grabbed = false;
         *  if (vrPointer.vrController != null && vrPointer.vrController.triggerValue > 0.9f || Input.GetMouseButton(0))
         *  {
         *      if (Physics.Raycast(vrPointer.vrController.position, vrPointer.vrController.forward, out var hit))
         *      {
         *          //Logger.Warning($"POINTERINFO: {vrPointer.name} {vrPointer.vrController?.node} {vrPointer.cursorPosition}");
         *          //Logger.Warning($"CASTING TO TRANSFORM: {hit.transform}");
         *          if (hit.transform == dragger.transform)
         *          {
         *              grabbed = true;
         *              Logger.Warning("CASTING TO PROPER");
         *
         *              grabbedOrigin = vrPointer.vrController.transform.InverseTransformPoint(dragger.transform.position);
         *              var newRot = Quaternion.Inverse(vrPointer.vrController.transform.rotation) * dragger.transform.rotation;
         *
         *              //mainCanvas.transform.rotation = newRot;
         *          }
         *      }
         *  }
         * }
         *
         * protected void LateUpdate()
         * {
         *  if (grabbed)
         *  {
         *      var delta = vrPointer.vrController.verticalAxisValue * Time.unscaledDeltaTime;
         *      if (grabbedOrigin.magnitude > 0.25f)
         *      {
         *          grabbedOrigin -= Vector3.forward * delta;
         *      }
         *      else
         *      {
         *          grabbedOrigin -= Vector3.forward * Mathf.Clamp(delta, float.MinValue, 0);
         *      }
         *
         *      Logger.Warning($"GRABBED: {delta} {vrPointer.vrController.verticalAxisValue} {Time.unscaledDeltaTime}");
         *
         *      dragger.transform.position = vrPointer.vrController.transform.TransformPoint(grabbedOrigin);
         *  }
         * }
         */

        private void Awake()
        {
            Config.LoadConfig();
            gameObject.transform.position    = Config.Position;
            gameObject.transform.eulerAngles = Config.Rotation;
            gameObject.transform.localScale  = Config.Scale;

            vrPointer = Resources.FindObjectsOfTypeAll <VRPointer>().First();

            /*
             * dragger = GameObject.CreatePrimitive(PrimitiveType.Cube);
             * dragger.transform.localScale = new Vector3(0.15f, 0.15f, 0.22f);
             * dragger.transform.position = Position + new Vector3(0, 1, 0);
             * dragger.transform.eulerAngles = Rotation;
             * DebugTools.LogComponents(dragger.transform, includeScipts: true);
             * DontDestroyOnLoad(dragger);
             */

            mainCanvas            = gameObject.AddComponent <Canvas>();
            mainCanvas.renderMode = RenderMode.WorldSpace;
            var canvasTransform = mainCanvas.transform as RectTransform;

            canvasTransform.sizeDelta = Config.Size;

            rawImage = mainCanvas.gameObject.AddComponent <RawImage>();
            var imageTransform = rawImage.transform as RectTransform;

            imageTransform.SetParent(mainCanvas.transform, false);
            rawImage.color    = Color.clear;
            rawImage.material = Resources.FindObjectsOfTypeAll <Material>().FirstOrDefault(x => x.name == "UINoGlow");

            audioSource = gameObject.AddComponent <AudioSource>();

            videoPlayer             = gameObject.AddComponent <VideoPlayer>();
            videoPlayer.playOnAwake = false;
            videoPlayer.transform.SetParent(mainCanvas.transform, false);
            videoPlayer.renderMode      = VideoRenderMode.RenderTexture;
            videoPlayer.audioOutputMode = VideoAudioOutputMode.AudioSource;
            videoPlayer.SetTargetAudioSource(0, audioSource);

            DontDestroyOnLoad(gameObject);
        }
Пример #16
0
        IEnumerator grabPointer() //Monkeymanboy is a f*****g legend
        {
            yield return(new WaitUntil(() => Resources.FindObjectsOfTypeAll <VRPointer>().Any()));

            try
            {
                VRPointer pointer = Resources.FindObjectsOfTypeAll <VRPointer>().FirstOrDefault();
                if (pointer.gameObject.GetComponent <Movement>() == null)
                {
                    var movePointer = pointer.gameObject.AddComponent <Movement>();
                    movePointer.Init(cube.transform);
                }
                found = true;
                foreach (Moveable hi in FindObjectsOfType <Moveable>())
                {
                    hi.found = true;
                }
            }
            catch (Exception e) { Plugin.Log(e.ToString(), Plugin.LogInfo.Error); }
        }
Пример #17
0
        private void AddToVRPointer()
        {
            VRPointer pointer = null;

            if (_isInGame)
            {
                pointer = Resources.FindObjectsOfTypeAll <VRPointer>().Last();
            }
            else
            {
                pointer = Resources.FindObjectsOfTypeAll <VRPointer>().First();
            }
            if (_chatScreen.screenMover != null)
            {
                DestroyImmediate(_chatScreen.screenMover);
                _chatScreen.screenMover = pointer.gameObject.AddComponent <FloatingScreenMoverPointer>();
                _chatScreen.screenMover.Init(_chatScreen);
                _chatScreen.screenMover.OnRelease += floatingScreen_OnRelease;
                _chatScreen.screenMover.transform.SetAsFirstSibling();
            }
        }
Пример #18
0
        protected virtual void Update()
        {
            VRPointer pointer = _vrPointer;

            if (pointer?.vrController != null)
            {
                if (pointer.vrController.triggerValue > 0.9f || Input.GetMouseButton(0))
                {
                    if (_grabbingController != null)
                    {
                        return;
                    }
                    if (Physics.Raycast(pointer.vrController.position, pointer.vrController.forward, out RaycastHit hit, MaxLaserDistance))
                    {
                        if (hit.transform != _screenHandle)
                        {
                            return;
                        }
                        _grabbingController = pointer.vrController;
                        _grabPos            = pointer.vrController.transform.InverseTransformPoint(_floatingScreen.transform.position);
                        _grabRot            = Quaternion.Inverse(pointer.vrController.transform.rotation) * _floatingScreen.transform.rotation;
                        _floatingScreen.OnHandleGrab(pointer);
                        OnGrab?.Invoke(_floatingScreen.transform.position, _floatingScreen.transform.rotation);
                    }
                }
            }

            if (_grabbingController == null || !_isFpfc && _grabbingController.triggerValue > 0.9f ||
                _isFpfc && Input.GetMouseButton(0))
            {
                return;
            }
            _grabbingController = null;
            _floatingScreen.OnHandleReleased(pointer);
            OnRelease?.Invoke(_floatingScreen.transform.position, _floatingScreen.transform.rotation);
        }
Пример #19
0
 void InitializeVariables()
 {
     pointer         = GetComponent <VRPointer>();
     _waitForSeconds = new WaitForSeconds(_movementCooldown);
 }
Пример #20
0
 public void Init(Transform moverCube)
 {
     _this      = this;
     _vrPointer = GetComponent <VRPointer>();
     _moverCube = moverCube;
 }
Пример #21
0
 static void Postfix(VRPointer __instance)
 {
     Logger.log.Notice("VRPointer Found");
     Instance = __instance;
 }
 public static void Postfix(VRPointer __instance)
 {
     //ColourManager.RecolourLaserPointer(ColourManager.LaserPointerColour);
     ColourManager.RecolourMenuStuff(ColourManager.A, ColourManager.B, ColourManager.LightA, ColourManager.LightB, ColourManager.Platform, ColourManager.LaserPointerColour);
 }
 public static void Postfix(VRPointer __instance)
 {
     PointerEnabled?.Invoke(__instance);
 }
 public void Start()
 {
     vrPointer = Resources.FindObjectsOfTypeAll <VRPointer>().FirstOrDefault();
 }
 public void Init(Image lockImage, Transform lockSphere)
 {
     _vrPointer  = GetComponent <VRPointer>();
     _lockSphere = lockSphere;
     _lockImage  = lockImage;
 }
Пример #26
0
 public void Initialize(string message)
 {
     this.message = message;
     vrPointer    = Resources.FindObjectsOfTypeAll <VRPointer>().FirstOrDefault();
     objectMover  = FindObjectOfType <ObjectMover>();
 }
Пример #27
0
        public virtual void Init(FloatingScreen floatingScreen)
        {
            VRPointer vrPointer = GetComponent <VRPointer>();

            Init(floatingScreen, vrPointer);
        }
Пример #28
0
 public void VRPointerOnEnable(VRPointer __instance)
 {
     this.PointerOnEnabled(__instance);
 }