已实现模块documentation
Closed this issue · 0 comments
spicytomatoes commented
大致描述模块及其接口
Player
PlayerItemBehavior
- 负责管理切换武器以及左键Fire()
- 之后商店买到的道具可以用SetItem(ItemBase item, int index)设置
- 需Editor设置:
- UIHotkeyBar bar
- List barItems (暂时、之后在商城从GameManager设置)
PlayerMoveBehavior
- 管理玩家动画及移动
- 需Editor设置:
- Rigidbody2D rb
- Animator animator
- Transform anchor - Player的第一个孩子(可以考虑直接用FindComponentInChildren)
PlayerTurretBehavior
- 管理玩家捡起和放下塔
- 玩家需要在一定距离内才能捡起塔
- 已实现合法地区检测,见TurretMoveBehavior
- 按E键捡起和放下塔,没实现自动丢塔,塔不占Item空间(原因:防止ItemBar满的情况)
- 需Editor设置:
- GameObject turret
TODO:
- 玩家在范围内有某种视觉提示可以捡塔
Items
ItemBase
- 属性:
- float itemCount
- Transform firePoint 子弹发射点
- Sprite Icon
- 成员函数:
- void Activate() 切换成该Item时调用
- void Deactivate() 切换走时调用
- Sprite getIcon() 返回Icon
- virtual void Fire() 使用item
WeaponBase : ItemBase
- 属性:
- FriendBulletBehavior Bullet
- float cooldownDuration 攻速
- 成员函数:
- Fire() 一定攻速射出子弹
RepairTool : ItemBase
- 修复工具:有一定数量,在靠近塔后左键开始修塔
- 每过一段时间(repairTime)塔以repairRate回血
- 若玩家切换道具或移动则会取消修复
- 塔满血状态下回保持修复状态,但不会消耗道具
TODO:
- 玩家在范围内有某种视觉提示可以修塔
- 把修复移到道具栏外 固定槽 (固定槽可以用来提示是否可以使用,并且按R键修塔,试了用左键修塔有点别扭)
UI
UIHotKeyBar (未完成)
- 目前固定五个槽
- void SetItemIcon(int index, Sprite Icon): 设置图标
- void Activate(int index) 激活该槽会有边框视觉效果
- void Deactivate(int index)
- void SetItemCount(int index, int count): 设置右下角显示剩余数量
TODO:
- void StartCooldDown(float time, int index) 道具冷却视觉效果
- void SetItemCount(int index, int count): 设置右下角显示剩余数量
重叠效果
- RenderBehavior:大致**根据y值设置z值,把这个script放在每个需要重叠的物体上