public void CopyFrom(KinematicCharacterMotorState state) { Position = state.Position; Rotation = state.Rotation; BaseVelocity = state.BaseVelocity; MustUnground = state.MustUnground; MustUngroundTime = state.MustUngroundTime; LastMovementIterationFoundAnyGround = state.LastMovementIterationFoundAnyGround; FoundAnyGround = state.GroundingStatus.FoundAnyGround; IsStableOnGround = state.GroundingStatus.IsStableOnGround; SnappingPrevented = state.GroundingStatus.SnappingPrevented; GroundNormal = state.GroundingStatus.GroundNormal; InnerGroundNormal = state.GroundingStatus.InnerGroundNormal; OuterGroundNormal = state.GroundingStatus.OuterGroundNormal; }
public KinematicCharacterMotorState GetState() { KinematicCharacterMotorState state = new KinematicCharacterMotorState(); state.Position = Position; state.Rotation = Rotation; state.BaseVelocity = BaseVelocity; state.MustUnground = MustUnground; state.MustUngroundTime = MustUngroundTime; state.LastMovementIterationFoundAnyGround = LastMovementIterationFoundAnyGround; state.GroundingStatus = new CharacterTransientGroundingReport { FoundAnyGround = this.FoundAnyGround, IsStableOnGround = this.IsStableOnGround, SnappingPrevented = this.SnappingPrevented, GroundNormal = this.GroundNormal, InnerGroundNormal = this.InnerGroundNormal, OuterGroundNormal = this.OuterGroundNormal }; return(state); }