CTT/Server/Model/Game/Entity/Skill/Component/SkillLogic.cs

83 lines
2.3 KiB
C#

using Cal;
using Cal.DataTable;
using System;
using System.Collections.Generic;
namespace ET
{
public class SkillLogic : Entity
{
public int skillId => skillLogicConfig.skillId;
public int skillLevel;
public int skillConfigId => skillLogicConfig.skillId * 100 + skillLevel;
public Unit owner;
public SkillLogicConfig skillLogicConfig;
public SkillConfig skillConfig;
public long lastCDTime;
public float dataX10000 = 1;
public float dataOldX10000 = 1;
/// <summary>
/// 伤害倍数
/// </summary>
public float multipleDamageX10000
{
get
{
AttackComponent attacker = owner.GetComponent<AttackComponent>();
if (attacker == null)
{
Log.ErrorDetail($"attacker == null");
return 1;
}
return attacker.multipleDamageX10000;
}
set
{
AttackComponent attacker = owner.GetComponent<AttackComponent>();
if (attacker == null)
{
Log.ErrorDetail($"attacker == null");
return;
}
if (value < 1) value = 1;
attacker.multipleDamageX10000 = value;
}
}
/// <summary>
/// 释放次数
/// </summary>
public int playAmount
{
get
{
AttackComponent attacker = owner.GetComponent<AttackComponent>();
if (attacker == null)
{
Log.ErrorDetail($"attacker == null");
return 1;
}
return attacker.playAmount;
}
set
{
AttackComponent attacker = owner.GetComponent<AttackComponent>();
if (attacker == null)
{
Log.ErrorDetail($"attacker == null");
return;
}
if (value < 1) value = 1;
attacker.playAmount = value;
}
}
public List<SkillOptionLogicBase> skillOptionLogics = new List<SkillOptionLogicBase>();
}
}