public void Start() { iv = gameObject.GetComponent <InteractableVehicle>(); backup_Engine = iv.asset.engine; backup_LockedMouse = iv.asset.hasLockMouse; backup_Sleds = iv.asset.hasSleds; backup_Traction = iv.asset.hasTraction; backup_Lift = iv.asset.lift; backup_Breaks = iv.asset.brake; backup_SteerMin = iv.asset.steerMin; backup_SteerMax = iv.asset.steerMax; }
public void SetFly(InteractableVehicle pass) { if (LastVehicHandle == null) { LastVehicHandle = pass; LastVehicEngine = pass.asset.engine; } //This could use work Engine.SetValue(pass.asset, EEngine.PLANE); hasLockMouse.SetValue(pass.asset, true); airsteerMin.SetValue(pass.asset, 1); airsteerMax.SetValue(pass.asset, 1); airturnResponsiveness.SetValue(pass.asset, 100); Lift.SetValue(pass.asset, Global.VehicleSettings.VehicLift); }
public void Update() { car = tool_ToolZ.getLocalPlayer().movement.getVehicle(); if (car == null) { fly = false; car_load = false; } else { if (!car_load) { startEngine = car.asset.engine; car_load = true; } if (Input.GetKeyDown(ControlsSettings.interact)) { VehicleManager.exitVehicle(); } } }
public void AddEngine(EEngine engine) { this.parts.Add(engine); }
public void BuildEngine(EEngine engine) { this.product.AddEngine(engine); }
private void setEngine(EEngine engine) { VehicleAsset asset = car.asset; asset.GetType().GetField("_engine", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance).SetValue(asset, engine); }
//Called every tick public void Update() { if (!Global.VehicleEnabled || Global.AllOff) { return; } if (!Provider.isConnected) { return; } if (Provider.clients.Count < 1) { return; } if (Player.player == null) { return; } //Player is in vehicle if (Player.player.movement?.getVehicle() != null) { InteractableVehicle x = Player.player.movement.getVehicle(); if (Global.VehicleSettings.Fly || Global.VehicleSettings.Ping) { if (LastVehicHandle == null) { LastVehicHandle = x; LastVehicEngine = x.asset.engine; } } if (Global.VehicleSettings.Fly) { SetFly(x); } if (Global.VehicleSettings.Ping) { Vector3 dir = Vector3.zero; if (Input.GetKey(KeyCode.UpArrow)) { dir = MainCamera.instance.transform.forward * Global.VehicleSettings.PingForce; } if (Input.GetKey(KeyCode.DownArrow)) { dir = (MainCamera.instance.transform.forward * -1) * Global.VehicleSettings.PingForce; } if (Input.GetKey(KeyCode.KeypadMinus)) { dir.y += Global.VehicleSettings.PingForce; } if (Input.GetKey(KeyCode.KeypadPlus)) { dir.y -= Global.VehicleSettings.PingForce; } if (!Global.VehicleSettings.BypassOne) { x.tellRecov(dir + x.transform.position, 1); } else { x.GetComponent <Rigidbody>().useGravity = false; x.GetComponent <Rigidbody>().velocity = dir; x.GetComponent <Rigidbody>().rotation = Quaternion.identity; } foreach (Collider p in x.gameObject.GetComponentsInChildren <Collider>()) { if (p.enabled) { Colliders.Add(p); p.enabled = false; } } } } else if (LastVehicHandle != null) { Engine.SetValue(LastVehicHandle.asset, LastVehicEngine); Lift.SetValue(LastVehicHandle.asset, 0f); hasLockMouse.SetValue(LastVehicHandle.asset, false); foreach (Collider p in Colliders) { if (p != null) { p.enabled = true; } } Colliders.Clear(); LastVehicHandle = null; } }
public static void ChangeEngine(InteractableVehicle car, EEngine engine) { car.asset.GetType().GetField("_engine", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic).SetValue(car.asset, engine); }