35 lines
1.2 KiB
C#
35 lines
1.2 KiB
C#
|
|
using Games.LogicObj;
|
|||
|
|
using Module.Log;
|
|||
|
|
using UnityEngine;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 改变模型Shader
|
|||
|
|
/// Effect.txt 表格扩展参数说明
|
|||
|
|
/// Param1 :EffectParam.txt中id值 身体Shader相关配置
|
|||
|
|
/// Param2 :EffectParam.txt中id值 右武器Shader相关配置
|
|||
|
|
/// Param3 :EffectParam.txt中id值 左武器Shader相关配置
|
|||
|
|
/// Param4 :EffectParam.txt中id值 预留参数
|
|||
|
|
/// EffectParam.txt 表格扩展参数说明
|
|||
|
|
/// Param1 : Shader路径
|
|||
|
|
/// Param2 : 材质属性 (对应EffectParam ID),生成ChangeMatPro
|
|||
|
|
/// </summary>
|
|||
|
|
public class Impact_ChangeModelShader : Impact_ChangeModelMaterialBase
|
|||
|
|
{
|
|||
|
|
public override EffectLogic.EffectType ImpactEffectType
|
|||
|
|
{
|
|||
|
|
get { return EffectLogic.EffectType.TYPE_CHANGESHADER; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
protected override int AddMod(string assetName, int modelPart)
|
|||
|
|
{
|
|||
|
|
var shader = Shader.Find(assetName);
|
|||
|
|
if (shader == null)
|
|||
|
|
LogModule.ErrorLog(string.Format("无法获得名称为{0}的Shader!", assetName));
|
|||
|
|
return objCharacter.CreateShaderMod(0, shader, BodyToModelPart(bodyPart));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
protected override void RemoveMod(int token, int modelPart)
|
|||
|
|
{
|
|||
|
|
objCharacter.RemoveShaderMod(token, BodyToModelPart(bodyPart));
|
|||
|
|
}
|
|||
|
|
}
|