Skip to content

C# API Reference โ€‹

Assembly: SortAndShelveToolkit.Runtime.dll

ItemInstance Class โ€‹

Namespace: SortAndShelveToolkit.Runtime.Items
Attached to physical sortable props.

Public Properties โ€‹

csharp
public ItemDefinition Definition { get; }
public bool IsHeld { get; }
public bool IsPlaced { get; }
public Rigidbody Rigidbody { get; }
public Collider Collider { get; }

Public Methods โ€‹

csharp
public void OnPickedUp(Transform holdParent);
public void OnDropped(Vector3 throwForce);
public void SetPlacedOnShelf(ShelfSlot slot);
public void SetReleasedFromShelf();
public void HighlightItem(Color highlightColor, float duration = 1.0f);

ShelfSlot Class โ€‹

Namespace: SortAndShelveToolkit.Runtime.Shelving
Attached to individual resting slots on shelves.

Public Properties โ€‹

csharp
public ShelfZone ShelfZone { get; }
public ItemInstance CurrentItem { get; }
public bool IsOccupied { get; }

Public Methods โ€‹

csharp
public bool CanAcceptItem(ItemInstance item);
public bool PlaceItem(ItemInstance item);
public ItemInstance RemoveItem();
public void SetShelfZone(ShelfZone zone);

ShelfZone Class โ€‹

Namespace: SortAndShelveToolkit.Runtime.Shelving
Categorized drop receptacle managing a group of slots.

Public Properties โ€‹

csharp
public CategoryDefinition TargetCategory { get; }
public string DisplayName { get; }
public int TotalCapacity { get; }
public int OccupiedCount { get; }
public bool IsFull { get; }

PhysicsSleeper Class โ€‹

Namespace: SortAndShelveToolkit.Runtime.Core.Utilities
Kinematic sleep manager attached to physical items.

Public Properties โ€‹

csharp
public bool IsSleepingKinematic { get; }

Public Methods โ€‹

csharp
public void WakeUp(bool wakeNeighbors = true);
public void ForceSleep();

CompletionTracker Class โ€‹

Namespace: SortAndShelveToolkit.Runtime.Progression
Single source of truth tracking level progress, time, and stars.

Public Properties โ€‹

csharp
public int TotalItemsToPlace { get; }
public int ItemsPlaced { get; }
public int ItemsRemaining { get; }
public float CompletionPercentage { get; }
public float ElapsedTime { get; }
public bool IsLevelComplete { get; }

CurrencyManager Class โ€‹

Namespace: SortAndShelveToolkit.Runtime.Progression
Progression wallet managing player coins.

Public Properties โ€‹

csharp
public int CurrentBalance { get; }

Public Methods โ€‹

csharp
public void AddCurrency(int amount, Vector3 worldPosition);
public bool CanAfford(int cost);
public bool TrySpendCurrency(int cost);

UpgradeManager Class โ€‹

Namespace: SortAndShelveToolkit.Runtime.Progression
Manages purchases for Carry Capacity, Walk Speed, Interact Reach, and Item Highlighting.

Public Methods โ€‹

csharp
public int GetUpgradeLevel(UpgradeType type);
public float GetCurrentValue(UpgradeType type);
public bool TryPurchaseUpgrade(UpgradeType type);

SaveManager Class โ€‹

Namespace: SortAndShelveToolkit.Runtime.SaveSystem
Atomic persistence manager.

Public Methods โ€‹

csharp
public void SaveGame();
public bool LoadGame();
public void RecordLevelCompletion(string levelId, int stars, float completionTime);
public int GetLevelStars(string levelId);

Built for Unity Game Developers worldwide.