Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / ui / InteractiveTipBar.cs
@小李xl 小李xl on 4 Nov 2022 950 bytes 修复互动ui抖动问题
  1. using Godot;
  2.  
  3. /// <summary>
  4. /// 互动提示文本
  5. /// </summary>
  6. public class InteractiveTipBar : Node2D
  7. {
  8.  
  9. private ActivityObject Target;
  10. private Sprite Icon;
  11.  
  12. private string currImage;
  13.  
  14. public override void _Ready()
  15. {
  16. Icon = GetNode<Sprite>("Icon");
  17. }
  18.  
  19. /// <summary>
  20. /// 隐藏互动提示ui
  21. /// </summary>
  22. public void HideBar()
  23. {
  24. Visible = false;
  25. }
  26.  
  27. /// <summary>
  28. /// 显示互动提示ui
  29. /// </summary>
  30. /// <param name="target">所在坐标</param>
  31. /// <param name="icon">显示图标</param>
  32. /// <param name="message">显示文本</param>
  33. public void ShowBar(ActivityObject target, string icon)
  34. {
  35. Target = target;
  36. GlobalPosition = target.GlobalPosition;
  37. if (currImage != icon)
  38. {
  39. currImage = icon;
  40. Icon.Texture = ResourceManager.Load<Texture>(icon);
  41. }
  42. Visible = true;
  43. }
  44. }