private void HighlightObjectOnUnUse(object sender, ObjectInteraction.InteractableObjectEventArgs e) { if (_gameObject == null) { return; } VarwinHighlightEffect highlighter = _highlightOverriderGameObject ? _highlightOverriderGameObject.GetComponent <VarwinHighlightEffect>() : _gameObject.GetComponent <VarwinHighlightEffect>(); if (highlighter == null) { return; } if (highlighter.IsHighlightEnabled) { _lastHighlightedInputController?.UnHighlightObject(this, e); highlighter.SetHighlightEnabled(true); } highlighter.SetConfiguration(DefaultHighlightConfig); _lastHighlightedInputController = this; }
private void OnGrabEndVoid( object sender, ObjectInteraction.InteractableObjectEventArgs interactableObjectEventArgs) { if (Settings.Instance().Multiplayer) { ChangeOwner(); ObjectController.photonView.RPC("OnGrabEndRpc", PhotonTargets.All); } else { foreach (IGrabEndAware grabEndAware in _grabEndList) { grabEndAware?.OnGrabEnd(); } if (_grabPoint == null) { return; } //Fixed joint grab attach in progress... /*GrabPointJoint grabAttach = _gameObject.GetComponent<GrabPointJoint>(); * grabAttach.ReturnAttachPoint(); * Object.Destroy(grabAttach);*/ } }
private void EditorUngrabbed( object sender, ObjectInteraction.InteractableObjectEventArgs interactableObjectEventArgs) { if (Settings.Instance().Multiplayer) { ObjectController.photonView.RPC("OnUngrabbedRpc", PhotonTargets.All); } else { _onEditorGrabEnd(); } }
private void UnHighlightObject(object sender, ObjectInteraction.InteractableObjectEventArgs e) { if (_gameObject == null) { return; } VarwinHighlightEffect highlighter = _highlightOverriderGameObject ? _highlightOverriderGameObject.GetComponent <VarwinHighlightEffect>() : _gameObject.GetComponent <VarwinHighlightEffect>(); if (highlighter == null) { return; } highlighter.SetHighlightEnabled(false); if (_lastHighlightedInputController == this) { _lastHighlightedInputController = null; } else { _nextToHighlightInputController = this; } if (_nextToHighlightInputController != null) { if (_nextToHighlightInputController != this) { _nextToHighlightInputController.HighlightObject(this, e); } _nextToHighlightInputController = null; } if (sender == null) { return; } if (sender.GetType() == typeof(InputController)) { _nextToHighlightInputController = this; } }
private void OnUseEndVoid( object sender, ObjectInteraction.InteractableObjectEventArgs interactableObjectEventArgs) { if (Settings.Instance().Multiplayer) { ChangeOwner(); ObjectController.photonView.RPC("OnUseEndRpc", PhotonTargets.All); } else { foreach (IUseEndAware useEndAware in _useEndList) { useEndAware?.OnUseEnd(); } } }
private void OnAnyGrabEnd(object sender, ObjectInteraction.InteractableObjectEventArgs e) { if (!_isRoot) { return; } CollisionController collisionController = _gameObject.GetComponent <CollisionController>(); if (collisionController != null) { collisionController.enabled = false; Object.Destroy(collisionController); } InputAdapter.Instance.PlayerController.Nodes.GetControllerReference(e.Hand).Controller.AddColliders(null); }
private void OnTouchStartVoid( object sender, ObjectInteraction.InteractableObjectEventArgs interactableObjectEventArgs) { if (Settings.Instance().Multiplayer) { ChangeOwner(); ObjectController.photonView.RPC("OnTouchStartRpc", PhotonTargets.All); } else { foreach (ITouchStartAware touchStartAware in _touchStartList) { touchStartAware?.OnTouchStart(); } } }
private void OnUseStartVoid( object sender, ObjectInteraction.InteractableObjectEventArgs interactableObjectEventArgs) { if (Settings.Instance().Multiplayer) { ChangeOwner(); ObjectController.photonView.RPC("OnUseStartRpc", PhotonTargets.All); } else { UsingContext context = new UsingContext { GameObject = Vio.GetUsingObject(), Hand = interactableObjectEventArgs.Hand }; foreach (IUseStartAware useStartAware in _useStartList) { useStartAware?.OnUseStart(context); } } }
private void OnAnyGrabStart(object sender, ObjectInteraction.InteractableObjectEventArgs e) { if (!_isRoot) { return; } CollisionController collisionController = _gameObject.GetComponent <CollisionController>(); if (collisionController == null || !collisionController.enabled) { _gameObject.AddComponent <CollisionController>().InitializeController(this); } //all I can say is OOF; no regrets var hc = InputAdapter.Instance.PlayerController.Nodes.GetControllerReference(e.Hand); hc.Controller.AddColliders(hc.Controller.GetGrabbedObject().GetComponentsInChildren <Collider>()); ControllerEvents = InputAdapter.Instance.ControllerInput.ControllerEventFactory.GetFrom(_vio.GetGrabbingObject()); }
private void OnGrabStartVoid( object sender, ObjectInteraction.InteractableObjectEventArgs interactableObjectEventArgs) { if (Settings.Instance().Multiplayer) { ChangeOwner(); ObjectController.photonView.RPC("OnGrabStartRpc", PhotonTargets.All); } else { GrabingContext context = new GrabingContext { GameObject = Vio.GetGrabbingObject(), Hand = interactableObjectEventArgs.Hand }; foreach (IGrabStartAware startAware in _grabStartList) { startAware?.OnGrabStart(context); } if (_grabPoint == null) { return; } //Fixed joint grab attach in progress... /*Transform grabPosition = * context.GameObject.name.Contains("Left") ? * _grabPoint.GetLeftGrabPoint() : * _grabPoint.GetRightGrabPoint(); * * PlayerController.PlayerNodes.ControllerNode handNode = context.GameObject.name.Contains("Left") ? * InputAdapter.Instance.PlayerController.Nodes.LeftHand : * InputAdapter.Instance.PlayerController.Nodes.RightHand; * * _gameObject.AddComponent<GrabPointJoint>().Init(handNode, grabPosition);*/ } }