protected WorkshopBaseSubmitter([NotNull] T obj, bool isChildObject, WorkshopSubmitterParams submitterParams) { Data = new TSubmittable(); Target = obj; IsChildObject = isChildObject; Data.SetTarget(Target, submitterParams); }
public void SetTarget([NotNull] T target, WorkshopSubmitterParams submitterParams) { if (Target != null) { throw new Exception("Target is already set"); } Target = target ?? throw new ArgumentNullException(nameof(target)); Params = submitterParams; }
public static IWorkshopSubmitter Create <T>(T target, WorkshopSubmitterParams submitterParams) where T : AcJsonObjectNew { switch ((AcJsonObjectNew)target) { case CarObject car: return(new WorkshopCarSubmitter(car, false, submitterParams)); default: throw new NotImplementedException("Not supported type: " + typeof(T).Name); } }
public WorkshopCarSubmitter(CarObject obj, bool isChildObject, WorkshopSubmitterParams submitterParams) : base(obj, isChildObject, submitterParams) { }