Files
2025-09-18 17:55:52 -04:00

55 lines
1.6 KiB
C++

/* Copyright 2003-2005 ROBLOX Corporation, All Rights Reserved */
#pragma once
namespace RBX {
namespace Sim {
typedef enum { ANCHORED,
RECURSIVE_WAKE_PENDING,
WAKE_PENDING,
AWAKE,
SLEEPING_CHECKING,
SLEEPING_DEEPLY,
REMOVING } AssemblyState;
inline bool isMovingAssemblyState(AssemblyState state) {
return ((state == AWAKE) || (state == RECURSIVE_WAKE_PENDING) || (state == WAKE_PENDING));
}
inline bool isSleepingAssemblyState(AssemblyState state) {
return ((state == SLEEPING_CHECKING) || (state == SLEEPING_DEEPLY));
}
inline bool outOfKernelAssemblyState(AssemblyState state) {
return (isSleepingAssemblyState(state) || (state == REMOVING));
}
#ifdef _WIN32
typedef enum : unsigned char { CAN_NOT_THROTTLE = 0,
CAN_THROTTLE,
NUM_THROTTLE_TYPE,
UNDEFINED_THROTTLE } ThrottleType;
typedef enum : unsigned char { UNDEFINED,
STEPPING,
SLEEPING,
CONTACTING,
CONTACTING_SLEEPING} EdgeState;
#else
typedef enum { CAN_NOT_THROTTLE = 0,
CAN_THROTTLE,
NUM_THROTTLE_TYPE,
UNDEFINED_THROTTLE } ThrottleType;
typedef enum { UNDEFINED,
STEPPING,
SLEEPING,
CONTACTING,
CONTACTING_SLEEPING} EdgeState;
#endif
} // namespace WORLD
}// namespace