public void MakeSureSaveExists(bool forceSave = true)
 {
     checkedForBackup = true;
     haveBackup       = Store_IncidentEditor.CopyExists(storeIncident);
     if (!haveBackup || forceSave)
     {
         Store_IncidentEditor.SaveCopy(storeIncident);
     }
 }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        /// <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();
        }