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));
|
||
}
|
||
} |