Пример #1
0
        private void GetStateFromDynamicData(VehicleEntity vehicle, ShipInternState state)
        {
            var data = (ShipDynamicDataComponent)vehicle.GetDynamicData();

            state.Flag = data.Flag;

            state.IsAccelerated = data.IsAccelerated;
            state.SteerInput    = data.SteerInput;
            state.ThrottleInput = data.ThrottleInput;

            state.Position        = data.Position.ShiftedVector3();
            state.Rotation        = data.Rotation;
            state.IsSleeping      = data.IsSleeping;
            state.LinearVelocity  = data.LinearVelocity;
            state.AngularVelocity = data.AngularVelocity;

            var indexArray = VehicleIndexHelper.GetRudderIndexArray();

            for (int i = 0; i < indexArray.Length; ++i)
            {
                var index = indexArray[i];
                if (ShipEntityUtility.HasRudder(vehicle, index))
                {
                    state.RudderStates[i] = GetRudderState(ShipEntityUtility.GetRudder(vehicle, index));
                }
            }

            data.Clear();
        }
Пример #2
0
        private void SetShipRudderState(VehicleEntity vehicle, VehiclePartIndex index, RudderState state)
        {
            var rudder = ShipEntityUtility.GetRudder(vehicle, index);

            rudder.Angle = state.Angle;
        }