diff --git a/Game/Assets/Camera effects.meta b/Game/Assets/Camera effects.meta deleted file mode 100644 index 5ff7701..0000000 --- a/Game/Assets/Camera effects.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c23c9f7c225f28546ad748b02e751f1d -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Game/Assets/Camera effects/Camerashake.cs b/Game/Assets/Camera effects/Camerashake.cs deleted file mode 100644 index aa87d90..0000000 --- a/Game/Assets/Camera effects/Camerashake.cs +++ /dev/null @@ -1,48 +0,0 @@ -/* -Author: Wai Lam -Date: 6/2/25 -Description: Make the camera shake -*/ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class Camerashake : MonoBehaviour -{ - [SerializeField] private float shakeMagnitude = 0.05f; - [SerializeField] private bool isShaking = false; // Toggle shaking on/off - - private Transform cameraOffsetTransform; - private Vector3 originalLocalPos; - - private void Start() - { - cameraOffsetTransform = transform; // Attach this script to Camera Offset - originalLocalPos = cameraOffsetTransform.localPosition; - } - - private void Update() - { - if (isShaking) - { - cameraOffsetTransform.localPosition = originalLocalPos + (Vector3)Random.insideUnitSphere * shakeMagnitude; - } - else - { - cameraOffsetTransform.localPosition = originalLocalPos; // Reset when not shaking - } - } - - // Public methods to enable/disable shaking dynamically - public void StartShaking(float magnitude = -1) - { - if (magnitude > 0) shakeMagnitude = magnitude; - isShaking = true; - } - - public void StopShaking() - { - isShaking = false; - cameraOffsetTransform.localPosition = originalLocalPos; // Ensure reset - } -} diff --git a/Game/Assets/Camera effects/Camerashake.cs.meta b/Game/Assets/Camera effects/Camerashake.cs.meta deleted file mode 100644 index c5deed6..0000000 --- a/Game/Assets/Camera effects/Camerashake.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 829050d920c070f4783f067cdcb74217 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Game/Assets/Camera effects/Viginettevolume Profile.asset b/Game/Assets/Camera effects/Viginettevolume Profile.asset deleted file mode 100644 index 7d1ff5f..0000000 --- a/Game/Assets/Camera effects/Viginettevolume Profile.asset +++ /dev/null @@ -1,44 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3} - m_Name: Viginettevolume Profile - m_EditorClassIdentifier: - components: - - {fileID: 470894040277958869} ---- !u!114 &470894040277958869 -MonoBehaviour: - m_ObjectHideFlags: 3 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 899c54efeace73346a0a16faa3afe726, type: 3} - m_Name: Vignette - m_EditorClassIdentifier: - active: 1 - color: - m_OverrideState: 1 - m_Value: {r: 0, g: 0, b: 0, a: 1} - center: - m_OverrideState: 1 - m_Value: {x: 0.5, y: 0.5} - intensity: - m_OverrideState: 1 - m_Value: 1 - smoothness: - m_OverrideState: 1 - m_Value: 0.352 - rounded: - m_OverrideState: 1 - m_Value: 0 diff --git a/Game/Assets/Camera effects/Viginettevolume Profile.asset.meta b/Game/Assets/Camera effects/Viginettevolume Profile.asset.meta deleted file mode 100644 index eceb32b..0000000 --- a/Game/Assets/Camera effects/Viginettevolume Profile.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 655125311f4fc2048bcc12ddf6c49723 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Game/Assets/Camera effects/colordistortion Profile.asset b/Game/Assets/Camera effects/colordistortion Profile.asset deleted file mode 100644 index a8ea5ca..0000000 --- a/Game/Assets/Camera effects/colordistortion Profile.asset +++ /dev/null @@ -1,44 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3} - m_Name: colordistortion Profile - m_EditorClassIdentifier: - components: - - {fileID: 2076673937229531157} ---- !u!114 &2076673937229531157 -MonoBehaviour: - m_ObjectHideFlags: 3 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 66f335fb1ffd8684294ad653bf1c7564, type: 3} - m_Name: ColorAdjustments - m_EditorClassIdentifier: - active: 1 - postExposure: - m_OverrideState: 1 - m_Value: 0 - contrast: - m_OverrideState: 1 - m_Value: 1.47 - colorFilter: - m_OverrideState: 1 - m_Value: {r: 0.9647059, g: 0.98039216, b: 1, a: 1} - hueShift: - m_OverrideState: 1 - m_Value: 87 - saturation: - m_OverrideState: 1 - m_Value: 67 diff --git a/Game/Assets/Camera effects/colordistortion Profile.asset.meta b/Game/Assets/Camera effects/colordistortion Profile.asset.meta deleted file mode 100644 index 589f541..0000000 --- a/Game/Assets/Camera effects/colordistortion Profile.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: de50934a2e98f5940b4e2e5c8f0a1e49 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Game/Assets/Scripts/Followplayercam.cs.meta b/Game/Assets/Scripts/CameraGhostFollow.cs.meta similarity index 100% rename from Game/Assets/Scripts/Followplayercam.cs.meta rename to Game/Assets/Scripts/CameraGhostFollow.cs.meta diff --git a/Game/Assets/Scripts/CameraShake.cs b/Game/Assets/Scripts/CameraShake.cs new file mode 100644 index 0000000..85d9392 --- /dev/null +++ b/Game/Assets/Scripts/CameraShake.cs @@ -0,0 +1,45 @@ +/* + * Author: Wai Lam + * Date: 6/2/25 + * Description: Make the camera shake + */ + +using UnityEngine; + +public class CameraShake : MonoBehaviour +{ + [SerializeField] private float shakeMagnitude = 0.05f; + [SerializeField] private bool isShaking; // Toggle shaking on/off + + private Transform _cameraOffsetTransform; + private Vector3 _originalLocalPos; + + private void Start() + { + _cameraOffsetTransform = transform; // Attach this script to Camera Offset + _originalLocalPos = _cameraOffsetTransform.localPosition; + } + + private void Update() + { + if (isShaking) + _cameraOffsetTransform.localPosition = _originalLocalPos + Random.insideUnitSphere * shakeMagnitude; + else + _cameraOffsetTransform.localPosition = _originalLocalPos; // Reset when not shaking + } + + // Public methods to enable/disable shaking dynamically + // ReSharper disable once UnusedMember.Global + public void StartShaking(float magnitude = -1) + { + if (magnitude > 0) shakeMagnitude = magnitude; + isShaking = true; + } + + // ReSharper disable once UnusedMember.Global + public void StopShaking() + { + isShaking = false; + _cameraOffsetTransform.localPosition = _originalLocalPos; // Ensure reset + } +} \ No newline at end of file diff --git a/Game/Assets/Scripts/Followplayercam.cs b/Game/Assets/Scripts/Followplayercam.cs deleted file mode 100644 index 517976e..0000000 --- a/Game/Assets/Scripts/Followplayercam.cs +++ /dev/null @@ -1,46 +0,0 @@ -/* -Author: Wai Lam -Date: 6/2/25 -Description: UI to follow camera with a slight delay -*/ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class Followplayercam : MonoBehaviour -{ - - public Transform target; // Usually the Main Camera (XR Rig's Head) - - - public float followSpeed = 5f; // How quickly it follows the target - public Vector3 offset = new Vector3(0, -0.2f, 1.5f); // Position offset - public bool followRotation = true; // Toggle for rotating with the head - - public float maxPitchAngle = 30f; // Limits how much the panel tilts up/down - - private void LateUpdate() - { - if (target == null) return; - - // Smooth Position Follow - Vector3 desiredPosition = target.position + target.TransformDirection(offset); - transform.position = Vector3.Lerp(transform.position, desiredPosition, Time.deltaTime * followSpeed); - - // Smooth Rotation Follow (Yaw + Pitch) - if (followRotation) - { - // Capture target's full rotation - Vector3 targetEulerAngles = target.eulerAngles; - - // Handle Pitch (X-axis) - Clamp to avoid extreme tilting - float pitch = targetEulerAngles.x; - if (pitch > 180) pitch -= 360; // Convert to -180 to 180 range - pitch = Mathf.Clamp(pitch, -maxPitchAngle, maxPitchAngle); - - // Apply Yaw (Y-axis) and Pitch (X-axis), keep Roll (Z-axis) at 0 - Quaternion desiredRotation = Quaternion.Euler(pitch, targetEulerAngles.y, 0); - transform.rotation = Quaternion.Slerp(transform.rotation, desiredRotation, Time.deltaTime * followSpeed); - } - } -} \ No newline at end of file diff --git a/Game/Assets/Scripts/socket.cs b/Game/Assets/Scripts/socket.cs deleted file mode 100644 index dec2484..0000000 --- a/Game/Assets/Scripts/socket.cs +++ /dev/null @@ -1,46 +0,0 @@ -using UnityEngine; -using UnityEngine.XR.Interaction.Toolkit; - -public class RubbishBin : MonoBehaviour -{ - private UnityEngine.XR.Interaction.Toolkit.Interactors.XRSocketInteractor socket; - - private void Start() - { - socket = GetComponent(); - - if (socket == null) - { - Debug.LogError("XRSocketInteractor component is missing from the rubbish bin!"); - return; - } - - socket.selectEntered.AddListener(OnTrashPlaced); - } - - private void OnTrashPlaced(SelectEnterEventArgs args) - { - UnityEngine.XR.Interaction.Toolkit.Interactables.XRBaseInteractable trash = (UnityEngine.XR.Interaction.Toolkit.Interactables.XRBaseInteractable)args.interactableObject; - - if (trash != null) - { - Debug.Log($"{trash.gameObject.name} was placed in the rubbish bin and destroyed."); - Destroy(trash.gameObject); - - // Add haptic feedback if using a VR controller - if (args.interactorObject is UnityEngine.XR.Interaction.Toolkit.Interactors.XRBaseInputInteractor controller) - { - controller.SendHapticImpulse(0.7f, 0.2f); - } - } - } - - private void OnDestroy() - { - if (socket != null) - { - socket.selectEntered.RemoveListener(OnTrashPlaced); - } - } -} - diff --git a/Game/Assets/Scripts/socket.cs.meta b/Game/Assets/Scripts/socket.cs.meta deleted file mode 100644 index edc42cc..0000000 --- a/Game/Assets/Scripts/socket.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: b3d5a817584b84da0a08814feb482587 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: