Updated status for StateManagement and Camera libraries to complete, removed Physics library section
This commit is contained in:
@@ -138,7 +138,7 @@ public class PooledEvent<T> where T : class, new()
|
||||
#### 1.3 - EinSoftworks.StateManagement
|
||||
| | | |
|
||||
|--------------|----|---------------------------------------------|
|
||||
| Status | 🔴 | Incomplete |
|
||||
| Status | 🟢 | Complete |
|
||||
| Priority | 🔴 | Critical |
|
||||
| Dependencies | ⚫ | EinSoftworks.Utilities, EinSoftworks.Events |
|
||||
|
||||
@@ -202,7 +202,7 @@ These libraries provide essential 3D game functionality and build upon the found
|
||||
#### 2.1 - EinSoftworks.Camera
|
||||
| | | |
|
||||
|--------------|----|-----------------------------------------------------------------------|
|
||||
| Status | 🔴 | Incomplete |
|
||||
| Status | 🟢 | Complete |
|
||||
| Priority | 🟡 | High |
|
||||
| Dependencies | ⚫ | EinSoftworks.Input, EinSoftworks.Events, EinSoftworks.StateManagement |
|
||||
|
||||
@@ -268,62 +268,6 @@ public class OrbitCamera : CameraController
|
||||
- Third-person camera that follows a moving object
|
||||
- Orbit camera for examining 3D models
|
||||
|
||||
#### 2.2 - EinSoftworks.Physics
|
||||
| | | |
|
||||
|--------------|----|---------------------------------------------|
|
||||
| Status | 🔴 | Incomplete |
|
||||
| Priority | 🟡 | High |
|
||||
| Dependencies | ⚫ | EinSoftworks.Utilities, EinSoftworks.Events |
|
||||
|
||||
**Why Build Fifth:**
|
||||
- Nearly all 3D games need physics utilities
|
||||
- Independent of complex game systems
|
||||
- Provides foundation for character controllers and interaction systems
|
||||
- Can be validated independently
|
||||
|
||||
**Core Features:**
|
||||
```csharp
|
||||
// Raycast utilities
|
||||
public static class PhysicsUtils
|
||||
{
|
||||
public static bool Raycast(Vector3 origin, Vector3 direction, float maxDistance,
|
||||
uint collisionMask = uint.MaxValue);
|
||||
public static RaycastHit RaycastWithInfo(Vector3 origin, Vector3 direction, float maxDistance);
|
||||
public static RaycastHit[] RaycastAll(Vector3 origin, Vector3 direction, float maxDistance);
|
||||
|
||||
// Shape casting
|
||||
public static bool SphereCast(Vector3 origin, float radius, Vector3 direction, float maxDistance);
|
||||
public static bool BoxCast(Vector3 origin, Vector3 size, Vector3 direction, float maxDistance);
|
||||
|
||||
// Overlap detection
|
||||
public static Node3D[] OverlapSphere(Vector3 center, float radius, uint collisionMask);
|
||||
public static Node3D[] OverlapBox(Vector3 center, Vector3 size, uint collisionMask);
|
||||
}
|
||||
|
||||
// Physics materials management
|
||||
public class PhysicsMaterialManager : Node
|
||||
{
|
||||
public void RegisterMaterial(string name, PhysicsMaterial material);
|
||||
public PhysicsMaterial GetMaterial(string name);
|
||||
public void ApplyMaterial(RigidBody3D body, string materialName);
|
||||
}
|
||||
|
||||
// Trigger volume system
|
||||
public partial class TriggerVolume : Area3D
|
||||
{
|
||||
[Signal] public delegate void BodyEnteredEventHandler(Node3D body);
|
||||
[Signal] public delegate void BodyExitedEventHandler(Node3D body);
|
||||
|
||||
public bool IsBodyInside(Node3D body);
|
||||
public Node3D[] GetBodiesInside();
|
||||
}
|
||||
```
|
||||
|
||||
**Validation Game Ideas:**
|
||||
- Character that detects ground beneath them
|
||||
- Interaction system using raycasts
|
||||
- Trigger volumes that activate when player enters
|
||||
|
||||
### Phase 3: Character and Interaction Systems (Medium Priority)
|
||||
|
||||
These systems focus on character control and world interaction, building upon the previously established libraries.
|
||||
|
||||
Reference in New Issue
Block a user