using UnityEngine;
using System.Collections;
namespace YLBattle
{
///
///
///
public class SkillAdapter : ISkillAdapter
{
///
/// 获取子弹属性
///
///
///
///
public object GetBulletProperty(string tid, EBulletProperty property)
{
//var tle = BulletProxy.Instance.GetBulletPropertyById(tid);
var tle = GameConfigData.Ins.GetbulletMo(tid);
if (null == tle)
{
//UnityEngine.Debug.LogError("无法查找到指定【子弹】模板数据, id:" + tid);
return 0;
}
switch (property)
{
case EBulletProperty.EBULLET_PROPERTY_AUDIO:
return tle.shootSound + "," + tle.sendingSound + "," + tle.bomSound;
case EBulletProperty.EBULLET_PROPERTY_TRAJECTTYPE:
return tle.tracktype;
case EBulletProperty.EBULLET_PROPERTY_BOMBDELAY:
return tle.bombdelay;
case EBulletProperty.EBULLET_PROPERTY_SHAKE:
return tle.shake;
case EBulletProperty.EBULLET_PROPERTY_DRAG:
return tle.drag;
case EBulletProperty.EBULLET_PROPERTY_RUNTIME:
return tle.runtime;
}
return null;
}
///
/// 获取技能属性数据
///
///
///
///
public string GetSkillProperty(string _tid, ESkillProperty _type, int level = 1)
{
if (_tid == string.Empty)
{
return string.Empty;
}
//var skill = SkillProxy.Instance.GetSkillInfoById(_tid);
var skill = GameConfigData.Ins.GetskillMo(int.Parse(_tid));
if (null == skill)
{
LogHelper.LogError("无法查找到指定【技能】模板数据, id:" + _tid);
return "";
}
switch (_type)
{
case ESkillProperty.ESKILL_PROPERTY_DESC:
return skill.desc;
case ESkillProperty.ESKILL_PROPERTY_BOMBTIME:
/**
* 临时为2秒,待技能修改后填入实际数据
*/
return skill.delayTime.ToString();
case ESkillProperty.ESKILL_PROPERTY_REDRES:
//资源
return skill.redres;
case ESkillProperty.ESKILL_PROPERTY_BLUERES:
//资源
return skill.blueres;
case ESkillProperty.ESKILL_PROPERTY_SECTION:
//动作
return skill.section.ToString();
case ESkillProperty.ESKILL_PROPERTY_ACTION:
//动作
return skill.action.ToString();
case ESkillProperty.ESKILL_PROPERTY_SKILLTYPE:
//技能类型 1= 普攻 2=技能
return skill.type.ToString();
case ESkillProperty.ESKILL_PROPERTY_AIM:
//瞄准
return skill.aim.ToString();
case ESkillProperty.ESKILL_PROPERTY_AIMPARM:
//瞄准参数
return skill.aimparm.ToString();
case ESkillProperty.ESKILL_PROPERTY_parmValue:
{
//伤害点值(针对技能)
//string valumnValue = skill.parmValue;
//if (valumnValue.IndexOf("/") != -1)
//{
// string[] valueAry = valumnValue.Split('/');
// if (valueAry.Length >= level)
// {
// return valueAry[level - 1];
// }
// else
// {
// return valueAry[valueAry.Length - 1];
// }
//}
return skill.GetParamValue(level).ToString();
}
case ESkillProperty.ESKILL_PROPERTY_proType:
//影响的属性类型(ID)
return skill.ProType.ToString();
case ESkillProperty.ESKILL_PROPERTY_proValue:
{//伤害点值(针对技能)
string valumnValue = skill.ProValue;
if (valumnValue.IndexOf("/") != -1)
{
string[] valueAry = valumnValue.Split('/');
if (valueAry.Length >= level)
{
return valueAry[level - 1];
}
else
{
return valueAry[valueAry.Length - 1];
}
}
return valumnValue;
}
case ESkillProperty.ESKILL_PROPERTY_BuffLst:
return skill.BuffLst;
}
return string.Empty;
}
}
}