public void MakeSureSaveExists(bool forceSave = true) { checkedForBackup = true; haveBackup = Store_IncidentEditor.CopyExists(storeIncident); if (!haveBackup || forceSave) { Store_IncidentEditor.SaveCopy(storeIncident); } }
public void MakeSureSaveExists(bool forceSave = true) { checkedForBackup = true; Log.Warning("Checking if save exists"); if (storeIncident == null) { Log.Error("incident is null"); } haveBackup = Store_IncidentEditor.CopyExists(storeIncident); if (!haveBackup || forceSave) { Store_IncidentEditor.SaveCopy(storeIncident); } }
/// <summary> /// Draws the given <see cref="EventItem"/> in the pre-defined row /// space. /// </summary> /// <param name="canvas"> /// The region to draw the <see cref="EventItem"/> /// in /// </param> /// <param name="ev">The <see cref="EventItem"/> to draw</param> protected virtual void DrawEvent(Rect canvas, [NotNull] TableSettingsItem <EventItem> ev) { Rect checkboxRect = LayoutHelper.IconRect(_stateHeaderRect.x + 2f, canvas.y + 2f, _stateHeaderRect.width - 4f, RowLineHeight - 4f); var nameMouseOverRect = new Rect(NameHeaderRect.x, canvas.y, NameHeaderRect.width, RowLineHeight); var nameRect = new Rect(NameHeaderTextRect.x, canvas.y, NameHeaderTextRect.width, RowLineHeight); var priceRect = new Rect(PriceHeaderTextRect.x, canvas.y, PriceHeaderTextRect.width, RowLineHeight); var karmaRect = new Rect(KarmaHeaderTextRect.x, canvas.y, KarmaHeaderTextRect.width, RowLineHeight); Rect settingRect = LayoutHelper.IconRect( _expandedHeaderRect.x + 2f, canvas.y + Mathf.FloorToInt(Mathf.Abs(_expandedHeaderRect.width - RowLineHeight) / 2f) + 2f, _expandedHeaderRect.width - 4f, _expandedHeaderRect.width - 4f ); bool proxy = ev.Data.Enabled; if (UiHelper.DrawCheckbox(checkboxRect, ref proxy)) { if (!ev.Data.Enabled && proxy) { Store_IncidentEditor.LoadBackup(ev.Data.Incident); } ev.Data.Enabled = proxy; if (!Store_IncidentEditor.CopyExists(ev.Data.Incident)) { Store_IncidentEditor.SaveCopy(ev.Data.Incident); } } DrawConfigurableEventName(nameRect, ev); if (!ev.EditingName) { Widgets.DrawHighlightIfMouseover(nameMouseOverRect); if (!ev.Data.Incident.description.NullOrEmpty()) { TooltipHandler.TipRegion(nameMouseOverRect, ev.Data.Incident.description); } } if (ev.Data.Enabled && ev.Data.CostEditable) { int cost = ev.Data.Cost; SettingsHelper.DrawPriceField(priceRect, ref cost); ev.Data.Cost = cost; } UiHelper.Label(karmaRect, ev.Data.KarmaType.ToString()); if (Widgets.ButtonImage(settingRect, Textures.Gear)) { ev.SettingsVisible = !ev.SettingsVisible; } if (!ev.SettingsVisible) { return; } var expandedRect = new Rect( NameHeaderRect.x + 10f, canvas.y + RowLineHeight + 10f, canvas.width - checkboxRect.width - settingRect.width - 20f, canvas.height - RowLineHeight - 20f ); GUI.BeginGroup(expandedRect); DrawExpandedSettings(expandedRect.AtZero(), ev); GUI.EndGroup(); }