protected override void Start() { m_InputOverride = baseInput_ = GetComponent <CyanEmuBaseInput>(); eventSystem.sendNavigationEvents = false; base.Start(); }
private void OnGUI() { Vector2 center = CyanEmuBaseInput.GetScreenCenter(); Vector2 size = new Vector2(reticleTexture_.width, reticleTexture_.height); Rect position = new Rect(center - size * 0.5f, size); GUI.DrawTexture(position, reticleTexture_); }
private void Awake() { if (instance != null) { this.LogError("Player controller instance already exists!"); DestroyImmediate(this); return; } #if VRC_SDK_VRCSDK2 legacyLocomotion_ = true; #endif instance = this; descriptor_ = FindObjectOfType <VRC_SceneDescriptor>(); gameObject.layer = LayerMask.NameToLayer("PlayerLocal"); gameObject.tag = "Player"; rigidbody_ = gameObject.AddComponent <Rigidbody>(); rigidbody_.isKinematic = true; characterController_ = gameObject.AddComponent <CharacterController>(); characterController_.slopeLimit = 50; characterController_.stepOffset = .5f; characterController_.skinWidth = 0.005f; characterController_.minMoveDistance = 0; characterController_.center = new Vector3(0, 0.8f, 0); characterController_.radius = 0.2f; characterController_.height = 1.6f; GameObject capsule = GameObject.CreatePrimitive(PrimitiveType.Capsule); capsule.transform.localScale = new Vector3(0.4f, 1, 0.4f); capsule.transform.SetParent(transform, false); capsule.transform.localPosition = new Vector3(0, 1, 0); capsule.layer = LayerMask.NameToLayer("MirrorReflection"); DestroyImmediate(capsule.GetComponent <Collider>()); playerCamera_ = new GameObject("Player Camera"); GameObject cameraHolder = new GameObject("CameraHolder"); cameraHolder.transform.SetParent(playerCamera_.transform, false); camera_ = cameraHolder.AddComponent <Camera>(); camera_.cullingMask &= ~(1 << 18); // remove mirror reflection updateStancePosition_ = false; // TODO, make based on avatar armspan/settings cameraHolder.transform.localScale = Vector3.one * AVATAR_SCALE_; playerCamera_.AddComponent <AudioListener>(); playerCamera_.transform.SetParent(transform, false); playerCamera_.transform.localPosition = new Vector3(0, STANDING_HEIGHT_, .1f); playerCamera_.transform.localRotation = Quaternion.identity; playspace_ = new GameObject("Playspace Center"); playspace_.transform.SetParent(transform, false); playspace_.transform.localPosition = new Vector3(-1, 0, -1); playspace_.transform.localRotation = Quaternion.Euler(0, 45, 0); rightArmPosition_ = new GameObject("Right Arm Position"); rightArmPosition_.transform.SetParent(playerCamera_.transform, false); rightArmPosition_.transform.localPosition = new Vector3(0.15f, -0.13f, 0.4f); rightArmPosition_.transform.localRotation = Quaternion.Euler(-35, 0, -90); rightArmRigidbody_ = rightArmPosition_.AddComponent <Rigidbody>(); rightArmRigidbody_.isKinematic = true; leftArmPosition_ = new GameObject("Left Arm Position"); leftArmPosition_.transform.SetParent(playerCamera_.transform, false); leftArmPosition_.transform.localPosition = new Vector3(-0.15f, -0.13f, 0.4f); leftArmPosition_.transform.localRotation = Quaternion.Euler(-35, 0, -90); leftArmRigidbody_ = leftArmPosition_.AddComponent <Rigidbody>(); leftArmRigidbody_.isKinematic = true; mouseLook_ = new MouseLook(); mouseLook_.Init(transform, playerCamera_.transform); stance_ = Stance.STANDING; baseInput_ = transform.parent.gameObject.GetComponent <CyanEmuBaseInput>(); CreateMenu(); GameObject interactHelper = new GameObject("InteractHelper"); interactHelper.transform.SetParent(transform.parent, false); interactHelper_ = interactHelper.AddComponent <CyanEmuInteractHelper>(); Func <bool> shouldCheckForInteracts = () => { return(currentPickup_ == null && !menu_.activeInHierarchy && !isDead_); }; interactHelper_.Initialize(playerCamera_.transform, playerCamera_.transform, shouldCheckForInteracts); reticleTexture_ = Resources.Load <Texture2D>("Images/Reticle"); cameraProxyObject_ = new GameObject("CameraDamageProxy").transform; cameraProxyObject_.SetParent(CyanEmuMain.GetProxyObjectTransform(), false); UpdateCameraProxyPosition(); // experimental! //interactHelper_.highlightManager = playerCamera_.AddComponent<VRCP_HighlightManager>(); }