一个通用高自由度技能系统的设计(三) 功能类基类设计
2016-07-22 15:57
489 查看
技能系统功能类分为Comnand,Condition,TargetPicker三个
Command命令类主要进行功能实现
该次实现为Command基类,为以后的命令做扩展
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) { } }
相关文章推荐
- 分布式系统间通信之RPC简单Demo(七)
- 【渗透测试学习平台】 web for pentester -7.文件包含
- sql server nullif的使用技巧,除数为零的处理技巧
- 自动加载缓存框架
- sqoop简单import使用
- ubuntu里面mysql更改编码的问题
- 关于WinNT和WinCE中使用NTP协议
- FacebookSDK接入的那些坑
- Codeforces 278C. Learning Languages
- wifi详解(一)
- 实验案例2-3:整数分解为若干项之和
- Unity3d 之 Survival Shooter 菜鸟教程系列二
- 消息队列和信号量
- 玩转 Linux 之:磁盘分区、挂载知多少?
- Android 吸入动画效果详解
- LINUX环境并发服务器的三种实现模型
- 【转】C#安装包(自动卸载低版本)
- 白岩松给青少年的7个忠告,值得好好阅读~
- 冒泡算法
- 关于container_of和list_for_each_entry 及其相关函数的分析