I am working on adding synchronized physical properties to EntityEquipment
in TableTopKit, allowing seamless coordination during GroupActivities
sessions between players.
Current Approach and Limitations
I have tried setting EntityEquipment's state to DieState
and treating it as a TossableRepresentation
object. This approach achieves basic physical properties synchronized across players. However, it has several limitations:
- No Collision Detection Between Dice: Multiple dice do not collide with each other.
- Shape Limitations: Custom shapes, like parallelepipeds, cannot be configured.
Below is my existing code for Base Entity Equipment without physical properties:
struct CubeWithPhysics: EntityEquipment {
let id: ID
let entity: Entity
var initialState: BaseEquipmentState
init(id: ID, entity: Entity) {
self.id = id
self.entity = entity
initialState = .init(parentID: .tableID, pose: .init(position: .zero, rotation: .zero), entity: self.entity)
}
}
I’d appreciate any guidance on the recommended approach to adding synchronized physical properties to EntityEquipment.