refactoring: Moved Scripts into Runtime folder#8
Conversation
- Implemented PlayerPrefsEncryptedVector2Int, PlayerPrefsEncryptedVector3, and PlayerPrefsEncryptedVector3Int for storing Vector2Int and Vector3 data types securely. - Created PlayerPrefsEx class with methods for getting and setting encrypted Vector3 and Vector3Int values. - Added PlayerPrefsJson for generic JSON serialization and deserialization of any type. - Introduced PlayerPrefsFloat, PlayerPrefsInt, and PlayerPrefsString for handling float, int, and string types with PlayerPrefs. - Developed PlayerPrefsVector2 and PlayerPrefsVector3 for storing Vector2 and Vector3 values. - Implemented PlayerPrefsExEncryptor for AES-256 encryption and decryption of PlayerPrefs data. - Added IPlayerPrefsEx interface to standardize PlayerPrefsEx implementations. - Included utility methods for managing PlayerPrefs keys and settings.
There was a problem hiding this comment.
Pull request overview
This pull request reorganizes the Unity PlayerPrefsEx package by moving scripts into a Runtime folder structure and adds a release workflow status badge to the README files. Despite the title focusing on refactoring, the PR also includes documentation improvements.
- Adds a release workflow status badge to both main and package README files for better visibility into CI/CD status
- Introduces a complete Runtime/Scripts folder structure with Types and Utils subdirectories
- Implements PlayerPrefsEx functionality with support for multiple data types including primitives, Unity vectors, JSON, DateTime, and BigInteger, with both standard and encrypted variants
Reviewed changes
Copilot reviewed 2 out of 63 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Adds release workflow status badge to main documentation |
| Unity-Package/Assets/root/README.md | Adds release workflow status badge to package documentation |
| Unity-Package/Assets/root/Runtime/Scripts/Extensions.Unity.PlayerPrefsEx.asmdef | Defines assembly for the PlayerPrefsEx package |
| Unity-Package/Assets/root/Runtime/Scripts/Utils/PlayerPrefsEx*.cs | Core utility classes for PlayerPrefs extensions and encryption |
| Unity-Package/Assets/root/Runtime/Scripts/Types/PlayerPrefs*.cs | Type-specific implementations for various data types with standard and encrypted variants |
| *.meta files | Unity metadata files for all scripts and folders |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 63 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Created assembly definitions for test projects related to Extensions.Unity.PlayerPrefsEx. - Implemented tests for encrypted static and variable APIs, ensuring values are correctly stored and retrieved. - Added tests to verify that encrypted values are not stored as plain text. - Included tests for shared values between static and variable APIs across different data types (string, int, bool, float, BigInt, DateTime, Vector2, Vector3). - Ensured that deleting keys works correctly across all types.
Moved and renamed test files to separate Editor and Runtime tests, updated assembly definitions, and removed obsolete shared and runtime test files. Adjusted namespaces and references to match the new structure. Added VSCode workspace configuration and updated settings for .NET solution. This improves test organization and compatibility with Unity's test runner.
Switched the 'extensions.unity.playerprefsex' dependency to a local package reference in both Unity-Tests/2023.2.22f1 and Unity-Tests/6000.3.1f1. This change removes the previous registry-based dependency and its transitive dependencies, simplifying the lock files.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 42 out of 103 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This pull request adds a new badge to both the main and package
README.mdfiles to display the status of the release workflow. This helps users quickly see if the latest tests have passed.README.mdandUnity-Package/Assets/root/README.md, providing visibility into the release pipeline status.