{ // lighter动作循环控制 "AbilityName" : "Lighter_LoopControl", "AbilityStacking":"Unique", "AbilityMixins": [ { "$type": "MoleMole.AttachStateWithModifierMixin", "ConfigList": [ //于连打起手段重置可循环次数 { "AnimatorStateName": "Attack_Normal_05_02_Start", "LayerIndex": 0, "Target": "Self", "NormalizedTimeLow": 0.0, "NormalizedTimeHigh": 1.0, "ModifierNameList": [ "ResetLoopTimesModifier" ] }, //于连打循环段扣除次数 { "AnimatorStateName": "Attack_Normal_05_02_Loop", "LayerIndex": 0, "Target": "Self", "IsLoop": true, "NormalizedTimeLow": 0.0, "NormalizedTimeHigh": 0.5, "ModifierNameList": [ "ReduceLoopTimesModifier" ] } ] }, //根据剩余可循环次数控制是否继续循环 { "$type": "MoleMole.ActionsOnPropertyChangeMixin", "PropertyActions": [ { "PropertyType": "Custom", "CustomPropertyType": "LoopTimes", "IsUsePercentage": false, "ValueRangeActions": [ { "Val": 0, "HighToValueActions": [ { "$type" : "MoleMole.SetAnimCtrlerParamAction", "ParamType" : 2, "ParamName" : "Bool_ContinueLoop", "Target" : "Self", "BoolVal" : false } ] }, { "Val": 0, "ValueToHighActions": [ { "$type" : "MoleMole.SetAnimCtrlerParamAction", "ParamType" : 2, "ParamName" : "Bool_ContinueLoop", "Target" : "Self", "BoolVal" : true } ] } ] } ] } ], "Modifiers" : { "ResetLoopTimesModifier" : { "ModifierStacking" : "Refresh", "Duration" : -1, "IgnoreTimeScale" : true, "OnAdded": [ //重置客制属性剩余循环次数值至2次 { "$type": "MoleMole.ModifyProperty", "Target":"Self", "PropertyType": "Custom", "CustomPropertyType": "LoopTimes", "PropertyModifyFunction": "Replace", "Percentage": 0, "Amount": 3 } ] }, "ReduceLoopTimesModifier" : { "ModifierStacking" : "Refresh", "Duration" : -1, "IgnoreTimeScale" : true, "OnAdded": [ //扣除1次剩余循环次数 { "$type": "MoleMole.ModifyProperty", "Target":"Self", "PropertyType": "Custom", "CustomPropertyType": "LoopTimes", "PropertyModifyFunction": "Add", "Percentage": 0, "Amount": -1 } ] } } }