public HideablePart(Vehicle vehicle, VehicleGadgetEntry dataEntry) : base(vehicle, dataEntry) { hideablePartDataEntry = (HideablePartEntry)dataEntry; if (!VehicleBone.TryGetForVehicle(vehicle, hideablePartDataEntry.BoneName, out bone)) { throw new InvalidOperationException($"The model \"{vehicle.Model.Name}\" doesn't have the bone \"{hideablePartDataEntry.BoneName}\" for the {HideablePartEntry.XmlName}"); } conditions = Conditions.GetConditionsFromString(vehicle.Model, hideablePartDataEntry.Conditions); }
public HideablePart(Vehicle vehicle, VehicleGadgetEntry dataEntry) : base(vehicle, dataEntry) { hideablePartDataEntry = (HideablePartEntry)dataEntry; if (!VehicleBone.TryGetForVehicle(vehicle, hideablePartDataEntry.BoneName, out bone)) { throw new InvalidOperationException($"The model \"{vehicle.Model.Name}\" doesn't have the bone \"{hideablePartDataEntry.BoneName}\" for the {HideablePartEntry.XmlName}"); } conditions = Conditions.GetConditionsFromString(vehicle.Model, hideablePartDataEntry.Conditions); nativeVeh = (CVehicle *)vehicle.MemoryAddress; boundIndex = GameFunctions.fragInst_GetBoundIndexForBone(nativeVeh->Inst, bone.Index); hasBound = boundIndex != -1; }