Managers - FearAndDelight/Schedule-1-Modder-Documentation GitHub Wiki

What Are Managers

Managers are where "world" related code & functions are stored. This is to say these functions are limited to one object per scene.

You can easily grab these components in two simple ways

NotificationsManager manager = UnityEngine.Object.FindObjectOfType<NotificationsManager>(includeInactive: true);

or

Il2CppScheduleOne.NPCs.NPCManager
Il2CppScheduleOne.Money.MoneyManager.Instance

Either will let you access public variables and functions

Debug.Log(Il2CppScheduleOne.NPCs.NPCManager.GetNPCsInRegion(Il2CppScheduleOne.Map.EMapRegion.Uptown).Count);
Il2CppScheduleOne.Money.MoneyManager.Instance.ChangeCashBalance(9999);

Below I will summarize ONLY Methods and variables I found noteworthy.

NPCManager

Handles all the NPCs in the world

Methods

public static NPC GetNPC(string id)

public static List<NPC> GetNPCsInRegion(EMapRegion region)

public virtual string GetSaveString()

public List<Transform> GetOrderedDistanceWarpPoints(Vector3 origin)

public virtual List<string> WriteData(string parentFolderPath)

Variables

public static List<NPC> NPCRegistry = new List<NPC>();

Notes

EMapRegion -> Il2CppScheduleOne.Map.EMapRegion (Northtown,Westvile,Downtown,Docks,Surbia,Uptown)

BusinessManager

EmployeeManager

Handles all the currently hired NPCs in the world

Methods

public void CreateNewEmployee(Property property, EEmployeeType type)

public void CreateEmployee(Property property, EEmployeeType type, string firstName, string lastName, string id, bool male, int appearanceIndex, Vector3 position, Quaternion rotation, string guid = "")

public Employee CreateEmployee_Server(Property property, EEmployeeType type, string firstName, string lastName, string id, bool male, int appearanceIndex, Vector3 position, Quaternion rotation, string guid)

public Employee GetEmployeePrefab(EEmployeeType type)

public List<Employee> GetEmployeesByType(EEmployeeType type)

Variables

public List<Employee> AllEmployees = new List<Employee>();

Notes

EEmployeeType -> Il2CppScheduleOne.Employees.EEmployeeType (Botanist,Handler,Chemist,Cleaner)

PropertyManager

VehicleManager

DialougeManager

MetadataManager

GameManager

StorageManager

TimeManager

StorageManager

InputPromptsManager

ProductManager

BuildManager

MoneyManager

TaskManager

InteractionManager

CursorManager

ProductIconManager

MessagingManager

LawManager

CurfewManager

CheckpointManager

PlayerManager

QuestManager

VariableDatabase

CombatManager

LevelManager

CallManager

DragManager

FXManager

GenericSavablesManager

ShopManager

NotificationsManager

Methods

public void SendNotification(string title, string subtitle, Sprite icon, float duration = 5f, bool playSound = true)

Variables

public AudioSourceController Sound;
⚠️ **GitHub.com Fallback** ⚠️