/// <summary> Creates a new transient object that can be persisted later. </summary> /// <param name="dataRepository"> A data repository to persist the object with. </param> /// <param name="vehicle"> The vehicle this object belongs to. </param> /// <param name="deserializedTags"> Vehicle tags deserialized from JSON data to initialise this instance with. </param> /// <param name="vehiclePerformanceData"> Vehicle performance data to initialise this instance with. </param> public GroundVehicleTags(IDataRepository dataRepository, IVehicle vehicle, VehicleTagsDeserializedFromJson deserializedTags, VehiclePerformanceData vehiclePerformanceData) : this(dataRepository, -1L, vehicle, deserializedTags, vehiclePerformanceData) { }
/// <summary> Creates a new transient object that can be persisted later. </summary> /// <param name="dataRepository"> A data repository to persist the object with. </param> /// <param name="id"> The objects's ID. </param> /// <param name="vehicle"> The vehicle this object belongs to. </param> /// <param name="deserializedTags"> Vehicle tags deserialized from JSON data to initialise this instance with. </param> /// <param name="vehiclePerformanceData"> Vehicle performance data to initialise this instance with. </param> public GroundVehicleTags(IDataRepository dataRepository, long id, IVehicle vehicle, VehicleTagsDeserializedFromJson deserializedTags, VehiclePerformanceData vehiclePerformanceData) : base(dataRepository, id, vehicle) { InitialiseProperties(deserializedTags, vehiclePerformanceData, Vehicle.Branch.AsEnumerationItem); LogCreation(); }
/// <summary> Initialises class properties. </summary> /// <param name="deserializedTags"> Vehicle tags deserialized from JSON data to select subclasses from. </param> /// <param name="vehiclePerformanceData"> Vehicle performance data to initialise this instance with. </param> /// <param name="branch"> The vehicle branch for which to select subclasses. </param> private void InitialiseProperties(VehicleTagsDeserializedFromJson deserializedTags, VehiclePerformanceData vehiclePerformanceData, EBranch branch) { if (branch == EBranch.Army) { IsWheeled = vehiclePerformanceData.MoveType.Contains("wheeled"); CanScout = deserializedTags.CanScout; } InitialiseIndex(); }