您的位置:首页 > 其它

一个通用高自由度技能系统的设计(三) 功能类基类设计

2016-07-22 15:57 489 查看
技能系统功能类分为Comnand,Condition,TargetPicker三个

Command命令类主要进行功能实现

该次实现为Command基类,为以后的命令做扩展

public class Command
{
protected CommandData m_CommandData;

public Command()
{
}

public Command(CommandData data)
{
m_CommandData = data;
}

public virtual void Execute(CommandTrigger trigger, Object arg)
{
}

public virtual Reset()
{
}

public virtual Prepare(CommandTrigger trigger)
{
}
}


Condition为条件判断类,对各种情况进行条件判断

public class Condition
{
protected ConditionData m_ConditionData;

public Condition()
{
}

public Condition(ConditionData data)
{
m_ConditionData = data;
}

public virtual bool Check(CommandTrigger trigger, Object arg)
{
}

public virtual Prepare(CommandTrigger trigger)
{
}
}


TargetPicker为目标选择类,对触发器触发时需要的目标进行选择
public class TargetPicker
{
protected TargetPickerData m_TargetPickerData;
protected List<Entity> mPicked = new List<Entity>();
public TargetPicker()
{
}

public TargetPicker(TargetPickerData data)
{
m_TargetPickerData = data;
}

public List<Entity> GetPicked()
{
return mPicked;
}

public virtual List<Entity> Pick(CommandTrigger trigger, Object arg)
{
return mPicked;
}

public virtual Prepare(CommandTrigger trigger)
{
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: