using Games.LogicObj; using GCGame.Table; using UnityEngine; /// /// 改变模型材质 /// Effect.txt 表格扩展参数说明 /// Param1 :EffectParam.txt中id值 身体材质相关配置 /// Param2 :EffectParam.txt中id值 右武器材质相关配置 /// Param3 :EffectParam.txt中id值 左武器材质相关配置 /// EffectParam.txt 表格扩展参数说明 /// Param1 : 材质名称 /// public class Impact_AddMat : ImpactEffectBase { private Material _addMaterial; public override EffectLogic.EffectType ImpactEffectType { get { return EffectLogic.EffectType.TYPE_ADDMAT; } } 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 && _addMaterial == null) { _addMaterial = CommonUtility.LoadSharedMaterial(param.GetParamValuebyIndex(0)); objCharacter.AddMaterial(_addMaterial, BodyToModelPart(bodyPart)); } } } public override void StopEffect() { base.StopEffect(); if (_addMaterial != null) objCharacter.RemoveAddMaterial(_addMaterial, BodyToModelPart(bodyPart)); } }