using GCGame.Table; using UnityEngine; /// <summary> /// 模型材质属性相关修改 /// Effect.txt 表格扩展参数说明 /// Param1 :EffectParam.txt中id值 身体材质属性相关配置 /// Param2 :EffectParam.txt中id值 右武器材质属性相关配置 /// Param3 :EffectParam.txt中id值 左武器材质属性相关配置 /// Param4 :EffectParam.txt中id值 预留参数 /// /// EffectParams 参考ChangeMatPro /// </summary> public class Impact_ModeMatPro : ImpactEffectBase { private ChangeMatPro _materialPropertyMod; public override EffectLogic.EffectType ImpactEffectType { get { return EffectLogic.EffectType.TYPE_CHANGMATPRO; } } public override void StartEffect() { base.StartEffect(); if (objCharacter != null && Data != null) { var paramid = Data.GetParamValuebyIndex(bodyPart); var param = TableManager.GetEffectParamByID(paramid, 0); if (param != null && _materialPropertyMod == null) { _materialPropertyMod = new ChangeMatPro(objCharacter, BodyToModelPart(bodyPart), param); _materialPropertyMod.Start(param, Data.Duration); } } } public override void StopEffect() { base.StopEffect(); if (_materialPropertyMod != null) _materialPropertyMod.StopEffect(); } protected override void UpdateInherited() { if (_materialPropertyMod != null) _materialPropertyMod.OnUpdate(); } }