Example #1
0
        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;
        }
Example #2
0
        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);
        }