public void Remove(PhysicsColliderNode physicsColliderNode) { if (physicsColliderNode.IsActive) { B2World.DestroyBody(physicsColliderNode.B2Body); } physicsCollider.Remove(physicsColliderNode); }
public void Destroy(PhysicalShape shape) { if (shape.IsActive) { B2World.DestroyBody(shape.B2Body); } physicalShapes.Remove(shape); }
/// <summary> /// 物理演算を1ステップ実行する /// </summary> public void Update() { collisionController.FlushRemoveQueue(); B2World.Step(TimeStep, VelocityItetions, PositionIterations); Engine.Log.Debug(LogCategory.User, $"B2World CC:{B2World.GetContactCount()} BC:{B2World.GetBodyCount()}"); foreach (var item in physicsCollider) { item.SyncB2body(); } }