商店 | 官网 | 文档
image.png

概述

  • 战术扩展包
  • 包含了 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
  • 增员回应 Reinforcements Response

    面向接口设计

    在不同的项目中,攻击行为是不同的,比如拳击、开枪、扔手雷等。因此该扩展包是面向接口设计的,为了尽可能通用。本扩展包提供了两个接口:

  • IAttackAgent

  • IDamagable

示例项目就是对这两个接口的一种实现。

IAttackAgent 提供了以下可实现方法:

  1. // 获取 agent 能够攻击的最远距离
  2. float AttackDistance();
  3. // agent 能否攻击
  4. bool CanAttack();
  5. // 获取 agent 能够攻击的最大角度
  6. float AttackAngle();
  7. // 执行攻击
  8. void Attack(Vector3 targetPosition);

Idamagable 提供了以下可实现方法:

  1. // 伤害值
  2. void Damage(float amout);
  3. // 当前对象是否还活着
  4. bool IsAlive();