Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / buff / EffectFragment.cs
@小李xl 小李xl on 20 Mar 2024 960 bytes 优化“红外遥控器”道具效果
  1.  
  2. /// <summary>
  3. /// 主动道具使用效果基类
  4. /// </summary>
  5. public abstract class EffectFragment : PropFragment
  6. {
  7. /// <summary>
  8. /// 当前组件所挂载的游戏对象
  9. /// </summary>
  10. public new ActiveProp Master => (ActiveProp)base.Master;
  11.  
  12. /// <summary>
  13. /// 当检测是否可以使用时调用
  14. /// </summary>
  15. public virtual bool OnCheckUse()
  16. {
  17. return true;
  18. }
  19. /// <summary>
  20. /// 使用道具的回调
  21. /// </summary>
  22. public abstract void OnUse();
  23.  
  24. /// <summary>
  25. /// 道具持续时间完成时调用
  26. /// </summary>
  27. public virtual void OnUsingFinish()
  28. {
  29. }
  30. public override void OnPickUpItem()
  31. {
  32. }
  33.  
  34. public override void OnRemoveItem()
  35. {
  36. }
  37.  
  38. /// <summary>
  39. /// 返回是否正在使用当前道具
  40. /// </summary>
  41. public bool IsActive()
  42. {
  43. return Role != null && Role.ActivePropsPack.ActiveItem == Master;
  44. }
  45. }