概述
- 战术扩展包
- 包含了 13 个战术相关的 Tasks
- 支持的寻路方案:Unity NavMesh(默认)、A* Pathfinding Project
- 使用接口 interface 实现,因此你可以实现自己的攻击和伤害逻辑
每个 task 都有详细的描述,功能通用简洁,可以很容易地融入你的项目
包含 Tasks
攻击 Attack
- 冲锋 Charge
- 移动射击 Marching Fire
- 侧击 Flank
- 伏击 Ambush
- 打了就跑 Shoot and Scoot
- 蛙跳战略 Leapfrog
- 包围 Surround
- 防御 Defend
- 坚守 Hold
- 撤退 Retreat
- 请求增员 Request Reinforcements
-
面向接口设计
在不同的项目中,攻击行为是不同的,比如拳击、开枪、扔手雷等。因此该扩展包是面向接口设计的,为了尽可能通用。本扩展包提供了两个接口:
IAttackAgent
- IDamagable
示例项目就是对这两个接口的一种实现。
IAttackAgent 提供了以下可实现方法:
// 获取 agent 能够攻击的最远距离
float AttackDistance();
// agent 能否攻击
bool CanAttack();
// 获取 agent 能够攻击的最大角度
float AttackAngle();
// 执行攻击
void Attack(Vector3 targetPosition);
Idamagable 提供了以下可实现方法:
// 伤害值
void Damage(float amout);
// 当前对象是否还活着
bool IsAlive();