|
- using RobocraftX.Blocks;
- using RobocraftX.Common;
- using Svelto.ECS;
-
- namespace GamecraftModdingAPI.Blocks
- {
- public class DampedSpring : Block
- {
- public DampedSpring(EGID id) : base(id)
- {
- }
-
- public DampedSpring(uint id) : base(new EGID(id, CommonExclusiveGroups.BUILD_DAMPEDSPRING_BLOCK_GROUP))
- {
- }
-
- /// <summary>
- /// The spring's maximum force. This is known as Stiffness in-game
- /// </summary>
- public float MaxForce
- {
- get => BlockEngine.GetBlockInfo(this, (DampedSpringReadOnlyStruct dsrs) => dsrs.maxForce);
-
- set => BlockEngine.SetBlockInfo(this,
- (ref DampedSpringReadOnlyStruct dsrs, float val) => dsrs.maxForce = val, value);
- }
-
- /// <summary>
- /// Alias of MaxForce.
- /// </summary>
- public float Stiffness
- {
- get => MaxForce;
- set => MaxForce = value;
- }
-
- /// <summary>
- /// The spring's maximum damping force.
- /// </summary>
- public float Damping
- {
- get => BlockEngine.GetBlockInfo(this, (LinearJointForcesReadOnlyStruct ljf) => ljf.dampingForceMagnitude);
-
- set => BlockEngine.SetBlockInfo(this,
- (ref LinearJointForcesReadOnlyStruct ljf, float val) => ljf.dampingForceMagnitude = val, value);
- }
- }
- }
|