Exemple #1
0
        public virtual void FromStateToComponent(VehicleAbstractState state, VehicleEntity vehicle)
        {
            var comp = vehicle.GetDynamicData();

            comp.Flag = (int)VehicleFlag.LocalSet;

            comp.IsAccelerated = state.IsAccelerated;
            comp.SteerInput    = state.SteerInput;
            comp.ThrottleInput = state.ThrottleInput;

            comp.Position        = state.BodyState.Position;
            comp.Rotation        = state.BodyState.Rotation;
            comp.LinearVelocity  = state.BodyState.LinearVelocity;
            comp.AngularVelocity = state.BodyState.AngularVelocity;
            comp.IsSleeping      = state.BodyState.IsSleeping;

            var wheelCount = state.WheelStates.Length;
            var indexArray = VehicleIndexHelper.GetWheelIndexArray();

            AssertUtility.Assert(wheelCount <= indexArray.Length);
            for (int i = 0; i < wheelCount; ++i)
            {
                var index = indexArray[i];
                if (WheelEntityUtility.HasWheel(vehicle, index))
                {
                    SetWheel(vehicle, index, state.WheelStates[i]);
                }
            }
        }
Exemple #2
0
        public virtual void SetTo(VehicleAbstractState state)
        {
            state.IsSyncFlagSet  = IsRemoteSet();
            state.IsHornOn       = IsHornOn;
            state.HandbrakeInput = HandbrakeInput;
            state.IsAccelerated  = IsAccelerated;
            state.SteerInput     = SteerInput;
            state.ThrottleInput  = ThrottleInput;

            state.BodyState.Position        = Position;
            state.BodyState.Rotation        = Rotation;
            state.BodyState.LinearVelocity  = LinearVelocity;
            state.BodyState.AngularVelocity = AngularVelocity;
            state.BodyState.IsSleeping      = IsSleeping;

            var wheelStates = state.WheelStates;
            var wheelCount  = wheelStates.Length;

            for (int i = 0; i < wheelCount; ++i)
            {
                var destState   = wheelStates[i];
                var sourceState = Wheels[i];

                destState.ColliderSteerAngle = sourceState.ColliderSteerAngle;
            }
        }
        public override void SetTo(VehicleAbstractState toState)
        {
            base.SetTo(toState);
            var state = (MotorState)toState;

            state.StuntInput      = StuntInput;
            state.HandbrakeInput  = HandbrakeInput;
            state.HorizontalShift = HorizontalShift;
            state.Crashed         = Crashed;
        }
        public override void FromStateToComponent(VehicleAbstractState state, VehicleEntity vehicle)
        {
            base.FromStateToComponent(state, vehicle);

            var comp       = (CarDynamicDataComponent)vehicle.GetDynamicData();
            var motorState = (MotorState)state;

            comp.BrakeInput     = motorState.StuntInput;
            comp.HandbrakeInput = motorState.HandbrakeInput;
            comp.SteerAngle     = motorState.HorizontalShift;
            comp.Crashed        = motorState.Crashed;
        }
Exemple #5
0
        public override void FromStateToComponent(VehicleAbstractState state, VehicleEntity vehicle)
        {
            base.FromStateToComponent(state, vehicle);

            var fromState = (VehicleState)state;
            var comp      = (CarDynamicDataComponent)vehicle.GetDynamicData();

            comp.BrakeInput     = fromState.BrakeInput;
            comp.HandbrakeInput = state.HandbrakeInput;

            comp.SteerAngle = fromState.SteerAngle;
        }
Exemple #6
0
        public override void SetTo(VehicleAbstractState toState)
        {
            base.SetTo(toState);
            var state = (VehicleState)toState;

            state.BrakeInput     = BrakeInput;
            state.HandbrakeInput = HandbrakeInput;

            state.SteerAngle = SteerAngle;

            var wheelStates = state.WheelStates;
            var wheelCount  = wheelStates.Length;

            for (int i = 0; i < wheelCount; ++i)
            {
                var destState   = (WheelState)wheelStates[i];
                var sourceState = (CarWheelInfo)Wheels[i];

                destState.SteerAngle = sourceState.SteerAngle;
            }
        }