using Godot; /// <summary> /// 物体所受到的外力的描述对象 /// </summary> public class ExternalForce { /// <summary> /// 当前力的名称 /// </summary> public string Name { get; } /// <summary> /// 是否启用这个力对象, 如果禁用, 则该力对象则不会参与到运动计算当中, 而且不会调用 PhysicsProcess 方法 /// </summary> public bool Enable { get; set; } = true; /// <summary> /// 阻力大小, 也就是速度每秒衰减的量 /// </summary> public float Resistance { get; set; } = 5; /// <summary> /// 当速度到达 0 后是否自动销毁 /// </summary> public bool AutoDestroy { get; set; } = true; /// <summary> /// 当前力的速率 /// </summary> public Vector2 Velocity { get; set; } = Vector2.Zero; /// <summary> /// 物理帧更新 /// </summary> public virtual void PhysicsProcess(float delta) { } public ExternalForce(string name) { Name = name; } }