//Entity和Render的visible控制测试脚本

{

	"AbilityName" : "TestPlayer_Ability_KVL_01",

	"AbilityStacking": "Unique",



	 "AbilityMixins": [

        {

            "$type": "MoleMole.AttachStateWithModifierMixin",

            "ConfigList": [

                {

                    "AnimatorStateName": "Attack_Normal_01",

                    "LayerIndex": 0,

                    "NormalizedTimeLow": 0.0,

                    "NormalizedTimeHigh": 1.0,

                    "ModifierNameList": [

                        "HideEntityModifier"

                    ]

                },

                {

                    "AnimatorStateName": "Attack_Normal_02",

                    "LayerIndex": 0,

                    "NormalizedTimeLow": 0.5,

                    "NormalizedTimeHigh": 1.0,

                    "ModifierNameList": [

                        "HideRenderModifier"

                    ]

                },

                {

                    "AnimatorStateName": "Attack_Normal_03",

                    "LayerIndex": 0,

                    "NormalizedTimeLow": 0.0,

                    "NormalizedTimeHigh": 0.5,

                    "ModifierNameList": [

                        "HideRenderModifier"

                    ]

                },

                //若Action和Zone同时作用于同一个render，则Action的优先级更高，Action执行后再执行Zone的结果

                {

                    "AnimatorStateName": "Idle",

                    "LayerIndex": 0,

                    "NormalizedTimeLow": 0.3,

                    "NormalizedTimeHigh": 0.8,

                    "ModifierNameList": [

                        "ShowRenderModifier"

                    ]

                }

            ]

        }

    ],



	"Modifiers" : 

	{

		"HideEntityModifier" : 

		{	

			"ModifierStacking" : "Unique",

			"Duration" : -1,

			"IgnoreTimeScale" : false,

			"OnAdded" : 

			[

			//整体隐藏：tag作用为标记，同一tag最多被push1次，无tag则使用几次action，则push几次，相对的，想解除此效果就需要pop几次

			{

				"$type" : "MoleMole.PushEntityVisibleWithTagAction",

				"Visible" : false,

				"Tag" : "Unagi"

			}

			],

			"OnRemoved" : 

			[

			//pop掉之前setvisible的entity，使之恢复 默认的 可见/隐藏状态，或正在生效中的zone所设置的状态

			{

				"$type" : "MoleMole.PopEntityVisibleWithTagAction",

				"Tag" : "Unagi"

			}

			]

		},



		"HideRenderModifier" : 

		{	

			"ModifierStacking" : "Unique",

			"Duration" : -1,

			"IgnoreTimeScale" : false,

			"OnAdded" : 

			[

			//局部隐藏；tag作用为标记，同一tag最多被push1次，无tag则使用几次action，push几次

			{

				"$type" : "MoleMole.PushRenderVisibleAction",

				"Path" : "Unagi_Weapon03",

				"Visible" : true,

				"Tag" : "MagicBladeShow"

			},

			{

				"$type" : "MoleMole.PushRenderVisibleAction",

				"Path" : "Unagi_Weapon02",

				"Visible" : false,

				"Tag" : "BladeHide"

			}

			],

			"OnRemoved" : 

			[

			//pop掉之前setvisible的render，使之恢复 默认的 可见/隐藏状态，或正在生效中的zone所设置的状态

			{

				"$type" : "MoleMole.PopRenderVisibleAction",

				"Path" : "Unagi_Weapon03",

				"Tag" : "MagicBladeShow"

			},

			{

				"$type" : "MoleMole.PopRenderVisibleAction",

				"Path" : "Unagi_Weapon02",

				"Tag" : "BladeHide"

			}

			]

		},



		"ShowRenderModifier" : 

		{	

			"ModifierStacking" : "Unique",

			"Duration" : -1,

			"IgnoreTimeScale" : false,

			"OnAdded" : 

			[

			//若对同一render进行visible控制，则需要用tag进行标识，来进行push和pop

			{

				"$type" : "MoleMole.PushRenderVisibleAction",

				"Path" : "Unagi_Weapon03",

				"Visible" : false,

				"Tag" : "MagicBladeHide"

			},

			{

				"$type" : "MoleMole.PushRenderVisibleAction",

				"Path" : "Unagi_Weapon02",

				"Visible" : true,

				"Tag" : "BladeShow"

			}

			],

			"OnRemoved" : 

			[

			//pop掉之前setvisible的render，使之恢复 默认的 可见/隐藏状态，或正在生效中的zone所设置的状态

			{

				"$type" : "MoleMole.PopRenderVisibleAction",

				"Path" : "Unagi_Weapon03",

				"Tag" : "MagicBladeHide"

			},

			{

				"$type" : "MoleMole.PopRenderVisibleAction",

				"Path" : "Unagi_Weapon02",

				"Tag" : "BladeShow"

			}

			]

		}



	}

}