public DeloreanManager(Vehicle vehicle) { Vehicle = vehicle; rpmNeedle = new AnimateProp(Vehicle, "dmc12_rpm_needle", "rpm_needle"); speedNeedle = new AnimateProp(Vehicle, "dmc12_speed_needle", "speed_needle"); fuelNeedle = new AnimateProp(Vehicle, "dmc12_fuel_needle", "fuel_needle"); tempNeedle = new AnimateProp(Vehicle, "dmc12_temperature_needle", "temperature_needle"); oilNeedle = new AnimateProp(Vehicle, "dmc12_oil_needle", "oil_needle"); voltNeedle = new AnimateProp(Vehicle, "dmc12_voltage_needle", "voltage_needle"); doorIndicator = new AnimateProp(Vehicle, "dmc12_door_indicator", Vector3.Zero, Vector3.Zero); leftFan = new AnimateProp(Vehicle, ModelHandler.RadiatorFan, "radiator_fan_l"); rightFan = new AnimateProp(Vehicle, ModelHandler.RadiatorFan, "radiator_fan_r"); suspensionLeftFront = new AnimateProp(Vehicle, ModelHandler.SuspensionFront, "suspension_lf"); suspensionLeftRear = new AnimateProp(Vehicle, ModelHandler.SuspensionRear, "suspension_lr"); suspensionRightFront = new AnimateProp(Vehicle, ModelHandler.SuspensionRightFront, "suspension_rf"); suspensionRightRear = new AnimateProp(Vehicle, ModelHandler.SuspensionRightRear, "suspension_rr"); rpmNeedle.SpawnProp(); speedNeedle.SpawnProp(); fuelNeedle.SpawnProp(); tempNeedle.SpawnProp(); oilNeedle.SpawnProp(); voltNeedle.SpawnProp(); doorIndicator.SpawnProp(); leftFan.SpawnProp(); rightFan.SpawnProp(); suspensionLeftFront.SpawnProp(); suspensionLeftRear.SpawnProp(); suspensionRightFront.SpawnProp(); suspensionRightRear.SpawnProp(); }
public SpeedoHandler(TimeCircuits circuits) : base(circuits) { //speedoProp = new AnimateProp(Vehicle, ModelHandler.BTTFSpeedo, new Vector3(-0.2543122f, 0.3725779f, 0.7174588f), Vector3.Zero); _compass = new AnimateProp(Vehicle, ModelHandler.Compass, "bttf_compass"); speedoProp = new AnimateProp(Vehicle, ModelHandler.BTTFSpeedo, "bttf_speedo"); _speedoRt = new RenderTarget(ModelHandler.BTTFSpeedo, "bttf_speedo"); _speedoRtScaleform = new ScaleformGui("bttf_3d_speedo") { DrawInPauseMenu = true }; _speedBeep = circuits.AudioEngine.Create("general/speedoTick.wav", Presets.Interior); _speedBeep.Volume = 1f; _speedBeep.MinimumDistance = 0.3f; _speedBeep.SourceBone = "bttf_speedo"; _speedoRt.OnRenderTargetDraw += () => { var aspectRatio = Screen.Resolution.Width / (float)Screen.Resolution.Height; _speedoRtScaleform.Render2D(new PointF(0.5f, 0.5f), new SizeF(0.9f, 0.9f)); }; speedoProp.SpawnProp(); UpdateGUI(GUI, "8", "8"); }
public PlutoniumRefillPlayer(TimeCircuits circuits) { Circuits = circuits; plutoniumCap = new AnimateProp(Circuits.Vehicle, ModelHandler.RequestModel(ModelHandler.BTTFReactorCap), "bttf_reactorcap"); plutoniumCap.SpawnProp(); }
public override void Stop() { _hoodboxLights?.DeleteProp(); _hoodboxLights = null; _state = false; _applyAlpha = false; _alphaLevel = 0; }
public CoilsIndicatorHandler(TimeCircuits circuits) : base(circuits) { _leftIndicatorProp = new AnimateProp(Vehicle, ModelHandler.CoilsIndicatorLeft, Vector3.Zero, Vector3.Zero); _rightIndicatorProp = new AnimateProp(Vehicle, ModelHandler.CoilsIndicatorRight, Vector3.Zero, Vector3.Zero); }
public SparkPlayer(Vehicle vehicle, IEnumerable <Vector3> frames, Model model, float speed = 20f) { Vehicle = vehicle; _frames = frames.ToList(); _spark = new AnimateProp(Vehicle, model, _frames[0], Vector3.Zero); Speed = speed; }
public TFCHandler(TimeCircuits circuits) : base(circuits) { tfcOn = new AnimateProp(Vehicle, ModelHandler.TFCOn, Vector3.Zero, Vector3.Zero); tfcOff = new AnimateProp(Vehicle, ModelHandler.TFCOff, Vector3.Zero, Vector3.Zero); tfcHandle = new AnimateProp(Vehicle, ModelHandler.TFCHandle, new Vector3(-0.03805999f, -0.0819466f, 0.5508024f), Vector3.Zero); tfcHandle.SpawnProp(false); TimeCircuits.OnTimeCircuitsToggle += OnTimeCircuitsToggle; }
public TimeTravelHandler(TimeCircuits circuits) : base(circuits) { _lightExplosion = new PtfxEntityPlayer("scr_josh3", "scr_josh3_light_explosion", Vehicle, Vector3.Zero, Vector3.Zero, 4f); _timeTravelEffect = new PtfxEntityPlayer("core", "veh_exhaust_spacecraft", Vehicle, new Vector3(0, 4, 0), Vector3.Zero, 8f, true); _whiteSphere = new AnimateProp(Vehicle, ModelHandler.WhiteSphere, Vector3.Zero, Vector3.Zero) { Duration = 0.25f }; LoadRes(); }
public TCDHandler(TimeCircuits circuits) : base(circuits) { destinationSlot = new TCDSlot("red", GUI, circuits); destinationSlot.SetVisible(false); presentSlot = new TCDSlot("green", GUI, circuits); presentSlot.SetVisible(false); previousSlot = new TCDSlot("yellow", GUI, circuits); previousSlot.SetVisible(false); beep = circuits.AudioEngine.Create("general/timeCircuits/beep.wav", Presets.Interior); fluxCapacitor = circuits.AudioEngine.Create("general/fluxCapacitor.wav", Presets.InteriorLoop); fluxCapacitor.Volume = 0.1f; fluxCapacitor.MinimumDistance = 0.5f; beep.MinimumDistance = 0.3f; fluxCapacitor.SourceBone = "flux_capacitor"; beep.SourceBone = "bttf_tcd_green"; tickingDiodes = new AnimateProp(circuits.Delorean, ModelHandler.TickingDiodes, Vector3.Zero, Vector3.Zero); tickingDiodesOff = new AnimateProp(circuits.Delorean, ModelHandler.TickingDiodesOff, Vector3.Zero, Vector3.Zero); tickingDiodesOff.SpawnProp(); TimeCircuits.OnTimeCircuitsToggle += OnTimeCircuitsToggle; TimeCircuits.OnDestinationDateChange += OnDestinationDateChange; TimeCircuits.OnScaleformPriority += OnScaleformPriority; TimeCircuits.OnTimeTravel += OnTimeTravel; TimeCircuits.OnTimeTravelComplete += OnTimeTravelComplete; int _time = 0; for (int i = 0; i < 7; i++) { glitchEvents.Add(0, 0, _time, 0, 0, _time + 499); glitchEvents.Last.OnExecute += Blank_OnExecute; _time += 500; glitchEvents.Add(0, 0, _time, 0, 0, _time + 199); glitchEvents.Last.OnExecute += RandomDate_OnExecute; _time += 200; glitchEvents.Add(0, 0, _time, 0, 0, _time + 499); glitchEvents.Last.OnExecute += ErrorDate_OnExecute; _time += 500; } }
public GMCVanHandler(Vehicle vehicle) { Vehicle = vehicle; Open = false; finalRamp = new AnimateProp(vehicle, ModelHandler.GMCVanRamps, "ramps_bone"); rampSupports = new AnimateProp(vehicle, ModelHandler.GMCVanSupports, "supports_bone"); finalRamp.SpawnProp(Vector3.Zero, finalRampRot); rampSupports.SpawnProp(Vector3.Zero, rampSupportsRot); //rampOpeningSound = new AudioPlayer($"VanOpening.wav", false); }
public PrestoLogsHandler(TimeCircuits circuits) : base(circuits) { ModelHandler.RequestModel(ModelHandler.GreenPrestoLogProp); ModelHandler.RequestModel(ModelHandler.YellowPrestoLogProp); ModelHandler.RequestModel(ModelHandler.RedPrestoLogProp); greenLog = new AnimateProp(Vehicle, ModelHandler.GreenPrestoLogProp, "seat_pside_f"); greenLog.SpawnProp(greenOffset, logsRotation); yellowLog = new AnimateProp(Vehicle, ModelHandler.YellowPrestoLogProp, "seat_pside_f"); yellowLog.SpawnProp(yellowOffset, logsRotation); redLog = new AnimateProp(Vehicle, ModelHandler.RedPrestoLogProp, "seat_pside_f"); redLog.SpawnProp(redOffset, logsRotation); }
public HerbieProps(Herbie herbie) { Herbie = herbie; Entity = herbie.Vehicle; EnginePulley = new AnimateProp(ModelHandler.EnginePulley, Entity, "engine_pulley_dummy", Vector3.Zero, Vector3.Zero); EnginePulley[AnimationType.Rotation][AnimationStep.First][Coordinate.Y].Setup(true, false, true, 0, 360, 1, 90, 1); EnginePulley[AnimationType.Rotation][AnimationStep.First][Coordinate.Y].DoNotInvert = true; TimingPulley = new AnimateProp(ModelHandler.TimingPulley, Entity, "timing_pulley_dummy", Vector3.Zero, Vector3.Zero); TimingPulley[AnimationType.Rotation][AnimationStep.First][Coordinate.Y].Setup(true, false, true, 0, 360, 1, 180, 1); TimingPulley[AnimationType.Rotation][AnimationStep.First][Coordinate.Y].DoNotInvert = true; FuelNeedle = new AnimateProp(ModelHandler.FuelNeedle, Entity, "1963beetle_fuel_needle_dummy", Vector3.Zero, Vector3.Zero); SpeedNeedle = new AnimateProp(ModelHandler.SpeedNeedle, Entity, "1963beetle_speed_needle_dummy", Vector3.Zero, Vector3.Zero); }
public MrFusionRefillPlayer(TimeCircuits circuits) { Circuits = circuits; _mrFusion = new AnimateProp(Circuits.Vehicle, ModelHandler.RequestModel(ModelHandler.BTTFMrFusion), "mr_fusion"); _mrFusion.SpawnProp(); _mrFusionHandle = new AnimateProp(Circuits.Vehicle, ModelHandler.RequestModel(ModelHandler.BTTFMrFusionHandle), "mr_fusion_handle"); _mrFusionHandle.SpawnProp(); _mrfusionOpen = circuits.AudioEngine.Create("general/mrfusionOpen.wav", Presets.Exterior); _mrfusionClosed = circuits.AudioEngine.Create("general/mrfusionClose.wav", Presets.Exterior); _mrfusionOpen.Volume = 0.4f; _mrfusionClosed.Volume = 0.4f; }
public TCDSlot(string slotType, TimeCircuitsScaleform scaleform, TimeCircuits circuits) { SlotType = slotType; ScreenTCD = scaleform; TimeCircuits = circuits; Scaleform = new TCDRowScaleform(slotType); RenderTarget = new RenderTarget(new Model("bttf_3d_row_" + slotType), "bttf_tcd_row_" + slotType, circuits.Vehicle, offsets[slotType], new Vector3(355.9951f, 0.04288517f, 352.7451f)); RenderTarget.CreateProp(); Scaleform.DrawInPauseMenu = true; amProp = new AnimateProp(circuits.Delorean, new Model($"bttf_{slotType}_am"), Vector3.Zero, Vector3.Zero); pmProp = new AnimateProp(circuits.Delorean, new Model($"bttf_{slotType}_pm"), Vector3.Zero, Vector3.Zero); RenderTarget.OnRenderTargetDraw += OnRenderTargetDraw; date = new DateTime(); }
private void LoadLights(bool force = false) { if (!force && _isNight == Utils.IsNight()) { return; } _isNight = Utils.IsNight(); _hoodboxLights?.Dispose(); if (_isNight) { _hoodboxLights = new AnimateProp(Vehicle, ModelHandler.HoodboxLightsNight, "bonnet"); } else { _hoodboxLights = new AnimateProp(Vehicle, ModelHandler.HoodboxLights, "bonnet"); } }
private void ReloadWheelModels() { if (_roadWheel == TimeCircuits.Delorean.Mods.Wheel) { return; } leftWheelProps.ForEach(x => x?.DeleteProp()); leftWheelProps.Clear(); rightWheelProps.ForEach(x => x?.DeleteProp()); rightWheelProps.Clear(); _roadWheel = TimeCircuits.Delorean.IsStockWheel ? WheelType.Stock : WheelType.Red; Model modelWheel = _roadWheel == WheelType.Stock ? ModelHandler.WheelProp : ModelHandler.RedWheelProp; Model modelWheelRear = _roadWheel == WheelType.Stock ? ModelHandler.RearWheelProp : ModelHandler.RedWheelProp; foreach (var wheel in Utils.GetWheelPositions(vehicle)) { string wheelName = wheel.Key; Vector3 offset = wheel.Value; bool leftWheel = (wheelName.Contains("lf") || wheelName.Contains("lr")); bool frontWheel = (wheelName.Contains("lf") || wheelName.Contains("rf")); Model wheelModel = !frontWheel ? modelWheelRear : modelWheel; ModelHandler.RequestModel(wheelModel); AnimateProp wheelAnimateProp = new AnimateProp(vehicle, wheelModel, offset, Vector3.Zero); if (leftWheel) { leftWheelProps.Add(wheelAnimateProp); } else { rightWheelProps.Add(wheelAnimateProp); } } }
public FlyingHandler(TimeCircuits circuits) : base(circuits) { if (Mods.HoverUnderbody == ModState.On) { LoadWheelAnim(); } _flyOn = circuits.AudioEngine.Create("bttf2/hover/toHover.wav", Presets.Exterior); _flyOff = circuits.AudioEngine.Create("bttf2/hover/toRegular.wav", Presets.Exterior); _upSound = circuits.AudioEngine.Create("bttf2/hover/hoverUp.wav", Presets.Exterior); _boostSound = circuits.AudioEngine.Create("bttf2/hover/boost.wav", Presets.Exterior); foreach (var wheelPos in Utils.GetWheelPositions(Vehicle)) { var ptfx = new PtfxEntityPlayer("cut_trevor1", "cs_meth_pipe_smoke", Vehicle, wheelPos.Value, new Vector3(-90, 0, 0), 7f); _smokeParticles.Add(ptfx); } for (int i = 1; i < 6; i++) { if (!ModelHandler.UnderbodyLights.TryGetValue(i, out var model)) { continue; } ModelHandler.RequestModel(model); var prop = new AnimateProp(Vehicle, model, Vector3.Zero, Vector3.Zero); _underbodyLights.Add(prop); } _flyModeInput = new NativeInput((GTA.Control) 357); _flyModeInput.OnControlLongPressed += OnFlyModeControlJustPressed; _hoverGlowing = new AnimateProp(Vehicle, ModelHandler.RequestModel(ModelHandler.HoverGlowing), Vector3.Zero, Vector3.Zero) { Duration = 1.7f }; ventGlowing = new AnimateProp(Vehicle, ModelHandler.RequestModel(ModelHandler.VentGlowing), Vector3.Zero, Vector3.Zero); }
public void LoadRes() { _refuelPlayer?.Dispose(); _emptySound?.Dispose(); _refuelSound?.Dispose(); if (Mods.Reactor == ReactorType.Nuclear) { _refuelPlayer = new PlutoniumRefillPlayer(TimeCircuits); _emptySound = TimeCircuits.AudioEngine.Create("bttf1/timeCircuits/plutoniumEmpty.wav", Presets.Interior); _refuelSound = TimeCircuits.AudioEngine.Create("bttf1/refuel.wav", Presets.Exterior); _emptySound.SourceBone = "bttf_tcd_green"; } else { _refuelPlayer = new MrFusionRefillPlayer(TimeCircuits); } _emptyGlowing = new AnimateProp(Vehicle, ModelHandler.RequestModel(ModelHandler.Empty), Vector3.Zero, Vector3.Zero); _emptyOff = new AnimateProp(Vehicle, ModelHandler.RequestModel(ModelHandler.EmptyOff), Vector3.Zero, Vector3.Zero); }
public WormholeAnimationPlayer(TimeCircuits circuits, int maxTime = 4350) { _wheelPtfxes = new List <PtfxEntityPlayer>(); TimeCircuits = circuits; MaxTime = maxTime; string wormholeScaleformName = "bttf_wormhole_scaleform"; // default string wormholeRenderTargetName = "bttf_wormhole"; // default switch (circuits.DeloreanType) { case DeloreanType.BTTF1: SetupWheelPTFXs("veh_xs_vehicle_mods", "veh_nitrous", new Vector3(0, -0.25f, -0.15f), new Vector3(0, 0, 0), 1.3f); _wormholeModel = ModelHandler.WormholeViolet; _wormholeNightModel = ModelHandler.WormholeVioletNight; _sparkModel = ModelHandler.SparkModel; _sparkNightModel = ModelHandler.SparkNightModel; wormholeScaleformName = "bttf_wormhole_scaleform"; wormholeRenderTargetName = "bttf_wormhole"; break; case DeloreanType.BTTF2: _wormholeModel = ModelHandler.WormholeBlue; _wormholeNightModel = ModelHandler.WormholeBlueNight; _sparkModel = ModelHandler.SparkModel; _sparkNightModel = ModelHandler.SparkNightModel; wormholeScaleformName = "bttf_wormhole_scaleform_blue"; wormholeRenderTargetName = "bttf_wormhole_blue"; break; case DeloreanType.BTTF3: SetupWheelPTFXs("veh_xs_vehicle_mods", "veh_nitrous", new Vector3(0, -0.25f, -0.15f), new Vector3(0, 0, 0), 1.3f); SetupWheelPTFXs("des_bigjobdrill", "ent_ray_big_drill_start_sparks", new Vector3(0, 0, 0.18f), new Vector3(90f, 0, 0), 1f, true); _sparkProp = new AnimateProp(TimeCircuits.Vehicle, ModelHandler.InvisibleProp, new Vector3(0, 3.4f, -0.6f), new Vector3(0, 0, 180)); _sparkProp.SpawnProp(); _sparkPTFX = new PtfxEntityPlayer("scr_paletoscore", "scr_paleto_box_sparks", _sparkProp.Prop, Vector3.Zero, Vector3.Zero, 1.5f, true, true, 300); //_sparkPTFX = new PtfxEntityPlayer("scr_paletoscore", "scr_paleto_box_sparks", TimeCircuits.Vehicle, new Vector3(0, 3.4f, -0.6f), new Vector3(0, 0, 180), 1.5f, true, true, 300); //_sparkPTFX = new PtfxEntityBonePlayer("scr_reconstructionaccident", "scr_sparking_generator", TimeCircuits.Vehicle, "bonnet", new Vector3(0,-0.2f,0.2f), Vector3.Zero, 4f, true); //_sparkPTFX = new List<PtfxEntityBonePlayer>(); //_sparkPTFX.Add(new PtfxEntityBonePlayer("core", "ent_amb_sparking_wires", TimeCircuits.Vehicle, "bonnet", new Vector3(-0.2f, -0.2f, 0.2f), new Vector3(0, -90, 0), 2f, true)); //_sparkPTFX.Add(new PtfxEntityBonePlayer("core", "ent_amb_sparking_wires", TimeCircuits.Vehicle, "bonnet", new Vector3(0, -0.2f, 0.2f), new Vector3(0, 0, 0), 2f, true)); //_sparkPTFX.Add(new PtfxEntityBonePlayer("core", "ent_amb_sparking_wires", TimeCircuits.Vehicle, "bonnet", new Vector3(0.2f, -0.2f, 0.2f), new Vector3(0, 90, 0), 2f, true)); _wormholeModel = ModelHandler.WormholeRed; _wormholeNightModel = ModelHandler.WormholeRedNight; _sparkModel = ModelHandler.SparkRedModel; _sparkNightModel = ModelHandler.SparkRedNightModel; wormholeScaleformName = "bttf_wormhole_scaleform_red"; wormholeRenderTargetName = "bttf_wormhole_red"; break; } _wormholeRT = new RenderTarget(_wormholeModel, wormholeRenderTargetName, TimeCircuits.Vehicle, "bttf_wormhole"); _wormholeScaleform = new ScaleformGui(wormholeScaleformName); _wormholeRT.OnRenderTargetDraw += OnRenderTargetDraw; _wormholeScaleform.DrawInPauseMenu = true; _coilsProp = new AnimateProp(TimeCircuits.Vehicle, ModelHandler.CoilsGlowing, Vector3.Zero, Vector3.Zero); _sparks = new List <SparkPlayer>(); foreach (List <Vector3> sparks in Constants.SparkOffsets) { _sparks.Add(new SparkPlayer(TimeCircuits.Vehicle, sparks, _sparkModel)); } }
public RenderTarget(Model propModel, string renderTargetName, Entity attachTo, Vector3 offset, Vector3 rotation) : this(propModel, renderTargetName) { Prop = new AnimateProp(attachTo, propModel, offset, rotation); }
public RenderTarget(Model propModel, string renderTargetName, Entity attachTo, string bone) : this(propModel, renderTargetName) { Prop = new AnimateProp(attachTo, propModel, bone); }
public PhotoHandler(TimeCircuits circuits) : base(circuits) { _coilsProp = new AnimateProp(TimeCircuits.Vehicle, ModelHandler.CoilsGlowing, Vector3.Zero, Vector3.Zero); }
public WheelAnimationPlayer(TimeCircuits circuits) { vehicle = circuits.Vehicle; TimeCircuits = circuits; _roadWheel = TimeCircuits.Delorean.IsStockWheel ? WheelType.Stock : WheelType.Red; Model modelWheel = _roadWheel == WheelType.Stock ? ModelHandler.WheelProp : ModelHandler.RedWheelProp; Model modelWheelRear = _roadWheel == WheelType.Stock ? ModelHandler.RearWheelProp : ModelHandler.RedWheelProp; foreach (var wheel in Utils.GetWheelPositions(vehicle)) { string wheelName = wheel.Key; Vector3 offset = wheel.Value; bool leftWheel = (wheelName.Contains("lf") || wheelName.Contains("lr")); bool frontWheel = (wheelName.Contains("lf") || wheelName.Contains("rf")); Model wheelModel = !frontWheel ? modelWheelRear : modelWheel; Model wheelGlowModel = !frontWheel ? ModelHandler.RearWheelGlowing : ModelHandler.WheelGlowing; Vector3 strutOffset = Vector3.Zero; ModelHandler.RequestModel(wheelModel); ModelHandler.RequestModel(wheelGlowModel); if (leftWheel && frontWheel) { strutOffset = strutFrontOffset; } else if (leftWheel && !frontWheel) { strutOffset = strutRearOffset; } else if (!leftWheel && frontWheel) { strutOffset = new Vector3(-strutFrontOffset.X, strutFrontOffset.Y, strutFrontOffset.Z); } else if (!leftWheel && !frontWheel) { strutOffset = new Vector3(-strutRearOffset.X, strutRearOffset.Y, strutRearOffset.Z); } AnimateProp wheelAnimateProp = new AnimateProp(vehicle, wheelModel, offset, Vector3.Zero); AnimateProp wheelGlowAnimateProp = new AnimateProp(null, wheelGlowModel, Vector3.Zero, Vector3.Zero); AnimateProp strut = new AnimateProp(vehicle, ModelHandler.RequestModel(ModelHandler.Strut), strutOffset, leftWheel ? Vector3.Zero : new Vector3(0, 0, 180)); strut.SpawnProp(); AnimateProp disk = new AnimateProp(strut.Prop, ModelHandler.RequestModel(ModelHandler.Disk), frontWheel ? diskOffsetFromStrut : diskOffsetFromRearStrut, new Vector3(0, leftWheel ? 90 : -90, 0)); disk.SpawnProp(); AnimateProp piston = new AnimateProp(disk.Prop, ModelHandler.RequestModel(ModelHandler.Piston), frontWheel ? pistonOffsetFromDisk : pistonOffsetFromRearDisk, Vector3.Zero); piston.SpawnProp(); if (leftWheel) { leftStruts.Add(strut); leftPistons.Add(piston); leftDisks.Add(disk); leftWheelProps.Add(wheelAnimateProp); leftWheelGlowProps.Add(wheelGlowAnimateProp); } else { rightStruts.Add(strut); rightPistons.Add(piston); rightDisks.Add(disk); rightWheelProps.Add(wheelAnimateProp); rightWheelGlowProps.Add(wheelGlowAnimateProp); } } currentPistonRotation = MAX_PISTON_ROTATION; ApplyAnimation(currentOffset, currentStrutOffset, currentRotation, currentPistonRotation); }
public CompassHandler(TimeCircuits circuits) : base(circuits) { _compass = new AnimateProp(Vehicle, ModelHandler.Compass, "bttf_compass"); }