avatar/Assets/VRCFury/Scripts/Editor/VF/Feature/Base/FeatureOrder.cs

85 lines
3.4 KiB
C#

namespace VF.Feature.Base {
public enum FeatureOrder {
CleanupLegacy = -2000,
// Needs to happen before everything
FixDoubleFx = -1000,
// Needs to happen before anything starts using the Animator
FixDuplicateArmature = -100,
// Needs to be the first thing to instantiate the ControllerManagers
AnimatorLayerControlRecordBase = -10,
// Needs to happen before toggles begin getting processed
ForceObjectState = -1,
Default = 0,
// Needs to happen after AdvancedVisemes so that gestures affecting the jaw override visemes
SenkyGestureDriver = 1,
// Needs to happen after builders have scanned their prop children objects for any purpose (since this action
// may move objects out of the props and onto the avatar base). One example is the FullController which
// scans the prop children for contact receivers.
ArmatureLinkBuilder = 1,
// Needs to run after any builders have added their "disable blinking" models (gesture builders mostly)
Blinking = 5,
// Needs to happen after any new skinned meshes have been added
BoundingBoxFix = 10,
AnchorOverrideFix = 11,
// Needs to run after TPS integration (since it may add new TPS material meshes)
AddOgbComponents = 100,
// Needs to run after all OGB components are in place
BakeOgbComponents = 101,
// Needs to run before ObjectMoveBuilderFixAnimations, but after anything that needs
// an object moved onto the fake head bone
FakeHeadBuilder = 102,
// Needs to run after most things are done messing with the animation controller,
// since any changes after this won't have their animations rewritten
ObjectMoveBuilderFixAnimations = 103,
// Needs to run after most things are done messing with animations,
// since it'll make copies of the blendshape curves
BlendShapeLinkFixAnimations = 104,
// Needs to run after animations are done, but before FixWriteDefaults
DirectTreeOptimizer = 8000,
// Needs to run after everything is done touching the animation controller
FixWriteDefaults = 10000,
// Needs to run after anything that creates menu items, so the user can relocate them if they wish
SetMenuIcons1 = 10001,
MoveMenuItems = 10002,
SetMenuIcons2 = 10003,
// Needs to run after all possible toggles have been created and applied
CollectToggleExclusiveTags = 10004,
// Needs to run after FixWriteDefaults collects the defaults for the defaults layer
ApplyToggleRestingState = 10005,
// Needs to run after all animations are locked in and done
BlendshapeOptimizer = 10011,
Slot4Fix = 10012,
// Needs to happen after everything is done adding / removing controller layers
CleanupBaseMasks = 10020,
CleanupEmptyLayers = 10021,
AnimatorLayerControlFix = 10022,
ControllerConflictCheck = 10023,
RemoveJunkAnimators = 11000,
// This messes with the raw controller on the avatar, so it has to run after we've done basically everything
D4rkOptimizer = 99999,
}
}