namespace DDD { public class RestaurantState : ScriptSingleton { public RestaurantManagementState ManagementState { get; private set; } public RestaurantRunState RunState { get; private set; } public RestaurantEnvironmentState EnvironmentState { get; private set; } public RestaurantPlayerState PlayerState { get; private set; } public RestaurantCustomerState CustomerState { get; private set; } private void OnEnable() { ManagementState = CreateInstance(); RunState = CreateInstance(); EnvironmentState = CreateInstance(); PlayerState = CreateInstance(); CustomerState = CreateInstance(); } private void OnDisable() { if (ManagementState) DestroyImmediate(ManagementState); if (RunState) DestroyImmediate(RunState); if (EnvironmentState) DestroyImmediate(EnvironmentState); if (PlayerState) DestroyImmediate(PlayerState); if (CustomerState) DestroyImmediate(CustomerState); } } }