} // may be null public EngineeringData(JObject evt) { Engineer = evt["Engineer"].Str(); EngineerID = evt["EngineerID"].ULong(); BlueprintName = evt["BlueprintName"].Str(); FriendlyBlueprintName = BlueprintName.SplitCapsWordFull(); BlueprintID = evt["BlueprintID"].ULong(); Level = evt["Level"].Int(); Quality = evt["Quality"].Double(0); // EngineerCraft has it as Apply.. Loadout has just ExperimentalEffect. Check both ExperimentalEffect = evt.MultiStr(new string[] { "ExperimentalEffect", "ApplyExperimentalEffect" }); ExperimentalEffect_Localised = JournalFieldNaming.CheckLocalisation(evt["ExperimentalEffect_Localised"].Str(), ExperimentalEffect); Modifiers = evt["Modifiers"]?.ToObject <EngineeringModifiers[]>(ignoretypeerrors: true, checkcustomattr: false); // instances of Value being wrong type - ignore and continue if (Modifiers != null) { foreach (EngineeringModifiers v in Modifiers) { v.FriendlyLabel = v.Label.SplitCapsWord(); } } else { } }
public void OkayExecuted() { BlueprintName = BlueprintName.Trim(); if (BlueprintName.IndexOfAny(Path.GetInvalidFileNameChars()) >= 0) { _dialogService.ShowMessageBox(this, Res.ErrorInvalidBlueprintCharactersUsed, Res.ErrorInvalidBlueprintNameTitle, System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Exclamation); return; } string filePath = Path.Combine(_dataModel.LocalBlueprintsFolder, BlueprintName); try { // check for invalid filename charactrers. filePath = Path.GetFullPath(filePath); } catch (Exception ex) { _dialogService.ShowMessageBox(this, ex.Message, Res.ErrorInvalidBlueprintNameTitle, System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Exclamation); return; } // validate existing. if (CheckForExisting && Directory.Exists(filePath)) { // dialog confirm overwrite.... if (_dialogService.ShowMessageBox(this, Res.ErrorInvalidBlueprintExists, Res.ErrorInvalidBlueprintExistsTitle, System.Windows.MessageBoxButton.YesNo, System.Windows.MessageBoxImage.Question) != System.Windows.MessageBoxResult.Yes) { return; } } CloseResult = true; }
} // may be null public EngineeringData(JObject evt) { Engineer = evt["Engineer"].Str(); EngineerID = evt["EngineerID"].Long(); BlueprintName = evt["BlueprintName"].Str(); FriendlyBlueprintName = BlueprintName.SplitCapsWordFull(); BlueprintID = evt["BlueprintID"].Long(); Level = evt["Level"].Int(); Quality = evt["Quality"].Double(0); Modifiers = evt["Modifiers"]?.ToObject <EngineeringModifiers[]>(); }
} // may be null public EngineeringData(JObject evt) { Engineer = evt["Engineer"].Str(); EngineerID = evt["EngineerID"].Long(); BlueprintName = evt["BlueprintName"].Str(); FriendlyBlueprintName = BlueprintName.SplitCapsWordFull(); BlueprintID = evt["BlueprintID"].Long(); Level = evt["Level"].Int(); Quality = evt["Quality"].Double(0); // EngineerCraft has it as Apply.. Loadout has just ExperimentalEffect. Check both ExperimentalEffect = JSONObjectExtensions.GetMultiStringDef(evt, new string[] { "ExperimentalEffect", "ApplyExperimentalEffect" }); Modifiers = evt["Modifiers"]?.ToObject <EngineeringModifiers[]>(); }
} // may be null public EngineeringData(JObject evt) { Engineer = evt["Engineer"].Str(); EngineerID = evt["EngineerID"].Long(); BlueprintName = evt["BlueprintName"].Str(); FriendlyBlueprintName = BlueprintName.SplitCapsWordFull(); BlueprintID = evt["BlueprintID"].Long(); Level = evt["Level"].Int(); Quality = evt["Quality"].Double(0); // EngineerCraft has it as Apply.. Loadout has just ExperimentalEffect. Check both ExperimentalEffect = evt.MultiStr(new string[] { "ExperimentalEffect", "ApplyExperimentalEffect" }); ExperimentalEffect_Localised = JournalFieldNaming.CheckLocalisation(evt["ExperimentalEffect_Localised"].Str(), ExperimentalEffect); Modifiers = evt["Modifiers"]?.ToObjectProtected <EngineeringModifiers[]>(); if (Modifiers != null) { foreach (EngineeringModifiers v in Modifiers) { v.FriendlyLabel = v.Label.SplitCapsWord(); } } }