AutoSaveView is a UIViewComponent that listens to GameSaveEvents.AutosaveStart / AutosaveComplete and animates a RadialLoading indicator. The arc spins in the loading color while saving; after the save completes (plus _hideDelay seconds), it snaps to a full circle in the complete color and hides a second later.
UXML — wrap a RadialLoading in a container named AutoSave:
<ui:VisualElement name="AutoSave">
<luna:RadialLoading />
<!-- optional label, icon, etc. -->
</ui:VisualElement>Add the AutoSaveView component to the same GameObject as a PanelRenderer referencing this UXML. The component queries its elements in OnUILoaded(root) once the panel delivers its visual tree; while enabled, it auto-subscribes to GameSaveEvents and shows/hides on autosave activity.
The show USS class is toggled on the AutoSave container — animate visibility with USS transitions.
| Property | Type | Default | Description |
|---|---|---|---|
_hideDelay | float | 1 | Seconds between save-complete and the completion snap (the indicator hides one second after the snap). |
_colorLoading | Color | magenta | Arc color while saving. |
_colorComplete | Color | green | Arc color when complete. |
namespace CupkekGames.GameSave.Luna;
public class AutoSaveView : UIViewComponent| Method | Description |
|---|---|
OnSavingStart() | Manually trigger the loading animation. |
OnSavingComplete() | Manually trigger the complete animation + hide (after _hideDelay). |
These handlers are wired to GameSaveEvents.AutosaveStart / AutosaveComplete automatically while the component is enabled. (The base UIViewComponent.Show() / Hide() methods still exist, but they drive the whole view's fade pipeline — not the autosave indicator.)
GameSaveEvents this view listens toSettings
Theme
Light
Contrast
Material
Dark
Dim
Material Dark
System
Sidebar(Light & Contrast only)
Font Family
DM Sans
Wix
Inclusive Sans
AR One Sans
Direction