Skip to content

Conversation

@JasonXuDeveloper
Copy link
Owner

@JasonXuDeveloper JasonXuDeveloper commented Jan 22, 2026

Summary

This PR introduces the new JEngine.Util package (com.jasonxudeveloper.jengine.util), a collection of utility classes for the JEngine framework.

New Package Contents

Runtime Classes:

  • JAction - A powerful action sequencing system for chaining operations with delays, loops, conditions, and async/await support
  • JActionAwaitable - Awaitable wrapper for JAction to support async/await patterns
  • JObjectPool - Generic object pooling system for efficient object reuse
  • JActionRunner - Internal runner for managing JAction execution
  • JActionTask - Internal task representation for JAction operations
  • IStateStorage - Interface for state storage implementations

Tests:

  • Comprehensive editor tests (JActionTests.cs) covering JAction functionality
  • Runtime tests (JActionRuntimeTests.cs) for Unity-specific behavior

Documentation Updates

  • Updated README.md to list JEngine.Util as a built-in core package
  • Updated README_zh_cn.md (Chinese) with the same information

Test plan

  • Open Unity project and verify no compilation errors
  • Run editor tests: JEngine.Util.Editor.Tests
  • Run runtime tests: JEngine.Util.Tests
  • Verify JAction chaining works correctly
  • Verify JObjectPool allocates and recycles objects properly

🤖 Generated with Claude Code

JasonXuDeveloper and others added 2 commits January 22, 2026 13:14
Introduce new utility classes package for JEngine framework. Also update
READMEs to document the new built-in package.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@claude
Copy link

claude bot commented Jan 22, 2026


Code review

No issues found. Checked for bugs and CLAUDE.md compliance.


JasonXuDeveloper and others added 4 commits January 22, 2026 14:40
Extract each task type handler into separate methods to improve
maintainability and reduce the complexity score from 50 to under 10.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Implement IEquatable<T> on value types: JActionUpdate, JActionAwaiter,
  JActionTask, JActionAwaitable for better performance
- Add comment to empty while block to clarify intentional design

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace manual IEquatable<T> implementations with record struct
for cleaner, compiler-generated equality members.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@JasonXuDeveloper JasonXuDeveloper merged commit 128f054 into master Jan 22, 2026
5 checks passed
@JasonXuDeveloper JasonXuDeveloper deleted the wt-jengine-util branch January 22, 2026 04:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants