public OperationResult EditVehiclePart(VehiclePart vehiclePart) { try { HttpResponseMessage tokenResponse = httpClientService.Put($"api/VehiclePart{vehiclePart.VehiclePartId}", vehiclePart); if (tokenResponse.IsSuccessStatusCode) { return(new OperationResult { ResultCode = ResultCode.Successful }); } OperationResult operationResult = JsonConvert.DeserializeObject <OperationResult>(tokenResponse.Content.ReadAsStringAsync().Result); operationResult.ResultCode = ResultCode.Error; return(operationResult); } catch (Exception) { return(new OperationResult { ResultCode = ResultCode.Error, Message = "Wystąpił problem z edycja częsci pojazdu" }); } }
private VehiclePart[] Attempt_store_new_data(VehiclePart[] _parts) { if (_parts.Length > 0) { List <VehiclePart> _STORED_PARTS = new List <VehiclePart>(); int _partIndex = 0; for (int _lineIndex = 0; _lineIndex < storageLines.Count; _lineIndex++) { StorageLine _LINE = storageLines[_lineIndex]; for (int _slotIndex = 0; _slotIndex < lineLength; _slotIndex++) { VehiclePart _PART = _parts[_partIndex]; if (_LINE.slots[_slotIndex] == null && _PART != null) { Assign_slot(_lineIndex, _slotIndex, _PART); _STORED_PARTS.Add(_parts[_partIndex]); _partIndex++; } if (_partIndex >= _parts.Length) { break; } } if (_partIndex >= _parts.Length) { break; } } return(_STORED_PARTS.ToArray()); } else { return(null); } }
static bool Postfix(bool __result, VehiclePart __instance) { bool isBloodMoon = SkyManager.BloodMoon(); if (__instance is VPEngine && isBloodMoon) { try { foreach (EntityPlayerLocal entityplayer in GameManager.Instance.World.GetLocalPlayers()) { if (entityplayer.AttachedToEntity && ((entityplayer.AttachedToEntity.GetType()) != typeof(EntityBicycle))) { GameManager.ShowTooltip(entityplayer, Localization.Get("BMEngineWarning")); } } } catch (Exception ex) { Debug.LogWarning("Caught exception: " + ex); } return(true); } return(__result); }
public void SpecifyChild(string name, VehiclePart part) { attachedChilds.Add(name, part); }
public static string DeleteVehiclePart(int vehicleID = 0, int partID = 0) { try { if (vehicleID == 0 || partID == 0) { throw new Exception("Invalid data."); } CurtDevDataContext db = new CurtDevDataContext(); VehiclePart vp = new VehiclePart(); List<VehiclePartAttribute> attributes = new List<VehiclePartAttribute>(); vp = (from v in db.VehicleParts where v.vehicleID.Equals(vehicleID) && v.partID.Equals(partID) select v).FirstOrDefault<VehiclePart>(); attributes = (from vpa in db.VehiclePartAttributes join v in db.VehicleParts on vpa.vPartID equals v.vPartID where v.vehicleID == vehicleID && v.partID == partID select vpa).ToList<VehiclePartAttribute>(); db.VehiclePartAttributes.DeleteAllOnSubmit(attributes); db.SubmitChanges(); db.VehicleParts.DeleteOnSubmit(vp); db.SubmitChanges(); db.indexPart(partID); UpdatePart(partID); return ""; } catch (Exception e) { return e.Message; } }
public static FullVehicle CarryOverPart(int vehicleID = 0, int partID = 0) { try { CurtDevDataContext db = new CurtDevDataContext(); CarryOverInfo latest = GetLatestVehiclePart(vehicleID, partID); VehiclePart latestvp = db.VehicleParts.Where(x => x.vehicleID == vehicleID).Where(x => x.partID == partID).First<VehiclePart>(); List<VehiclePartAttribute> vpas = db.VehiclePartAttributes.Where(x => x.vPartID == latestvp.vPartID).ToList<VehiclePartAttribute>(); List<VehiclePartAttribute> newvpas = new List<VehiclePartAttribute>(); double year = latest.year + 1; int yearID = 0; try { yearID = db.Years.Where(x => x.year1 == year).Select(x => x.yearID).First(); } catch { Year y = new Year { year1 = year }; db.Years.InsertOnSubmit(y); db.SubmitChanges(); yearID = y.yearID; }; try { YearMake ym = db.YearMakes.Where(x => x.yearID.Equals(yearID)).Where(x => x.makeID.Equals(latest.makeID)).First<YearMake>(); } catch { YearMake ym = new YearMake { yearID = yearID, makeID = latest.makeID }; db.YearMakes.InsertOnSubmit(ym); db.SubmitChanges(); } int vID = Vehicle.GetVehicleID(yearID, latest.makeID, latest.modelID, latest.styleID); if (vID == 0) { Vehicles v = new Vehicles { yearID = yearID, makeID = latest.makeID, modelID = latest.modelID, styleID = latest.styleID, dateAdded = DateTime.Now }; db.Vehicles.InsertOnSubmit(v); db.SubmitChanges(); vID = v.vehicleID; } List<VehiclePart> parts = new List<VehiclePart>(); foreach (int partnum in latest.partids) { if (db.VehicleParts.Where(x => x.partID.Equals(partnum)).Where(x => x.vehicleID.Equals(vID)).Count() == 0) { VehiclePart vp = new VehiclePart { vehicleID = vID, partID = partnum, drilling = latestvp.drilling, exposed = latestvp.exposed, installTime = latestvp.installTime }; parts.Add(vp); } } db.VehicleParts.InsertAllOnSubmit(parts); db.SubmitChanges(); foreach (VehiclePart part in parts) { newvpas = new List<VehiclePartAttribute>(); foreach (VehiclePartAttribute vpa in vpas) { VehiclePartAttribute newvpa = new VehiclePartAttribute { vPartID = part.vPartID, field = vpa.field, value = vpa.value }; newvpas.Add(newvpa); }; db.VehiclePartAttributes.InsertAllOnSubmit(newvpas); db.SubmitChanges(); }; UpdatePart(partID); return Vehicle.GetFullVehicle(vID); } catch (Exception e) { throw new Exception(e.Message); } }
/// <summary> /// Get the aerodynamic center adjusted for mirror et cetera. /// </summary> public Vector3 GetAdjustedLocalAerodynamicCenter(VehiclePart part) { AerodynamicsData aeroData = part.PartConfig.aerodynamicsData; return(Vector3.Scale(aeroData.localAerodynamicCenter, part.MirrorVector)); }
public static Task <byte> GetPartBulletHolesExtAsync(this IVehicle vehicle, VehiclePart part) => AltVAsync.Schedule(() => vehicle.GetPartBulletHolesExt(part));
public static string DisplayName(this VehiclePart part) { return(InnerCapital.Replace(part.ToString(), m => $"{m.Groups[1].Value} {m.Groups[2].Value}")); }
/// <summary> /// Gets the damage level of a vehicle part /// </summary> /// <param name="vehicle">The vehicle</param> /// <param name="part">The part</param> /// <returns>The VehiclePart damage level</returns> public static VehiclePartDamage GetPartDamageLevel(this IVehicle vehicle, VehiclePart part) => (VehiclePartDamage)vehicle.GetPartDamageLevel((byte)part);
public ActionResult AddVehiclePart(VehiclePart newVehiclePart) { dbContext.VehiclesParts.Add(newVehiclePart); dbContext.SaveChanges(); return(RedirectToAction("Index")); }
public override void OnInspectorGUI() { base.OnInspectorGUI(); VehiclePart part = (VehiclePart)target; VehiclePartConfig config = part.PartConfig; Type desiredConfig = _partConfigDict[part.GetType()]; if (config == null || config.GetType() != desiredConfig) { EditorGUILayout.HelpBox("Wrong config type! Use " + desiredConfig, MessageType.Error); } if (GUILayout.Button("Mirror (" + part.Mirrored + ")")) { part.Mirrored = !part.Mirrored; EditorUtility.SetDirty(part); SceneView.RepaintAll(); // !! GOD COMMAND } if (part is Wheel) { Wheel wheel = part as Wheel; if (GUILayout.Button("Generate Wheel Collider")) { WheelCollider wheelCollider = wheel.WheelCollider; if (wheelCollider == null) { GameObject wheelColliderObject = new GameObject(); wheelColliderObject.transform.SetParent(wheel.Vehicle.transform); wheelColliderObject.transform.localPosition = Vector3.zero; wheelColliderObject.name = "[" + wheel.name + " collider]"; wheelCollider = wheelColliderObject.AddComponent <WheelCollider>(); } Wheel.ImplementConfigValues(ref wheelCollider, wheel.WheelConfig); Vector3 offset = wheel.GetUpDirection() * wheel.WheelConfig.suspensionDistance * 0.5f; wheelCollider.transform.position = wheel.transform.position + wheel.Vehicle.transform.TransformDirection(offset); wheel.WheelCollider = wheelCollider; EditorUtility.SetDirty(wheel); } } if (part is ControlSurface) { ControlSurface moveableStructure = part as ControlSurface; if (GUILayout.Button("Save default rotation")) { moveableStructure.SurfaceControls.SetDefaultLocalRotation(moveableStructure.transform.localEulerAngles); EditorUtility.SetDirty(part); } } /*if (part is AerodynamicPart) * { * if((part as AerodynamicPart).Aerodynamics == null) * { * EditorGUILayout.HelpBox("No aerodynamic data assigned! Click button below.", MessageType.Error); * } * if (GUILayout.Button("Input aerodynamic data")) * { * if (config != null) * { * (part as AerodynamicPart).Aerodynamics = new Aerodynamics(config.aerodynamicsData); * } * } * }*/ }
public static Task SetPartDamageLevelExtAsync(this IVehicle vehicle, VehiclePart part, byte damage) => AltVAsync.Schedule(() => vehicle.SetPartDamageLevelExt(part, damage));
public static Task <VehiclePartDamage> GetPartDamageLevelExtAsync(this IVehicle vehicle, VehiclePart part) => AltVAsync.Schedule(() => vehicle.GetPartDamageLevelExt(part));
public static Task SetPartBulletHolesExtAsync(this IVehicle vehicle, VehiclePart part, byte shootsCount) => AltVAsync.Schedule(() => vehicle.SetPartBulletHolesExt(part, shootsCount));
/// <summary> /// Get the amount of bullet holes in a part /// </summary> /// <param name="vehicle">The vehicle</param> /// <param name="part">The vehicle part</param> /// <returns>Amount of bullet holes</returns> public static byte GetPartBulletHoles(this IVehicle vehicle, VehiclePart part) => vehicle.GetPartBulletHoles((byte)part);
public string this[VehiclePart part] { get { return(parts[part]); } set { parts[part] = value; } }
/// <summary> /// Sets the amount of bullet holes in a vehicles part /// </summary> /// <param name="vehicle">The vehicle</param> /// <param name="part">The part</param> /// <param name="shootsCount">The amount of bullets</param> public static void SetPartBulletHoles(this IVehicle vehicle, VehiclePart part, byte shootsCount) => vehicle.SetPartBulletHoles((byte)part, shootsCount);
public string Clone(int partID = 0, int newPartID = 0, string upc = "", bool categories = false, bool relatedParts = false, bool attributes = false, bool content = false, bool vehicles = false, bool prices = false) { CurtDevDataContext db = new CurtDevDataContext(); List<string> messages = new List<string>(); // Validate the partID and shortDesc fields if (partID == 0) { messages.Add("You must enter a part number."); } if (newPartID == 0) { messages.Add("You must enter a part number."); } if (upc.Trim().Length == 0) { messages.Add("You must enter a UPC."); } int existing_part = 0; // Make sure we don't have a product with this partID existing_part = (from p in db.Parts where p.partID.Equals(newPartID) select p).Count(); if (existing_part != 0) { messages.Add("This part number exists."); } #region clone part if (messages.Count == 0) { // No errors, add the part try { ConvertedPart cp = ProductModels.GetPart(partID); Part new_part = new Part { partID = newPartID, classID = cp.pClass, dateAdded = DateTime.Now, dateModified = DateTime.Now, featured = cp.featured, oldPartNumber = cp.oldPartNumber, priceCode = cp.priceCode, shortDesc = cp.shortDesc, status = cp.status, ACESPartTypeID = cp.ACESPartTypeID }; db.Parts.InsertOnSubmit(new_part); db.SubmitChanges(); messages.Add("Part Added Successfully"); try { ProductModels.SaveAttribute(0,new_part.partID, "UPC", upc); messages.Add("UPC Added Successfully"); } catch (Exception e) { messages.Add(e.Message); } #region clone categories if (categories) { try { List<CatParts> new_catparts = new List<CatParts>(); List<int> catparts = db.CatParts.Where(x => x.partID == partID).Select(x => x.catID).Distinct().ToList(); foreach (int catpart in catparts) { CatParts ncp = new CatParts { catID = catpart, partID = new_part.partID }; new_catparts.Add(ncp); } db.CatParts.InsertAllOnSubmit(new_catparts); db.SubmitChanges(); messages.Add("Categories Cloned Successfully"); } catch { messages.Add("There was a problem cloning the categories."); } } #endregion #region clone Related Parts if (relatedParts) { try { List<RelatedPart> new_relparts = new List<RelatedPart>(); List<RelatedPart> relparts = db.RelatedParts.Where(x => x.partID == partID).ToList<RelatedPart>(); foreach (RelatedPart relpart in relparts) { RelatedPart nrp = new RelatedPart { relatedID = relpart.relatedID, rTypeID = relpart.rTypeID, partID = new_part.partID }; new_relparts.Add(nrp); } db.RelatedParts.InsertAllOnSubmit(new_relparts); db.SubmitChanges(); messages.Add("Related Parts Cloned Successfully"); } catch { messages.Add("There was a problem cloning the related parts."); } } #endregion #region clone Attributes if (attributes) { try { List<PartAttribute> new_attrs = new List<PartAttribute>(); List<PartAttribute> attributelist = db.PartAttributes.Where(x => x.partID == partID).Where(x => x.field.ToLower() != "upc").ToList<PartAttribute>(); foreach (PartAttribute attribute in attributelist) { PartAttribute attr = new PartAttribute { value = attribute.value, field = attribute.field, partID = new_part.partID, sort = attribute.sort }; new_attrs.Add(attr); } db.PartAttributes.InsertAllOnSubmit(new_attrs); db.SubmitChanges(); messages.Add("Attributes Cloned Successfully"); } catch { messages.Add("There was a problem cloning the attributes."); } } #endregion #region clone Content if (content) { try { List<ContentBridge> new_content = new List<ContentBridge>(); List<ContentBridge> contents = (from cb in db.ContentBridges where cb.partID == partID select cb).ToList<ContentBridge>(); foreach (ContentBridge cont in contents) { Content c = db.Contents.Where(x => x.contentID.Equals(cont.contentID)).FirstOrDefault(); Content new_c = new Content { cTypeID = c.cTypeID, text = c.text }; db.Contents.InsertOnSubmit(new_c); db.SubmitChanges(); ContentBridge cb = new ContentBridge { partID = new_part.partID, contentID = new_c.contentID }; db.ContentBridges.InsertOnSubmit(cb); db.SubmitChanges(); } messages.Add("Contents Cloned Successfully"); } catch { messages.Add("There was a problem cloning the contents."); } } #endregion #region clone Vehicles if (vehicles) { try { List<VehiclePart> vehiclelist = db.VehicleParts.Where(x => x.partID == partID).ToList<VehiclePart>(); foreach (VehiclePart vp in vehiclelist) { VehiclePart vehiclepart = new VehiclePart { partID = new_part.partID, vehicleID = vp.vehicleID, drilling = vp.drilling, installTime = vp.installTime, exposed = vp.exposed }; db.VehicleParts.InsertOnSubmit(vehiclepart); db.SubmitChanges(); List<VehiclePartAttribute> new_vpattr = new List<VehiclePartAttribute>(); List<VehiclePartAttribute> vpattrs = db.VehiclePartAttributes.Where(x => x.vPartID == vp.vPartID).ToList<VehiclePartAttribute>(); foreach (VehiclePartAttribute vpa in vpattrs) { VehiclePartAttribute new_vpa = new VehiclePartAttribute { vPartID = vehiclepart.vPartID, value = vpa.value, field = vpa.field, sort = vpa.sort }; new_vpattr.Add(new_vpa); }; db.VehiclePartAttributes.InsertAllOnSubmit(new_vpattr); db.SubmitChanges(); messages.Add("Vehicles Cloned Successfully"); } } catch { messages.Add("There was a problem cloning the vehicles."); } } #endregion #region clone Prices if (prices) { try { List<Price> new_prices = new List<Price>(); List<Price> pricelist = db.Prices.Where(x => x.partID == partID).ToList<Price>(); foreach (Price prc in pricelist) { Price price = new Price { priceType = prc.priceType, price1 = prc.price1, partID = new_part.partID, enforced = prc.enforced }; new_prices.Add(price); } db.Prices.InsertAllOnSubmit(new_prices); db.SubmitChanges(); messages.Add("Prices Cloned Successfully"); } catch { messages.Add("There was a problem cloning the prices."); } } #endregion ImportImages(new_part.partID); db.indexPart(new_part.partID); messages.Add("Part Cloned Successfully."); } catch (Exception e) { messages.Add(e.Message); } } else { messages.Add("Part Clone Failed."); } #endregion return Newtonsoft.Json.JsonConvert.SerializeObject(messages); }
/// <summary> /// Sets the damage level of a vehicle part /// </summary> /// <param name="vehicle">The vehicle</param> /// <param name="part">The vehicle part</param> /// <param name="damage">The damage level</param> public static void SetPartDamageLevel(this IVehicle vehicle, VehiclePart part, VehiclePartDamage damage) => vehicle.SetPartDamageLevel((byte)part, (byte)damage);
private void Position_part_in_storage(VehiclePart _part, int _lineIndex, int _slotIndex) { _part.SetDestination(storageLines[_lineIndex].slotPositions[_slotIndex]); }
/// <summary> /// Gets all available mechanics if the mechanic is avialable and the mechanic has the competence to fix the problem. /// </summary> /// <param name="problem"></param> /// <returns></returns> public IEnumerable <Mechanic> GetAvailableMechanic(VehiclePart problem) { //return _dbCurrentMechanics.LoadCurrentMechanics().Where(mech => mech.IsAvailable == true && mech.Competences.Contains(problem)); return(db.CurrentMechanics.Where(mech => mech.IsAvailable == true && mech.Competences.Contains(problem))); }
/// <summary> /// Get the aerodynamic center in world space adjusted for mirror et cetera. /// </summary> public Vector3 GetAdjustedWorldAerodynamicCenter(VehiclePart part) { return(part.transform.position + part.transform.TransformDirection(GetAdjustedLocalAerodynamicCenter(part))); }
public static VehiclePart UpdateVehicle(int partID = 0, int vehicleID = 0, string drilling = "", string exposed = "", int installTime = 0) { // Variable initializers CurtDevDataContext db = new CurtDevDataContext(); VehiclePart vp = new VehiclePart(); // Get the VehiclePart that we want to work with vp = (from v in db.VehicleParts where v.vehicleID.Equals(vehicleID) && v.partID.Equals(partID) select v).FirstOrDefault<VehiclePart>(); if (vp == null) { throw new Exception("VehiclePart not found."); } // Update fields and commit to database vp.drilling = drilling; vp.exposed = exposed; vp.installTime = installTime; db.SubmitChanges(); db.indexPart(partID); return vp; }
public static string AddVehicle(int partID = 0, int vehicleID = 0) { try { CurtDevDataContext db = new CurtDevDataContext(); if (partID > 0 && vehicleID > 0) { List<int> options = getAllCarryOverParts(partID); foreach (int partnum in options) { // Check to make sure a record doesn't already exist for this part and vehicle int existing = (from vp in db.VehicleParts where vp.partID.Equals(partnum) && vp.vehicleID.Equals(vehicleID) select vp).Count(); if (existing == 0) { VehiclePart vp = new VehiclePart { vehicleID = vehicleID, partID = partnum, exposed = "", drilling = "", installTime = 0 }; db.VehicleParts.InsertOnSubmit(vp); db.SubmitChanges(); db.indexPart(partnum); } } UpdatePart(partID); } else { throw new Exception("Invalid partID or vehicleID"); } return ""; } catch (Exception e) { return "{\"error\":\"" + e.Message + "\"}"; } }
private void UpdateBot() { Vector3 botDest; if (factor < ANIM_RANGE_FETCH) { botDest = Vector3.Lerp(nav_parts_IN.position, fetchLine_pos_START, factor / ANIM_RANGE_FETCH); } else if (factor < ANIM_RANGE_LOAD) { botDest = fetchLine_pos_START; // move parts to bot for (int _slotIndex = 0; _slotIndex < lineLength; _slotIndex++) { VehiclePart _PART = Get_data_slot(targetStorageLine, _slotIndex); if (_PART != null) { if (parts_OUT.Contains(_PART)) { Vector3 _PART_START_POS = storageLines[targetStorageLine].slotPositions[_slotIndex]; Vector3 _PART_END_POS = storageBot.slots[_slotIndex].position; _PART.ClearDestination(); _PART.transform.position = Vector3.Lerp(_PART_START_POS, _PART_END_POS, (factor - ANIM_RANGE_FETCH) / (ANIM_RANGE_LOAD - ANIM_RANGE_FETCH)); } } } } else if (factor < ANIM_RANGE_DELIVER) { botDest = Vector3.Lerp(fetchLine_pos_START, nav_parts_OUT.position, (factor - ANIM_RANGE_LOAD) / (ANIM_RANGE_DELIVER - ANIM_RANGE_LOAD)); // keep parts with bot for (int _slotIndex = 0; _slotIndex < lineLength; _slotIndex++) { VehiclePart _PART = Get_data_slot(targetStorageLine, _slotIndex); if (_PART != null) { if (parts_OUT.Contains(_PART)) { _PART.ClearDestination(); _PART.transform.position = storageBot.slots[_slotIndex].position; } } } } else { botDest = nav_parts_OUT.position; // stack parts for (int _slotIndex = 0; _slotIndex < lineLength; _slotIndex++) { VehiclePart _PART = Get_data_slot(targetStorageLine, _slotIndex); if (_PART != null) { if (parts_OUT.Contains(_PART)) { Vector3 _PART_START_POS = storageBot.slots[_slotIndex].position; Vector3 _PART_END_POS = sendingLineTo.nav_parts_IN.position + new Vector3(0f, (float)_slotIndex * 0.25f, 0f); _PART.ClearDestination(); _PART.transform.position = Vector3.Lerp(_PART_START_POS, _PART_END_POS, (factor - ANIM_RANGE_DELIVER) / (1f - ANIM_RANGE_DELIVER)); } } } } storageBot.Destination = botDest; }
public void Addinvenroty([FromBody] VehiclePart vehiclePart) { db.VehicleParts.Add(vehiclePart); db.SaveChanges(); }