using System;
using Fort23.Core;
namespace GameLogic.Combat.Skill
{
[Flags]
public enum SkillFeaturesType
{
Null = 0,
// 金
Gold = 1,
// 木
Wood = 2,
// 水
Water = 4,
// 火
Fire = 8,
// 土
Earth = 16,
}
public class SkillFeaturesData : CObject
{
///
/// 防御值
///
public int def;
///
/// 生命值
///
public int hp;
public bool isEnemy;
public SkillFeaturesType SkillFeaturesType;
public int GetRestrained(SkillFeaturesType targetSkillFeaturesType)
{
int c = 0;
if (SkillFeaturesType.HasFlag(SkillFeaturesType.Gold))
{
if (targetSkillFeaturesType.HasFlag(SkillFeaturesType.Wood))
{
c++;
}
}
if (SkillFeaturesType.HasFlag(SkillFeaturesType.Wood))
{
if (targetSkillFeaturesType.HasFlag(SkillFeaturesType.Earth))
{
c++;
}
}
if (SkillFeaturesType.HasFlag(SkillFeaturesType.Water))
{
if (targetSkillFeaturesType.HasFlag(SkillFeaturesType.Fire))
{
c++;
}
}
if (SkillFeaturesType.HasFlag(SkillFeaturesType.Fire))
{
if (targetSkillFeaturesType.HasFlag(SkillFeaturesType.Gold))
{
c++;
}
}
if (SkillFeaturesType.HasFlag(SkillFeaturesType.Earth))
{
if (targetSkillFeaturesType.HasFlag(SkillFeaturesType.Wood))
{
c++;
}
}
return c;
}
public SkillFeaturesData CapyFeaturesData()
{
SkillFeaturesData skillFeaturesData = CObjectPool.Instance.Fetch();
skillFeaturesData.hp = hp;
skillFeaturesData.def = def;
skillFeaturesData.isEnemy = isEnemy;
skillFeaturesData.SkillFeaturesType = SkillFeaturesType;
return skillFeaturesData;
}
public override void ActiveObj()
{
}
public override void DormancyObj()
{
}
}
}